 VRECVE

      Routine to receive packets via
      SEND/RECEIVE or SEND/RECEIVE BY REFERENCE
      NOTE: Reference packets have prioraty over normal packets

        In order to use the routine specify the following in the
        TKB commandfile:

        - GBLPAT=modulename:$RREF:0     If no Receive by reference
                                        packets are used

     Only if receive by reference is wanted (patch above is not done)
     specify:

        - GBLPAT=modulename:$VRAPR:n    To specify APR to be used for mapping
                                        (default APR 7 is used)

        - WNDWS=1                       Window when not already spec.
        - WNDWS=n+1                     Extra window when already spec.

  Fortran     CALL   VRECVE(BUFFER,IBUFL,[PARM],[ITMO],[IDTLEN],[TSKNAM],IDS)

         BUFFER = Buffer that receives data
         IBFLEN = Length of buffer
         PARM   = Parameter word
	 ITMO   = Time-out count in seconds.
	          Routine returns to caller when stop option is chosen
                  (VR.STP) and no data is received within the specified time
         IDTLEN = Integer to receive the actual received bytecount
         TSKNAM = 4 byte variable (or Real*4) to receive RAD50 sender
                  taskname
         IDS    = Integer to receive the directive status word

  Macro         MOV     #BUFFER,R1      ; Buffer that receives data
                MOV     #BUFLEN,R2      ; Length of buffer
                MOV     #<parameters>,R3; Parameters
		MOV	#TMO,R4		; Time-out count in seconds
	          			; Routine returns to caller when stop
					;  option is chosen (VR.STP) and no 
					;  data is received within the 
					;  specified time
                CALL    $VRECVE

        R1            = Bufferaddress
        R2            = Contains the actual received bytecount
        $SENTS        = 2 word RAD50 sender taskname
        $DSW          = Status code
        carry bit set = Error

        Other registers are preserved

   Parameters:  VR.STP  1       : Receive data or stop (AST processing)
                VR.EXT  2       : Receive data or exit
                VR.RET  4       : Receive data or return
                VR.NOR  10      : Receive normal data 
                VR.REF  20      : Receive reference data 
                VR.ALL  30      : Receive all data 

        Default VR.STP!VR.ALL

   Errors  :  IS.SUC -- Succesful operation
              IE.RBS -- Receivebuffer too small
              IE.ITS -- No data queued
              IE.WOV -- Address window overflow (no extrawindow specified)
              IE.ALG -- Invallid APR
