request_id
OpenVMS usage:address
type: longword (unsigned)
access: read only
mechanism: by reference
Request identifier value supplied by the symbiont when it calls
your input routine. The request_id argument is the address of a
longword containing this request identifier value.
If your input routine initiates an asynchronous operation (for
example, a call to the $QIO system service), your input routine
must copy the request identifier value specified by request_
id because this value must later be passed to the PSM$REPORT
routine. See the description of the PSM$REPORT routine for more
information.
work_area
OpenVMS usage:address
type: longword (unsigned)
access: write only
mechanism: by reference
Work area supplied by the symbiont for the use of your input
routine. The symbiont supplies the address of this area when it
calls your routine. The work_area argument is a longword into
which the symbiont writes the address of the work area. The work
area is a section of memory that your input routine can use for
buffering and for other internal operations.
The size of the work area allocated is specified by the work_size
argument in the PSM$PRINT routine. If you do not specify work_
size in the call to PSM$PRINT, no work area is allocated.
In a multithreaded symbiont, a separate work area is allocated
for each thread. This work area is shared by all user routines.
The work area is initialized to zero when the symbiont is first
started.
func
OpenVMS usage:function_code
type: longword (unsigned)
access: read only
mechanism: by reference
Function code supplied by the symbiont when it calls your
input routine. The func argument is the address of a longword
containing this code.
The function code specifies the reason the symbiont is calling
your input routine or, in other words, the function that the
symbiont expects your routine to perform at this time.
Most function codes require or allow additional information
to be passed in the call by means of the funcdesc and funcarg
arguments. The description of each input function code,
therefore, includes a description of how these two arguments
are used with that function code.
Following is a list of all the function codes that the symbiont
can specify when it calls your input routine (function codes
applicable only to format and output routines are explained in
the descriptions of the USER-FORMAT-ROUTINE and USER-OUTPUT-
ROUTINE, respectively); all function codes are defined by the
$PSMDEF macro.