Unlock the receive buffer (of a RUM task) or change to a new
receive buffer and receive actions.
status.i2.v = NTRREQ( [reqadr.i2a.r],[maxlen.i2.r],[efn.i1.r],
status.i2.v = NET_RECEIVE_REQUEST( [reqadr.i2a.r],[maxlen.i2.r],
reqadr the new receive buffer. If defaulted, the address of
old receive buffer is retained as user must have
specified a buffer to receive replies. In either
case, the receive buffer is unlocked.
maxlen word containing the new receive buffer size in words.
If defaulted, then the size of the receive buffer
is unchanged (the old size is retained).
efn byte giving the number of an event flag to be set when
a request or USM reply is received. If explicitly
defaulted, event flag 0 is used (on the VAX); implicit
defaulting (by a short argument list) leaves the event
event flag number unchanged.
astadr address of user's request AST routine. If explicitly
defaulted, no user request AST will be invoked; implicit
defaulting leaves the request AST address unchanged.
status returns ACNET Global Status (sign-extended to 32-bits):
=0 for complete success
>0 for conditional success and pending
<0 for error condition
The error codes returned are:
-02 = local system out of space: no dynamic memory to
declare network AST, no free control blocks, or
no space in RUM task list.
-21 = not connected to network
-22 = insufficient number of arguments
-23 = invalid message length: no buffer specified when
doing a RUM-connect (first call).
-25 = illegal event flag
-27 = name already in use by another RUM task
-43 = system service error: no network process
-44 = nontranslatable error: no XSC block
-45 = internal network error
-46 = network error #1: AST quota exceeded when trying
to declare network AST
-47 = network error #2: not owner of reply control block
-48 = network error #3:
- RUM Connect Block is already locked for modifications
- control block vector already in use (only on 1st call)