VMS Help  —  System Services, $SET DEVICE
    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);

1  –  Arguments

 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.
Close Help