VMS Help
System Services, $IO SETUP (Alpha Only)
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
On Alpha systems, allocates resources for Fast I/O.
This service accepts 64-bit addresses.
Format
SYS$IO_SETUP func ,bufobj ,iosobj ,astadr ,flags
,return_fandle
C Prototype
int sys$io_setup (unsigned int func, struct _generic_64
*bufobj, struct _generic_64 *iosobj, void
(*astadr)(struct _iosa *), unsigned int
flags, unsigned __int64 *return_fandle);
func
OpenVMS usage:function_code
type: longword
access: read only
mechanism: by value
I/O function code. Must be one of the following:
o IO$_READVBLK
o IO$_WRITEVBLK
o IO$_READLBLK
o IO$_WRITELBLK
Various function modifiers are supported, depending on the
device and driver. Disk drivers support IO$M_NOVCACHE and
IO$M_DATACHECK. Some tape devices support IO$M_REVERSE. Illegal
modifiers are detected by the $IO_PERFORM(W) service.
bufobj
OpenVMS usage:buffer object
type: quadword (unsigned)
access: read only
mechanism: by 32- or 64-bit reference
Handle describing the buffer object that contains the user's
buffer. This identifier cannot be 0.
iosobj
OpenVMS usage:object handle
type: vector longword (unsigned)
access: read only
mechanism: by 32- or 64-bit reference
Buffer object handle describing the buffer object that contains
the I/O Status Area (IOSA). This might or might not be the same
identifier as the bufobj argument. This identifier cannot be 0.
astadr
OpenVMS usage:ast_procedure
type: procedure value
access: read only
mechanism: by 32- or 64-bit reference
Completion AST routine address (0, if none). There is no
AST parameter argument. When the AST routine is called, the AST
parameter will be the address of the IOSA for the operation.
Applications can store data in the IOSA at offset IOSA$IH_
CONTEXT.
flags
OpenVMS usage:mask_longword
type: 64-bit integer (unsigned)
access: read only
mechanism: by value
Flag mask. The flags argument is a bit vector in which each bit
corresponds to a flag. Flags are defined in the module IOSADEF.
The following table describes the flags that are valid for the
$IO_SETUP service:
Flag Description
FIO$M_ This is a high priority I/O; that is, it is
EXPEDITE to be given preferential treatment by the I/O
subsystem. Use of this bit requires ALTPRI or
PHY_IO privilege.
FIO$M_AST_ The AST procedure does not use, or call any
NOFLOAT procedure that uses, any floating-point
registers. This is a performance option. If
set, AST delivery will neither save nor restore
floating-point registers. Caution: Use of
floating-point registers when FIO$M_AST_NOFLOAT
has been specified can cause unpredictable,
difficult to detect, error conditions.
All other bits in the flags argument are reserved for future use
by Compaq and should be specified as 0.
return_fandle
OpenVMS usage:fandle
type: 64-bit integer (unsigned)
access: write only
mechanism: by 32- or 64-bit reference
Address of an aligned quadword to receive the fandle for this I/O
operation.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.