Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS DCL Dictionary


Previous Contents Index


CREATE/TERMINAL

Creates a window that emulates another terminal type.

Note

At present, only DECterm windows are available with this command.

Format

CREATE/TERMINAL [command-string]


Parameter

command-string

Specifies a command string that is to be executed in the context of the created subprocess. You cannot specify this parameter with the /DETACH or the /NOPROCESS qualifier. The CREATE/TERMINAL command is used in much the same way as the SPAWN command.

Description

The CREATE/TERMINAL command creates a subprocess of your current process. When the subprocess is created, the process-permanent open files and any image or procedure context are not copied from the parent process. The subprocess is set to command level 0 (DCL level with the current prompt).

If you do not specify the /PROCESS qualifier, the name of this subprocess is composed of the same base name as the parent process and a unique number. For example, if the parent process name is SMITH, the subprocess name can be SMITH_1, SMITH_2, and so on.

The LOGIN.COM file of the parent process is not executed for the subprocess, because the context is copied separately, allowing quicker initialization of the subprocess. When the /WAIT qualifier is in effect, the parent process remains in hibernation until the subprocess terminates and returns control to the parent by using the ATTACH command.

You should use the LOGOUT command to terminate the subprocess and return to the parent process. You can also use the ATTACH command to transfer control of the terminal to another process in the subprocess tree, including the parent process. (The SHOW PROCESS/SUBPROCESS command displays the process in the subprocess tree and points to the current process.)

Note

Because a tree of subprocesses can be established using the CREATE/TERMINAL command, you must be careful when terminating any process in the tree. When a process is terminated, all the subprocesses below that point in the tree are automatically terminated. For example, the SPAWN/NOWAIT CREATE/TERMINAL command creates a subprocess that exits as soon as the DECterm window is created. Once this process exits, the DECterm window disappears. Instead, use the SPAWN/NOWAIT CREATE/TERMINAL/WAIT command to allow the process to continue.

Qualifiers with the CREATE/TERMINAL command must directly follow the command verb. The command-string parameter begins after the last qualifier and continues to the end of the command line.


Qualifiers

/APPLICATION_KEYPAD

Sets the APPLICATION_KEYPAD terminal characteristic in the created terminal window. If the /APPLICATION_KEYPAD or the /NUMERIC_KEYPAD qualifier is not specified, the default is to inherit the characteristic from the parent. (See also /NUMERIC_KEYPAD.)

/BIG_FONT

Specifies that the big font (as specified in resource files) be selected when the created terminal window is initialized. It is an error to specify the /BIG_FONT qualifier in combination with the /LITTLE_FONT qualifier. If you do not specify either the /BIG_FONT or the /LITTLE_FONT qualifier, the initial font is the big font.

/BROADCAST

/NOBROADCAST

Determines whether the terminal window is created with broadcast messages enabled. If neither qualifier is specified, the created terminal window inherits the broadcast characteristic of the parent.

/CARRIAGE_CONTROL

/NOCARRIAGE_CONTROL

Determines whether carriage-return and line-feed characters are prefixed to the subprocess's prompt string. By default, the CREATE/TERMINAL command copies the current setting of the parent process. The CARRIAGE_CONTROL qualifier is used only with the /NODETACH qualifier.

/CLI=cli-filespec

/NOCLI

Specifies the name of a command language interpreter (CLI) to be used by the subprocess. The default CLI is the same as that of the parent process (defined in SYSUAF). If you specify the /CLI qualifier, the attributes of the parent process are copied to the subprocess. The CLI you specify must be located in SYS$SYSTEM and have the file type EXE. This qualifier is used only with the /NODETACH qualifier.

/CONTROLLER=filespec

Specifies the name of the terminal window controller image. This name allows the CREATE/TERMINAL command to create a window on a variant controller, such as for a language not supported by the base product. For a DECterm window, the default is SYS$SYSTEM:DECW$TERMINAL.EXE. The device and directory default to SYS$SYSTEM and the file type defaults to EXE.

Note

The "name" field of the file name as returned by $PARSE is used to form the mailbox logical name. For example, if the file "name" is DECW$TERMINAL, the mailbox logical name will be DECW$TERMINAL_MAILBOX_node::0.0. For backward compatibility, the controller also defines a logical name DECW$DECTERM_MAILBOX_host::0.0 to point to the same mailbox.

/DEFINE_LOGICAL=({logname, TABLE=tablename} [,...])

Specifies one or more logical names that are set to the name of the created pseudo terminal device. Each element in the list is either a logical name or TABLE= followed by the name of a logical name table in which all subsequent logical names will be entered. The default is the process logical name table.

/DETACH

/NODETACH (default)

Determines whether the created terminal process is detached or a subprocess of the current process. The /DETACH qualifier cannot be used with the command-string parameter.

/DISPLAY=display-name

Specifies the name of the display on which to create the terminal window. If this parameter is omitted, the DECW$DISPLAY logical name is used.

/ESCAPE

/NOESCAPE

Sets or clears the ESCAPE characteristic of the created terminal window. The default is to inherit the characteristic of the parent.

/FALLBACK

/NOFALLBACK

Sets or clears the FALLBACK characteristic of the created terminal window. The default is to inherit the characteristic of the parent.

/HOSTSYNC (default)

/NOHOSTSYNC

Sets or clears the HOSTSYNC characteristic of the created terminal window. The default is to inherit the characteristic of the parent.

/INPUT=filespec

Specifies an alternate input file or device to use as SYS$INPUT for the new process. The default is to use the created terminal window for input. This qualifier can be used with or without the /DETACH qualifier.

/INSERT

Creates the terminal window with insert mode as the default for line editing. If the /INSERT or the /OVERSTRIKE qualifier is not specified, the default is to inherit the characteristic from the parent. (See also /OVERSTRIKE.)

/KEYPAD (default)

/NOKEYPAD

Determines whether keypad definitions and the current keypad state are copied from the parent process. This qualifier is used only with the /NODETACH qualifier.

/LINE_EDITING

/NOLINE_EDITING

Determines whether the terminal window is created with line editing enabled. If neither qualifier is specified, the created terminal window inherits the line editing characteristic of the parent.

/LITTLE_FONT

Specifies that the little font (as specified in resource files) be selected when the created terminal window is initialized. It is an error to specify the /LITTLE_FONT qualifier in combination with the /BIG_FONT qualifier. If you do not specify either the /BIG_FONT or the /LITTLE_FONT qualifier, the initial font is the big font.

/LOGGED_IN (default)

/NOLOGGED_IN

Determines whether a prompt for a user name and password are supplied (/NOLOGGED_IN) or the created terminal window is logged in automatically (/LOGGED_IN). This qualifier is used only with the /DETACH qualifier.

/LOGICAL_NAMES (default)

/NOLOGICAL_NAMES

Determines whether the created terminal window inherits the parent's logical names. This qualifier is used only with the /NODETACH qualifier.

/NOTIFY

/NONOTIFY (default)

Determines whether a notification message is broadcast to the parent when the created terminal window exits. This qualifier is used only with the /NODETACH qualifier.

/NUMERIC_KEYPAD

Sets the NUMERIC_KEYPAD terminal characteristic in the created terminal window. If the /NUMERIC_KEYPAD or the /APPLICATION_KEYPAD qualifier is not specified, the default is to inherit the characteristic from the parent. (See also /APPLICATION_KEYPAD.)

/OVERSTRIKE

Creates the terminal window with overstrike mode as the default for line editing. If the /OVERSTRIKE or the /INSERT qualifier is not specified, the default is to inherit the characteristic from the parent. (See also /INSERT.)

/PASTHRU

/NOPASTHRU

Sets or clears the PASTHRU characteristic in the created terminal window. The default is to inherit the characteristic of the parent.

/PROCESS (default)

/PROCESS=process-name

/NOPROCESS

Specifies the name of the process or subprocess to be created. The /NOPROCESS qualifier causes a window to be created without a process. You can log in from this window.

If you specify the /PROCESS qualifier without a process name, a unique process name is assigned with the same base name as the parent process and a unique number. The default process name format is username_n. If you specify a process name that already exists, an error message is displayed. This qualifier is used with either the /DETACH or the /NODETACH qualifier.

/PROMPT=prompt

Specifies the prompt string of the created terminal window. This qualifier is used only with the /NODETACH qualifier.

/READSYNC

/NOREADSYNC

Sets or clears the READSYNC terminal characteristic in the created terminal window. The default is to inherit the characteristic from the parent.

/RESOURCE_FILE=filespec

Specifies that the created terminal window use the resource file "filespec" instead of the default resource file, DECW$USER_DEFAULTS:DECW$TERMINAL_DEFAULT.DAT.

/SYMBOLS (default)

/NOSYMBOLS

Determines whether the subprocess inherits the parent's DCL symbols. This qualifier is used only with the /NODETACH qualifier.

/TABLE=command-table

Specifies the name of an alternate command table to be used by the subprocess. This qualifier is used only with the /NODETACH qualifier.

/TTSYNC

/NOTTSYNC

Sets or clears the TTSYNC terminal characteristic in the created terminal window; the default is to inherit the characteristic of the parent.

/TYPE_AHEAD

/NOTYPE_AHEAD

Sets or clears the TYPE_AHEAD terminal characteristic in the created terminal window. The default is to inherit the characteristic of the parent.

/WAIT

/NOWAIT (default)

Requires that you wait for the subprocess to terminate before you enter another DCL command. The /NOWAIT qualifier allows you to enter new commands while the subprocess is running. This qualifier is used only with the /NODETACH qualifier.

/WINDOW_ATTRIBUTES=(parameter [,...])

Specifies initial attributes for the created terminal window to override the defaults read from the resource file. These parameters include:
Parameter Description
BACKGROUND The background color.
FOREGROUND The foreground color.
WIDTH The width, in pixels.
HEIGHT The height, in pixels.
X_POSITION The x-position, in pixels.
Y_POSITION The y-position, in pixels.
ROWS The number of rows in the window, in character cells. If the Auto Resize Window option is enabled, the ROWS and COLUMNS parameters override the size specified by the WIDTH and HEIGHT parameters.
COLUMNS The number of columns in the window, in character cells. If the Auto Resize Window option is enabled, the ROWS and COLUMNS parameters override the size specified by the WIDTH and HEIGHT parameters.
INITIAL_STATE The initial state of the window, either ICON or WINDOW.
TITLE A character string specifying the window title.
ICON_NAME A character string specifying the window icon name.
FONT The name of the font to be used in the window. If you specify the /LITTLE_FONT qualifier, or omit both the /LITTLE_FONT and /BIG_FONT qualifiers, this overrides the name of the little font that is set in the resource files; otherwise it overrides the name of the big font. The font name can be a logical name, and it can be (but does not have to be) the base font in a complete font set.

Examples

#1

$ CREATE/TERMINAL=DECTERM/DETACH -
_$ /DISPLAY=MYNODE::0 -
_$ /WINDOW_ATTRIBUTES=( -
_$ ROWS=36, -
_$ COLUMNS=80, - 
_$ TITLE="REMOTE TERMINAL", -
_$ ICON_NAME="REMOTE TERMINAL" )
 
      

In this example, the command creates a detached process in a DECterm window on node MYNODE:: that is 36 rows by 80 columns and has its title and icon name set to "Remote terminal".

#2

$ CREATE/TERMINAL=DECTERM -
$_ /NOPROCESS -
$_ /DEFINE_LOGICAL=(TABLE=LNM$GROUP,DBG$INPUT,DBG$OUTPUT)
      

In this example, the command creates a DECterm with no associated process. The command defines DBG$INPUT and DBG$OUTPUT in the group table as the new terminal for the purposes of debugging a problem with a detached process that is subsequently created.


DEALLOCATE

Makes an allocated device available to other processes (but does not deassign any logical name associated with the device). DEALLOCATE does not deallocate devices that are in use.

Format

DEALLOCATE device-name[:]


Parameter

device-name[:]

Name of the device to be deallocated. The device name can be a physical device name or a logical name that is not in use. On a physical device name, the controller defaults to A and the unit to 0. This parameter is incompatible with the /ALL qualifier.

Qualifier

/ALL

Deallocates all devices currently allocated by your process that are not in use. This qualifier is incompatible with the device-name parameter.

Examples

#1

$ DEALLOCATE  DMB1:
      

In this example, the DEALLOCATE command deallocates unit 1 of the RK06/RK07 devices on controller B.

#2

$ ALLOCATE   MT:   TAPE
%DCL-I-ALLOC, _MTB1:  allocated
   .
   .
   .
$ DEALLOCATE  TAPE:
      

In this example, the ALLOCATE command requests that any magnetic tape drive be allocated and assigns the logical name TAPE to the device. The response to the ALLOCATE command indicates the successful allocation of the device MTB1. The DEALLOCATE command specifies the logical name TAPE to release the tape drive.

#3

$ DEALLOCATE/ALL
      

In this example, the DEALLOCATE command deallocates all devices that are currently allocated.


DEASSIGN

Cancels a logical name assignment that was made with one of the following commands: ALLOCATE, ASSIGN, DEFINE, or MOUNT. The DEASSIGN command also deletes a logical name table that was created with the CREATE/NAME_TABLE command.

Format

DEASSIGN [logical-name[:]]


Parameter

logical-name[:]

Specifies the logical name to be deassigned. Logical names can have from 1 to 255 characters. If the logical name contains any characters other than alphanumerics, dollar signs ($), or underscores (_), enclose it in quotation marks (" "). The logical-name parameter is required unless you use the /ALL qualifier.

If the logical-name parameter ends with a colon (:), the command interpreter ignores the colon. (Note that the ASSIGN and ALLOCATE commands remove a trailing colon, if present, from a logical name before placing the name in a logical name table.) If a colon is present in the logical name, you must type two colons in the logical-name parameter of the DEASSIGN command (for example, DEASSIGN FILE::).

To delete a logical name table, specify the table name as the logical-name parameter. You must also use the /TABLE qualifier to indicate the logical name directory table where the table name is entered.


Description

The DEASSIGN command cancels a logical name assignment that was made with one of the following commands: ALLOCATE, ASSIGN, DEFINE, or MOUNT. The DEASSIGN command also deletes a logical name table that was created with the CREATE/NAME_TABLE command. You can use the /ALL qualifier with DEASSIGN to cancel all logical names in a specified table. If you use the /ALL qualifier and do not specify a table, then all names in the process table (except names created by the command interpreter) are deassigned; that is, all names entered at the indicated access mode or an outer access mode are deassigned.

To specify the logical name table from which you want to deassign a logical name, use the /PROCESS, the /JOB, the /GROUP, the /SYSTEM, or the /TABLE qualifier. If you enter more than one of these qualifiers, only the last one entered is accepted. If entries exist for the specified logical name in more than one logical name table, the name is deleted from only the last logical name table specified on the command line. If you do not specify a logical name table, the default is the /TABLE=LNM$PROCESS qualifier.

To delete a shareable logical name, you need write (W) access to the logical name table. To delete a shareable logical name table, you need write (W) access to the parent table and delete (D) access to the target logical name table.

To specify the access mode of the logical name you want to deassign, use the /USER_MODE, the /SUPERVISOR_MODE, or the /EXECUTIVE_MODE qualifier. If you enter more than one of these qualifiers, only the last one is accepted. If you do not specify a mode, the DEASSIGN command deletes a supervisor-mode name. When you deassign a logical name, any identical names created with outer access modes in the same logical name table are also deleted.

You must have SYSNAM (system logical name) privilege to deassign an executive-mode logical name.

If you specify the /EXECUTIVE_MODE qualifier and you do not have SYSNAM privilege, then the DEASSIGN command ignores the qualifier and attempts to deassign a supervisor-mode logical name.

All process-private logical names and logical name tables are deleted when you log out of the system. User-mode entries within the process logical name table are deassigned when any image exits. The logical names in the job table, and the job table itself, are deleted when you log off the system.

Names in all other shareable logical name tables remain there until they are explicitly deassigned, regardless of whether they are user-, supervisor-, or executive-mode names. You must have write (W) access to a shareable logical name table to delete any name in that table.

If you delete a logical name table, all the logical names in the table are also deleted. Also, any descendant tables are deleted. To delete a shareable logical name table, you must have delete (D) access to the table.


Qualifiers

/ALL

Deletes all logical names in the same or an outer (less privileged) access mode. If no logical name table is specified, the default is the process table, LNM$PROCESS. If you specify the /ALL qualifier, you cannot enter a logical-name parameter.

/EXECUTIVE_MODE

Requires SYSNAM (system logical name) privilege to deassign executive-mode logical names.

Deletes only entries that were created in the specified mode or an outer (less privileged) mode. If you do not have SYSPRV (system privilege) privilege for executive mode, a supervisor-mode operation is assumed.

/GROUP

Requires GRPNAM (group logical name) or SYSPRV privilege to delete entries from the group logical name table.

Indicates that the specified logical name is in the group logical name table. The /GROUP qualifier is synonymous with the /TABLE=LNM$GROUP qualifier.

/JOB

Indicates that the specified logical name is in the jobwide logical name table. The /JOB qualifier is synonymous with the /TABLE=LNM$JOB qualifier. If you do not explicitly specify a logical name table, the default is the /PROCESS qualifier.

You should not deassign jobwide logical name entries that were made by the system at login time, for example, SYS$LOGIN, SYS$LOGIN_DEVICE, and SYS$SCRATCH. However, if you assign new equivalence names for these logical names (that is, create new logical names in outer access modes), you can deassign the names you explicitly created.

/PROCESS (default)

Indicates that the specified logical name is in the process logical name table. The /PROCESS qualifier is synonymous with the /TABLE=LNM$PROCESS qualifier.

You cannot deassign logical name table entries that were made by the command interpreter, for example, SYS$INPUT, SYS$OUTPUT, and SYS$ERROR. However, if you assign new equivalence names for these logical names (that is, you create new logical names in outer access modes), you can deassign the names you explicitly created.

/SUPERVISOR_MODE (default)

Deletes entries in the specified logical name table that were created in supervisor mode. If you specify the /SUPERVISOR_MODE qualifier, the DEASSIGN command also deassigns user-mode entries with the same name.

/SYSTEM

Indicates that the specified logical name is in the system logical name table. The /SYSTEM qualifier is synonymous with the /TABLE=LNM$SYSTEM qualifier.

/TABLE=name

Specifies the table from which the logical name is to be deleted. Defaults to LNM$PROCESS. The table can be the process, group, job, or system table, one of the directory tables, or the name of a user-created table. (The process, job, group, and system logical name tables should be referred to by the logical names LNM$PROCESS, LNM$JOB, LNM$GROUP, and LNM$SYSTEM, respectively.)

The /TABLE qualifier also can be used to delete a logical name table. To delete a process-private table, enter the following command:


$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY table-name

To delete a shareable table, enter the following command:


$ DEASSIGN/TABLE=LNM$SYSTEM_DIRECTORY table-name

To delete a shareable logical name table, you must have delete (D) access to the table or write (W) access to the directory table in which the name of the shareable table is cataloged.

If you do not explicitly specify the /TABLE qualifier, the default is the /TABLE=LNM$PROCESS qualifier.

/USER_MODE

Deletes entries in the process logical name table that were created in user mode. If you specify the /USER_MODE qualifier, the DEASSIGN command can deassign only user-mode entries. Also, user-mode logical names are automatically deleted when invoking and exiting a command procedure.

Examples

#1

$ DEASSIGN MEMO
      

The DEASSIGN command in this example deassigns the process logical name MEMO.

#2

$ DEASSIGN/ALL
      

The DEASSIGN command in this example deassigns all process logical names that were created in user and supervisor mode. This command does not, however, delete the names that were placed in the process logical name table in executive mode by the command interpreter (for example, SYS$INPUT, SYS$OUTPUT, SYS$ERROR, SYS$DISK, and SYS$COMMAND).

#3

$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY TAX
      

The DEASSIGN command in this example deletes the logical name table TAX, and any descendant tables. When you delete a logical name table, you must specify either the /TABLE=LNM$PROCESS_DIRECTORY or the /TABLE=LNM$SYSTEM_DIRECTORY qualifier, because the names of all tables are contained in these directories.

#4

$ ASSIGN USER_DISK:   COPY
$ SHOW LOGICAL COPY
   "COPY" = "USER_DISK:" (LNM$PROCESS_TABLE)
$ DEASSIGN COPY
 
      

The ASSIGN command in this example equates the logical name COPY with the device USER_DISK and places the names in the process logical name table. The DEASSIGN command deletes the logical name.

#5

$ DEFINE SWITCH:  TEMP
$ DEASSIGN SWITCH::
      

The DEFINE command in this example places the logical name SWITCH: in the process logical name table. The trailing colon is retained as part of the logical name. Two colons are required on the DEASSIGN command to delete this logical name because the DEASSIGN command removes one trailing colon, and the other colon is needed to match the characters in the logical name.

#6

$ ASSIGN/TABLE=LNM$GROUP DBA1: GROUP_DISK
$ DEASSIGN/PROCESS/GROUP GROUP_DISK
      


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
9996PRO_009.HTML