VMS Help
System Services, $QIO
*Conan The Librarian
|
Queues an I/O request to a channel associated with a device. This
service completes asynchronously; for synchronous completion, use
the Queue I/O Request and Wait ($QIOW) service.
Format
SYS$QIO [efn] ,chan ,func ,[iosb] ,[astadr] ,[astprm] ,[p1]
,[p2] ,[p3] ,[p4] ,[p5] ,[p6]
C Prototype
int sys$qio (unsigned int efn, unsigned short int chan,
unsigned int func, struct _iosb *iosb, void
(*astadr)(__unknown_params), __int64 astprm, void
*p1, __int64 p2, __int64 p3, __int64 p4, __int64
p5, __int64 p6);
efn
OpenVMS usage:ef_number
type: longword (unsigned)
access: read only
mechanism: by value
Event flag that $QIO is to set 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.
chan
OpenVMS usage:channel
type: word (unsigned)
access: read only
mechanism: by value
I/O channel 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; however, $QIO uses only the low-order word.
Specifying an invalid value for the chan argument will result in
either SS$_IVCHAN or SS$_IVIDENT being returned.
func
OpenVMS usage:function_code
type: longword (unsigned)
access: read only
mechanism: by value
Device-specific function codes and function modifiers specifying
the operation to be performed. The func argument is a longword
containing the function code.
iosb
OpenVMS usage:io_status_block
type: quadword (unsigned)
access: write only
mechanism: by 32- or 64-bit reference (Alpha and Integrity
servers)
I/O status block to receive the final completion status of the
I/O operation. The iosb argument is the address of the quadword
I/O status block.
astadr
OpenVMS usage:ast_procedure
type: procedure value
access: call without stack unwinding
mechanism: by 32- or 64-bit reference (Alpha and Integrity
servers)
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 Integrity servers)
access: read only
mechanism: by 64-bit value (Alpha and Integrity servers)
AST parameter to be passed to the AST service routine. On Alpha
and Integrity server systems, the astprm argument is a quadword
value containing the AST parameter.
p1 to p6
OpenVMS usage:varying_arg
type: quadword (unsigned) (Alpha and Integrity servers)
access: read only
mechanism: by 32- or 64-bit reference or by 64-bit value,
depending on the I/O function (Alpha and Integrity
servers)
Optional device-specific and function-specific I/O request
parameters.