VMS Help  —  System Services, $ASSIGN
    Provides a process with an I/O channel so input/output operations
    can be performed on a device, or establishes a logical link with
    a remote node on a network.

    On Alpha and Integrity server systems, this service accepts 64-
    bit addresses.

    Format

      SYS$ASSIGN  devnam ,chan ,[acmode] ,[mbxnam] ,[flags]

    C Prototype

      int sys$assign  (void *devnam, unsigned short int *chan,

                      unsigned int acmode, void *mbxnam,...);

1  –  Arguments

 devnam

    OpenVMS usage:device_name
    type:         character-coded text string
    access:       read only
    mechanism:    by 32- or 64-bit descriptor-fixed-length string
                  descriptor
    Name of the device to which $ASSIGN is to assign a channel.
    The devnam argument is the 32- or 64-bit address of a character
    string descriptor pointing to the device name string.

    If the device name contains a double colon (::),  the system
    assigns a channel to the first available network device (NET:)
    and performs an access function on the network.

 chan

    OpenVMS usage:channel
    type:         word (unsigned)
    access:       write only
    mechanism:    by 32- or 64-bit reference
    Number of the channel that is assigned. The chan argument is the
    32- or 64-bit address of a word into which $ASSIGN writes the
    channel number.

 acmode

    OpenVMS usage:access_mode
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Access mode to be associated with the channel. The acmode
    argument specifies the access mode. The $PSLDEF macro defines
    the following symbols for the four access modes:

    Symbol        Access Mode   Numeric Value

    PSL$C_KERNEL  Kernel        0
    PSL$C_EXEC    Executive     1
    PSL$C_SUPER   Supervisor    2
    PSL$C_USER    User          3

    The specified access mode and the access mode of the caller are
    compared. The less privileged (but the higher numeric valued) of
    the two access modes becomes the access mode associated with the
    assigned channel. I/O operations on the channel can be performed
    only from equal and more privileged access modes. For more
    information, see the section on access modes in the HP OpenVMS
    Programming Concepts Manual.

 mbxnam

    OpenVMS usage:device_name
    type:         character-coded text string
    access:       read only
    mechanism:    by 32- or 64-bit descriptor-fixed-length string
                  descriptor
    Logical name of the mailbox to be associated with the device.
    The mbxnam argument is the 32- or 64-bit address of a character
    string descriptor pointing to the logical name string.

    If you specify mbxnam as 0, no mailbox is associated with the
    device. This is the default.

    You must specify the mbxnam argument when performing a
    nontransparent, task-to-task, network operation.

    Only the owner of a device can associate a mailbox with the
    device; the owner of a device is the process that has allocated
    the device, whether implicitly or explicitly. Only one mailbox
    can be associated with a device at any one time.

    For unshareable, nonspooled devices, an implicit $ALLOCATE is
    done. This requires read, write, or control access to the device.

    A mailbox cannot be associated with a device if the device has
    foreign (DEV$M_FOR) or shareable (DEV$M_SHR) characteristics.

    A mailbox is disassociated from a device when the channel that
    associated it is deassigned.

    If a mailbox is associated with a device, the device driver can
    send status information to the mailbox. For example, if the
    device is a terminal, this information might indicate dialup,
    hangup, or the reception of unsolicited input; if the device is a
    network device, it might indicate that the network is connected
    or perhaps that the line is down.

    For details on the nature and format of the information returned
    to the mailbox, see the HP OpenVMS I/O User's Reference Manual.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    An optional device-specific argument. The flags argument is a
    longword bit mask.

    For more information on the applicability of the flags argument
    for a particular device, see the HP OpenVMS I/O User's Reference
    Manual.
Close Help