request_id
OpenVMS usage:address
type: longword (unsigned)
access: read only
mechanism: by reference
Request identifier supplied by the symbiont to the user routine
at the time the symbiont called the user routine with the service
request. The user routine must return the completion status PSM$_
PENDING on the call for this service request. The request_id
argument is the address of a longword containing the request
identifier value.
The symbiont calls the user routine with a request code that
specifies the function that the symbiont expects the user
routine to perform. In the call, the symbiont also supplies a
request identifier, which serves to identify the request. If the
user routine initiates an asynchronous operation, a mechanism
is required for notifying the symbiont that the asynchronous
operation has completed and for providing the completion status
of the operation.
The PSM$REPORT routine conveys the above two pieces of
information. In addition, PSM$REPORT returns to the symbiont
(in the request_id argument) the same request identifier value
as that supplied by the symbiont to the user routine that
initiated the operation. In this way, the symbiont synchronizes
the completion status of an asynchronous operation with that
invocation of the user routine that initiated the operation.
Any user routine that initiates an asynchronous operation must,
therefore, copy the request identifier value that the symbiont
supplies (in the request_id argument) when it calls the user
routine. The user routine will later need to supply this value to
PSM$REPORT.
In addition, when the user routine returns, which it does before
the asynchronous operation has completed, the user routine must
return the status PSM$_PENDING.
status
OpenVMS usage:cond_value
type: longword (unsigned)
access: read only
mechanism: by reference
Completion status of the asynchronous operation that has
completed. The status argument is the address of a longword
containing this completion status. The status argument is
optional; if it is not specified, the symbiont assumes the
completion status SS$_NORMAL.
The user routine that initiates the asynchronous operation must
test for the completion of the operation and must supply the
operation's completion status as the status argument to the
PSM$REPORT routine. The Description help topic describes this
procedure in greater detail.
If the completion status specified by status has the low bit
clear, the symbiont aborts the task.