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 output routine. The request_id argument is the address of a longword containing this value. If your output routine initiates an asynchronous operation (for example, a call to the $QIO system service), you must save the request_id argument because you will need to store the request identifier value for later use with 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 format routine. The symbiont supplies the address of this area when it calls your routine. The work_area argument is a longword containing the address of the work area. The work area is a section of memory that your format routine can use for buffering and 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 output routine. The func argument is the address of a longword containing this code. The function code specifies the reason the symbiont is calling your output 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 via the funcdesc and funcarg arguments. The description of each output function code, therefore, includes a description of how these two arguments are used for that function code. The following list describes all the function codes that the symbiont might supply when it calls your output routine (function codes applicable only to input and formatting routines are explained in the descriptions of the user input routine and user formatting routine, respectively). Each programming language provides an appropriate mechanism for defining these function codes.