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.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.