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.