VMS Help  —  System Services, $QIO
    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);

1  –  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:         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.
Close Help