VMS Help System Services, $QIO *Conan The Librarian (sorry for the slow response - running on an old VAX) |
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); Arguments 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: longword (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 longword 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) mechanism: by 32-bit reference (VAX) 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) mechanism: by 32-bit reference (VAX) 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); longword unsigned (VAX) access: read only mechanism: by 64-bit value (Alpha) mechanism: by 32-bit value (VAX) AST parameter to be passed to the AST service routine. On Alpha 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); longword unsigned (VAX) access: read only mechanism: by 32- or 64-bit reference or by 64-bit value depending on the I/O function (Alpha) mechanism: by 32-bit reference or by 32-bit value depending on the I/O function (VAX) Optional device-specific and function-specific I/O request parameters.
|