efn OpenVMS usage:ef_number type: longword (unsigned) access: read only mechanism: by value Event flag that $QIO sets when the I/O operation completes. The efn argument is a longword value containing the number of the event flag; however, $QIO uses only the low-order byte. If efn is not specified, event flag 0 is set. The specified event flag is set if the service terminates without queuing an I/O request. chan OpenVMS usage:channel type: word (unsigned) access: read only mechanism: by value I/O channel that is assigned to the device to which the request is directed. The chan argument is a word value containing the number of the I/O channel. func OpenVMS usage:function_code type: longword (unsigned) access: read only mechanism: by value Function codes and function modifiers specifying the operation to be performed. The func argument is a longword containing the function code. For information about the network pseudodevice and TELNET device function codes and modifiers, see Network Pseudodevice Driver Functions and TELNET Port Driver I/O Function Codes. iosb OpenVMS usage:io_status_block type: quadword (unsigned) access: write only mechanism: (Alpha and I64) by 32-bit reference or 64-bit reference (VAX) by 32-bit reference I/O status block to receive the final completion status of the I/O operation. The iosb is the address of the quadword I/O status block. When the $QIO begins executing, it clears the event flag. The $QIO also clears the quadword I/O status block if the iosb argument is specified. Although the iosb argument is optional, HP strongly recommends that you specify it, for the following reasons: o If you are using an event flag to signal the completion of the service, you can test the I/O status block for a condition value to be sure that the event flag was not set by an event other than service completion. o If you are using the $SYNCH service to synchronize completion of the service, the I/O status block is a required argument for $SYNCH. o The condition value returned in R0 and the condition value returned in the I/O status block provide information about different aspects of the call to the $QIO service. The condition value returned in R0 provides information about the success or failure of the service call itself; the condition values returned in the I/O status block give information on the success or failure of the service operation. Therefore, to determine the success or failure of the $QIO call, check the condition values returned in both the R0 and the I/O status block. astadr OpenVMS usage:ast_procedure type: procedure value access: call without stack unwinding mechanism: (Alpha and I64) by 32- or 64-bit reference (VAX) by 32-bit reference AST service routine to be executed when the I/O completes. The astadr argument is the address of the AST routine. The AST routine executes at the access mode of the caller of $QIO. astprm OpenVMS usage:user_arg type: quadword unsigned (Alpha and I64); longword unsigned (VAX) access: read only mechanism: (Alpha and I64) by 32- or 64-bit value (VAX) by 32-bit value AST parameter to be passed to the AST service routine. On Alpha and I64 systems, the astprm argument is a quadword value containing the AST parameter. On VAX systems, the astprm argument is a longword value containing the AST parameter. p1 to p6 OpenVMS usage:varying_arg type: quadword unsigned (Alpha and I64); longword unsigned (VAX) access: read only mechanism: (Alpha and I64) by 32- or 64-bit reference or by 64-bit value depending on the I/O function (VAX) by 32-bit reference or by 32-bit value depending on the I/O function Optional device- and function-specific I/O request arguments. The parameter values contained in these arguments vary according to the function for which they are used. See Network Pseudodevice Driver Functions for descriptions of the network pseudodevice driver I/O function codes.