VMS Help  —  System Services, $IO PERFORM (Alpha and Integrity servers)
    On Alpha and Integrity server systems, starts the Fast I/O
    operation. The $IO_PERFORM service completes asynchronously.
    For synchronous completion, use the Perform Fast I/O and Wait
    ($IO_PERFORMW) service.

    This service accepts 64-bit addresses.

    Format

      SYS$IO_PERFORM  fandle ,chan ,iosadr ,bufadr ,buflen ,devdata

    C Prototype

      int sys$io_perform  (unsigned __int64 fandl, unsigned short int

                          chan, struct _iosa *iosadr, void *bufadr,

                          unsigned __int64 buflen, unsigned __int64

                          devdata);

1  –  Arguments

 fandle

    OpenVMS usage:fandle
    type:         64-bit integer (unsigned)
    access:       read only
    mechanism:    by value
    A fandle returned by a previous call to $IO_SETUP.

 chan

    OpenVMS usage:channel
    type:         word (unsigned)
    access:       read
    mechanism:    by value
    Software I/O channel number.

 iosadr

    OpenVMS usage:address
    type:         address
    access:       read only
    mechanism:    by value
    Address of the I/O Status Area (IOSA). This value cannot be 0;
    that is, an IOSA is required. The iosadr must be aligned to a
    quadword boundary.

 bufadr

    OpenVMS usage:char_string
    type:         address
    access:       read only
    mechanism:    by value
    The process buffer address. Must be aligned on a 512-byte
    boundary.

 buflen

    OpenVMS usage:byte count
    type:         64-bit integer
    access:       read only
    mechanism:    by value
    The byte count for the I/O. The buflen argument must be a
    multiple of 512 bytes. Drivers have further limitations on the
    maximum size of an I/O request.

 devdata

    OpenVMS usage:address
    type:         pointer or integer
    access:       read only
    mechanism:    by value
    A hardware integer passed unchanged to the driver. For disk
    devices, this is the media address for the transfer; that is,
    the virtual block number (VBN) for virtual I/O functions or
    the logical block number (LBN) for logical I/O functions. This
    argument is ignored for tape devices.

    For drivers with complex parameters, devdata would be the address
    of a descriptor or buffer specific to the device and function and
    would be documented with the driver.
Close Help