VMS Help
System Services, $IO PERFORM (Alpha and Integrity servers)
*Conan The Librarian
|
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);
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.