VMS Help
System Services, $SET DEVICE
*Conan The Librarian
|
Modifies the characteristics of a device or the paths used to
access that device.
For synchronous completion, use the Set Device Characteristics
and Wait ($SET_DEVICEW) service. The $SET_DEVICEW service is
identical to the $SET_DEVICE service, except that $SET_DEVICEW
returns to the caller only after the requested action has taken
effect.
For additional information about system service completion, see
the Synchronize ($SYNCH) service.
Format
SYS$SET_DEVICE [efn] [,chan] [,devnam] ,itmlst [,iosb]
[,astadr] [,astprm] [,nullarg]
C Prototype
int sys$set_device (unsigned int efn, unsigned short int chan,
void *devnam, void *itmlst, struct _iosb
*iosb, void (*astadr)(__unknown_params),
int astprm, struct_generic_64 *nullarg);
efn
OpenVMS usage:ef_number
type: longword (unsigned)
access: read only
mechanism: by value
Number of the event flag to be set when $SET_DEVICE returns the
requested information. The efn argument is a longword containing
this number; however, $SET_DEVICE uses only the low-order byte.
Upon request initiation, $SET_DEVICE clears the specified event
flag (or event flag 0 if efn was not specified). Then, when $SET_
DEVICE returns the requested information, it sets the specified
event flag (or event flag 0).
chan
OpenVMS usage:channel
type: word (unsigned)
access: read only
mechanism: by value
Number of the I/O channel assigned to the device about which
information is desired. The chan argument is a word containing
this number.
To identify a device to $SET_DEVICE, you can specify either the
chan or devnam parameters, but you should not specify both. If
you specify both arguments, the chan argument is used.
If you specify neither chan nor devnam, $SET_DEVICE uses a
default value of 0 for chan.
devnam
OpenVMS usage:device_name
type: character-coded text string
access: read only
mechanism: by 32- or 64-bit descriptor-fixed-length string
descriptor
The name of the device about which $SET_DEVICE is to modify the
characteristics or path settings. The devnam argument is the
address of a character string descriptor pointing to this name
string.
The device name string can be either a physical device name
or a logical name. If the first character in the string is an
underscore (_), the string is considered a physical device name;
otherwise, the string is considered a logical name and logical
name translation is performed until either a physical device name
is found or the system default number of translations has been
performed.
If the device name string contains a colon (:), the colon and
the characters that follow it are ignored.
To identify a device to $SET_DEVICE, you can specify either the
chan or devnam argument, but you should not specify both. If both
arguments are specified, the chan argument is used.
If you specify neither chan nor devnam, $SET_DEVICE uses a
default value of 0 for chan.
itmlst
OpenVMS usage:item_list_3
type: longword (unsigned)
access: read only
mechanism: by reference
Item list specifying which information about the device is to be
returned. The itmlst argument is the address of a list of item
descriptors, each of which describes an item of information. The
list of item descriptors is terminated by a longword of 0.
Currently, $SET_DEVICE allows only one valid item list entry.
Refer to the HP OpenVMS System Services Reference Manual to view
the item code diagram and descriptor fields table.
iosb
OpenVMS usage:io_status_block
type: quadword (unsigned)
access: write only
mechanism: by reference
I/O status block that is to receive the final completion status.
The iosb argument is the address of the quadword I/O status
block. See iosb in the $GETDVI system service description for
more information.
astadr
OpenVMS usage:ast_procedure
type: procedure value
access: call without stack unwinding
mechanism: by reference
AST service routine to be executed when $SET_DEVICE completes.
The astadr argument is the address of this routine.
If you specify astadr, the AST routine executes at the same
access mode as the caller of the $SET_DEVICE service.
astprm
OpenVMS usage:user_arg
type: longword (unsigned)
access: read only
mechanism: by value
AST parameter to be passed to the AST service routine specified
by the astadr argument. The astprm argument is the longword
parameter.
nullarg
OpenVMS usage:null_arg
type: quadword (unsigned)
access: read only
mechanism: by reference
Placeholding argument reserved to HP and should be zero.