Document revision date: 30 March 2001

## OpenVMS User's Manual

Previous | Contents | Index

### 13.9.1 Process Logical Name Directory

The process-private logical names that are created in the process logical name directory table, LNM$PROCESS_DIRECTORY, when you log in are shown in Table 13-2.

Table 13-2 Default Logical Names in Process Logical Name Directory
Name | Description
--- | ---
LNM$GROUP | Group logical name defined as LNM$GROUP_ gggggg, where gggggg represents your group number. LNM$GROUP_ gggggg 1 is the logical name table used by your UIC group. The table LNM$GROUP_ gggggg is cataloged in the system directory table. Therefore, LNM$GROUP is a logical name that translates iteratively to the name of your group logical name table.
LNM$JOB | Job logical name that is defined as LNM$JOB_ xxxxxxxx, where xxxxxxxx 2 represents a number unique to your job tree. LNM$JOB_ xxxxxxxx is the logical name table used by your job. The table LNM$JOB_ xxxxxxxx is cataloged in the system directory table. Therefore, LNM$JOB is a logical name that translates iteratively to the name of your job logical name table.
LNM$PROCESS | Process logical name that translates iteratively to LNM$PROCESS_TABLE, which is the name of your process logical name table.
LNM$PROCESS_DIRECTORY | Name of your process directory logical name table.

1The string gggggg represents a six-digit octal number containing the process's UIC group number.
2The string xxxxxxxx represents an eight-digit hexadecimal number that is the address of the job information block.

### 13.9.2 Process Logical Name Table

Every process on the system has a process logical name table named LNM$PROCESS_TABLE. The names in your process table are available only to your process and any subsequent subprocesses. When you log in, the system creates logical names for your process and places them in your process table.

You can reference LNM$PROCESS_TABLE indirectly through the name LNM$PROCESS. This indirect reference enables you to redefine LNM$PROCESS as multiple equivalence names and thus include one or more of your own tables in it, as shown in the following example:

    $CREATE/NAME_TABLE APPLICATION_NAMES
    $DEFINE/TAB=LNM$PROCESS_DIRECTORY LNM$PROCESS APPLICATION_NAMES,
    LNM$PROCESS_TABLE

By default, the process table contains the logical names shown in Table 13-3. Note that the logical names SYS$INPUT, SYS$OUTPUT, SYS$ERROR, and SYS$COMMAND refer to process-permanent files (files that remain open for the life of the process). For more information about process-permanent files, see Section 13.13.

Table 13-3 Default Logical Names in Process Logical Name Table
Name | Description
--- | ---
SYS$COMMAND | The initial file (usually your terminal) from which DCL reads input. A file from which DCL reads input is called an input stream. The command interpreter uses SYS$COMMAND to "remember" the original input stream.
SYS$DISK | The default device established at login or changed by the SET DEFAULT command.
SYS$ERROR | The default device or file to which DCL writes system error messages generated by warnings, errors, and severe errors.
SYS$INPUT | The default file from which DCL reads input.
SYS$NET | The source process that invokes a target process in DECnet for OpenVMS task-to-task communication. When opened by the target process, SYS$NET represents the logical link over which that process can exchange data with its partner. SYS$NET is defined only during task-to-task communication.
SYS$OUTPUT | The default file (usually your terminal) to which DCL writes output. A file to which DCL writes output is called an output stream.
TT | The default device name for terminals.

### 13.9.3 System Logical Name Directory

The default system logical names contained in the system directory table, LNM$SYSTEM_DIRECTORY, are shown in Table 13-4.

Table 13-4 Default Logical Names in System Logical Name Directory
Name | Description
--- | ---
LNM$CLUSTER | Logical name of clusterwide parent table that translates iteratively to LNM$CLUSTER_TABLE.
LNM$DCL_LOGICAL | DCL logical name that is defined as LNM$FILE_DEV. LNM$DCL_LOGICAL translates iteratively into the list of logical name tables searched and displayed by the SHOW LOGICAL command, the SHOW TRANSLATION command, and the F$TRNLNM lexical function. By default, these commands search and display the process, job, group, system, and clusterwide system logical name tables, in that order.
LNM$DIRECTORIES | Directory logical name that is defined as LNM$PROCESS_DIRECTORY and LNM$SYSTEM_DIRECTORY.
LNM$FILE_DEV | Logical name for the search list that is defined as the list of logical name tables searched by the system when processing a file specification. Defined as LNM$PROCESS, LNM$JOB, LNM$GROUP, and LNM$SYSTEM, the system searches the process, job, group, system, and clusterwide system logical name tables, in that order.
LNM$JOB | Job logical name that is defined as LNM$JOB_ xxxxxxxx. 1
LNM$GROUP | Group logical name that is defined for your group table, LNM$GROUP_ gggggg. 2
LNM$PERMANENT_MAILBOX | Permanent mailbox logical name that is defined as LNM$SYSTEM. Logical names associated with permanent mailboxes are entered in the logical name table to which the logical name LNM$PERMANENT_MAILBOX iteratively translates.
LNM$SYSCLUSTER | Logical name for the clusterwide system logical name table that translates iteratively to LNM$SYSCLUSTER_TABLE.
LNM$SYSTEM | System logical name table name that translates iteratively to LNM$SYSTEM_TABLE, LNM$SYSCLUSTER.
LNM$TEMPORARY_MAILBOX | Temporary mailbox logical name that is defined as LNM$JOB. Logical names associated with temporary mailboxes are entered in the logical name table to which the logical name LNM$TEMPORARY_MAILBOX iteratively translates.

1The string gggggg represents a six-digit octal number containing the process's UIC group number.
2The string xxxxxxxx represents an eight-digit hexadecimal number that is the address of the job information block.

### 13.9.4 Shareable Logical Name Tables

This section describes the default shareable logical name tables:

- Clusterwide system table
- Clusterwide parent table
- Group table
- Job table
- System table

Clusterwide System Table, LNM$SYSCLUSTER_TABLE

LNM$SYSCLUSTER_TABLE is the name of the clusterwide system logical name table. This table contains logical names that are available to all users of the cluster.

You can reference LNM$SYSCLUSTER_TABLE indirectly through the name LNM$SYSCLUSTER. An indirect reference allows you to redefine LNM$SYSCLUSTER as multiple equivalence names and thus include your own tables in it.

Clusterwide Parent Table, LNM$CLUSTER_TABLE

LNM$CLUSTER_TABLE is the parent table for all clusterwide logical name tables, including LNM$SYSCLUSTER_TABLE. Use the logical name LNM$CLUSTER to refer to it.

Group Table, LNM$GROUP_gggggg

The name for your group table is LNM$GROUP_gggggg (gggggg represents your user identification code [UIC] group number). The names in this table are available to all users with the same UIC group number. Every group on the system has a corresponding group logical name table.

You can reference LNM$GROUP_gggggg indirectly through the name LNM$GROUP. An indirect reference allows you to redefine LNM$GROUP_gggggg as multiple equivalence names and thus include your own tables in it. It also eliminates the need to remember your UIC group number and ensures that you are using the most recently defined table.

Job Table, LNM$JOB_xxxxxxxx

The name for your job table is LNM$JOB_xxxxxxxx (xxxxxxxx represents the job information block [JIB] address defined by the system for your job tree).

Your job table contains logical names that are available to all processes in your job tree---your process and any of your subprocesses. There is one job table for each job tree in the system. A job table is shareable so that all processes in a job tree can access it.

You can reference LNM$JOB_xxxxxxxx indirectly through the name LNM$JOB. This indirect reference allows you to redefine LNM$JOB as multiple equivalence names and thus include your own tables in it. Furthermore, by using LNM$JOB, you do not have to locate the JIB address, and you can be sure that you are using the most recently defined job table.

The system places logical names created for mounted disks, mounted tapes, and temporary mailboxes in the job logical name table. In addition, the system creates the following logical names:

- SYS$LOGIN
  Your default device and directory when you log in.
- SYS$LOGIN_DEVICE
  Your default device when you log in.
- SYS$REM_ID
  For jobs initiated through a DECnet for OpenVMS network connection, the identification of the process on the remote node from which the job was originated. On an OpenVMS operating system, if proxy logins are enabled, this identification is the process's user name; if proxy logins are not enabled, this is the process identification (PID) number.
  (Proxy logins to proxy accounts allow users to access files across the network without specifying an access control string.)
- SYS$REM_NODE
  For jobs initiated through a DECnet for OpenVMS network connection, the name of the remote node from which the job was originated.
- SYS$SCRATCH
  Default device and directory to which temporary files are written.

System Table, LNM$SYSTEM_TABLE

The name of the system table is LNM$SYSTEM_TABLE. The system table contains logical names that are available to all users of the system at the system level.

The system table is usually referred to indirectly through LNM$SYSTEM, which is defined as the search list LNM$SYSTEM_TABLE, LNM$SYSCLUSTER. Use the name LNM$SYSTEM to include system names local to this node and system names common to all nodes on the cluster.

The logical names that are automatically defined in the system table when the system starts up are shown in Table 13-5.

Table 13-5 Default Logical Names in System Logical Name Table
Name | Description | Default Address
--- | --- | ---
DBG$INPUT | Default input stream for the OpenVMS Debugger, equated to SYS$INPUT at the process level | Not applicable
DBG$OUTPUT | Default output stream for the OpenVMS Debugger, equated to SYS$OUTPUT at the process level | Not applicable
SYS$COMMON | Device and directory name for the common part of SYS$SYSROOT | SYS$SYSDEVICE:[SYS n.SYSCOMMON.], where n is the root directory number of your processor
SYS$ERRORLOG | Device and directory name of error log data files | SYS$SYSROOT:[SYSERR]
SYS$EXAMPLES | Device and directory name of system examples | SYS$SYSROOT:[SYSHLP.EXAMPLES]
SYS$HELP | Device and directory name of system help files | SYS$SYSROOT:[SYSHLP]
SYS$INSTRUCTION | Device and directory name of system instruction data files | SYS$SYSROOT:[SYSCBI]
SYS$LIBRARY | Device and directory name of system libraries | SYS$SYSROOT:[SYSLIB]
SYS$LOADABLE_IMAGES | Device and directory of operating system executive loadable images, device drivers, and other executive-loaded code | SYS$SYSROOT:[SYS$LDR]
SYS$MAINTENANCE | Device and directory name of system maintenance files | SYS$SYSROOT:[SYSMAINT]
SYS$MANAGER | Device and directory name of system manager files | SYS$SYSROOT:[SYSMGR]
SYS$MESSAGE | Device and directory name of system message files | SYS$SYSROOT:[SYSMSG]
SYS$NODE | Network node name for the local system if DECnet for OpenVMS is active on the system and you are connected to a network | Not applicable
SYS$PROCDMP | Directory (set by user) into which image dumps are to be written | No default setting
SYS$SHARE | Device and directory name of system shareable images | SYS$SYSROOT:[SYSLIB]
SYS$SPECIFIC | Device and directory name for node-specific part of SYS$SYSDEVICE | SYS$SYSDEVICE:[SYS n.], where n is the root directory number of your processor
SYS$STARTUP | Device and directory name of system startup files | A search list that points first to SYS$SYSROOT:[SYS$STARTUP] and then to SYS$MANAGER
SYS$SYSDEVICE | System disk containing system directories | Usually SYS$DISK
SYS$SYSROOT | Device and root directory for system directories | A search list that points first to SYS$SYSDEVICE:[SYS n.], where n is the root directory number of your processor, and then points to SYS$COMMON
SYS$SYSTEM | Device and directory of operating system programs and procedures | SYS$SYSROOT:[SYSEXE]
SYS$TEST | Device and directory name of User Environment Test Package (UETP) files | SYS$SYSROOT:[SYSTEST]
SYS$UPDATE | Device and directory name of system update files | SYS$SYSROOT:[SYSUPD]

### 13.9.5 Default Protection of Shareable Logical Name Tables

The shareable logical name tables provided by the operating system are created with default protection. The default protection for each type of shareable logical name table is shown in Table 13-6.

Table 13-6 Default Protection of Shareable Logical Name Tables
Table Type | Table Name | Default Protection
--- | --- | ---
Job Table | LNM$JOB_ xxxxxxxx 1 | SYSTEM=RWCD, OWNER=RWCD, GROUP=NO ACCESS, WORLD=NO ACCESS
Group Table | LNM$GROUP_ gggggg 2 | SYSTEM=RWCD, OWNER=R, GROUP=R, WORLD=NO ACCESS
System Table | LNM$SYSTEM_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
Clusterwide System Table | LNM$SYSCLUSTER_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
Clusterwide Parent Table | LNM$CLUSTER_TABLE | SYSTEM=RWC, OWNER=RWC, GROUP=R, WORLD=R
User-Created Table | User Specified | SYSTEM=RWCD, OWNER=RWCD, GROUP=NO ACCESS, WORLD=NO ACCESS

1The string xxxxxxxx represents an eight-digit hexadecimal number that is the address of the job information block.
2The string gggggg represents a six-digit octal number containing the process's UIC group number.

### 13.9.6 Privilege and Access Requirements for Managing Shareable Logical Names

Table 13-7 shows the privileges and access rights that are required to create, delete, and read (translate) logical names in each type of shareable logical name table. For more information about privileges, access types, and access control, see Chapter 19 in this manual.

Table 13-7 Privilege or Access Type Required for Shareable Logical Name Tasks
Table Where Name Resides | Table Name | Task | Privilege or Access Type Required
--- | --- | --- | ---
Job Table | LNM$JOB_ xxxxxxxx 1 | Create or delete logical name | WRITE (W) access to the table where the name will be created, or from where it will be deleted
|  | Read (translate) logical name | READ (R) access to the table where the name resides
Group Table | LNM$GROUP_ gggggg 2 | Create or delete logical name | WRITE (W) access to the table where the name will be created, or from where it will be deleted, or GRPNAM privilege
|  | Read (translate) logical name | READ (R) access to the table where the name resides
System Table | LNM$SYSTEM_TABLE | Create or delete logical name | System UIC group number (between 0 and the value of system parameter MAXSYSGROUP), or SYSNAM privilege
|  | Read (translate) logical name | READ (R) access to the table where the name resides
Clusterwide System Table | LNM$SYSCLUSTER_TABLE | Create or delete logical name | System UIC group number (between 0 and the value of system parameter MAXSYSGROUP), or SYSNAM privilege
|  | Read (translate) logical name | READ (R) access to the table where the name resides
Clusterwide Parent Table | LNM$CLUSTER_TABLE | Create or delete logical name | System UIC group number (between 0 and the value of system parameter MAXSYSGROUP)
|  | Read (translate) logical name | READ (R) access to the table where the name resides
User-created | User Specified | Create or delete logical name | WRITE (W) access to the table where the name will be created, or from where it will be deleted
|  | Read (translate) logical name | READ (R) access to the table where the name resides

1The string xxxxxxxx represents an eight-digit hexadecimal number that is the address of the job information block.
2The string gggggg represents a six-digit octal number containing the process's UIC group number.

Previous | Next | Contents | Index

| privacy and legal statement |
6489PRO_032.HTML