Library /sys$common/syshlp/helplib.hlb  —  System Services, $CRELNM
    Creates a logical name and specifies its equivalence names.

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

    Format

      SYS$CRELNM  [attr] ,tabnam ,lognam ,[acmode] ,[itmlst]

    C Prototype

      int sys$crelnm  (unsigned int *attr, void *tabnam, void

                      *lognam, unsigned char *acmode, void *itmlst);

1  –  Arguments

 attr

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by 32- or 64-bit reference
    Attributes to be associated with the logical name. The attr
    argument is the 32- or 64-bit address of a longword bit mask
    specifying these attributes.

    Each bit in the longword corresponds to an attribute and has a
    symbolic name. These symbolic names are defined by the $LNMDEF
    macro. To specify an attribute, specify its symbolic name or set
    its corresponding bit. The longword bit mask is the logical OR of
    all desired attributes. All undefined bits in the longword must
    be 0.

    If you do not specify this argument or specify it as 0 (no bits
    set), no attributes are associated with the logical name.

    The attributes are as follows:

    Attribute      Description

    LNM$M_         If set, the logical name is not copied from the
    CONFINE        process to its spawned subprocesses. You create
                   a subprocess with the DCL command SPAWN or the
                   LIB$SPAWN Run-Time Library routine. If the logical
                   name is placed into a process-private table that
                   has the CONFINE attribute, the CONFINE attribute
                   is automatically associated with the logical
                   name. This applies only to process-private logical
                   names.

    LNM$M_NO_      If set, the logical name cannot be duplicated in
    ALIAS          this table at an outer access mode. If another
                   logical name with the same name already exists in
                   the table at an outer access mode, it is deleted.

 tabnam

    OpenVMS usage:logical_name
    type:         character-coded text string
    access:       read only
    mechanism:    by 32- or 64-bit descriptor-fixed-length string
                  descriptor
    Name of the table in which to create the logical name. The tabnam
    argument is the 32- or 64-bit address of a descriptor that points
    to the name of this table. This argument is required and must be
    specified in uppercase.

    The name must be entered in uppercase letters. (This requirement
    differs from the $CRELNT system service, which automatically
    changes tabnam to uppercase.)

    If tabnam is not the name of a logical name table, it is assumed
    to be a logical name and is translated iteratively until either
    the name of a logical name table is found or the number of
    translations allowed by the system has been performed. If tabnam
    translates to a list of logical name tables, the logical name is
    entered into the first table in the list.

 lognam

    OpenVMS usage:logical_name
    type:         character-coded text string
    access:       read only
    mechanism:    by 32- or 64-bit descriptor-fixed-length string
                  descriptor
    Name of the logical name to be created. The lognam argument is
    the 32- or 64-bit address of a descriptor that points to the
    logical name string.

    Logical name strings of logical names created within either the
    system or process directory table must consist of uppercase
    alphanumeric characters, dollar signs ($),  hyphens (-), and
    underscores (_);  the maximum length is 31 characters. The
    maximum length of logical name strings created within other
    tables is 255 characters with no restrictions on the types of
    characters that can be used. This argument is required.

 acmode

    OpenVMS usage:access_mode
    type:         byte (unsigned)
    access:       read only
    mechanism:    by 32- or 64-bit reference
    Access mode to be associated with the logical name. The acmode
    argument is the 32- or 64-bit address of a byte that specifies
    the access mode.

    The access mode associated with the logical name is determined
    by maximizing the access mode of the caller with the access
    mode specified by the acmode argument, which means that the less
    privileged of the two is used. Symbols for the four access modes
    are defined by the $PSLDEF macro.

    You cannot specify an access mode more privileged than that
    of the containing table. However, if the caller has SYSNAM
    privilege, then the specified access mode is associated with
    the logical name regardless of the access mode of the caller.

    If you omit this argument or specify it as 0, the access mode of
    the caller is associated with the logical name.

 itmlst

    OpenVMS usage:32-bit item_list_3 or 64-bit item_list 64b
    type:         longword (unsigned) for 32-bit; quadword (unsigned)
                  for 64-bit
    access:       read only
    mechanism:    by 32- or 64-bit reference
    Item list describing the equivalence names to be defined for
    the logical name and information to be returned to the caller.
    The itmlst argument is the 32- or 64-bit address of a list of
    item descriptors, each of which specifies information about an
    equivalence name. An item list in 32-bit format is terminated by
    a longword of 0; an item list in 64-bit format is terminated by
    a quadword of 0. All items in an item list must be of the same
    format-either 32-bit or 64-bit.

    Note that it is possible to create a logical that has no
    equivalence names. This is done by either omitting the itmlst
    argument to $CRELNM, or by not including the LNM$_STRING item
    code to the itmlst data structure that is passed into $CRELNM. It
    is not possible to create this kind of logical using DCL.

    Refer to the HP OpenVMS System Services Reference Manual to view
    the item code diagrams and descriptor fields tables.
Close Help