Document revision date: 30 March 2001

## OpenVMS DCL Dictionary

Previous | Contents | Index

## SET COMMAND

> Invokes the Command Definition Utility, which adds commands to your process command table or to a specified command table file. For a complete description of the Command Definition Utility, refer to the OpenVMS Command Definition, Librarian, and Message Utilities Manual.

### Format

> SET COMMAND [filespec[,...]]

### Parameters

> #### [filespec[,...]]

> Specifies the name of one or more command definition files. If you specify more than one name, separate them with commas. The default file type is .CLD. Refer to the OpenVMS Command Definition, Librarian, and Message Utilities Manual for more information about writing a command definition file.

> The asterisk (*) and the percent sign (%) wildcard characters are allowed in the file specification.

### Qualifiers

> #### /DELETE=(verb[,...])

> Specifies /DELETE mode to delete verbs from the command table you are modifying.

> You can use the /DELETE qualifier to delete a verb in either your process command table or in a command table file specified with the /TABLE qualifier. If you do not use the /TABLE qualifier to specify an alternate command table, the default is to delete verbs from your process command table. If you do not use the /OUTPUT qualifier to specify an output file, the default is to return the modified command table to your process.

> The verb specifies a verb to be deleted. If you specify two or more verbs, separate them with commas and enclose the list in parentheses. If you specify only one verb, you can omit the parentheses.

> You cannot use the /LISTING, /OBJECT, or /REPLACE qualifiers in /DELETE mode.

> #### /LISTING[=filespec]

> #### /NOLISTING

> Controls whether an output listing is created and optionally provides an output file specification for the listing file. A listing file contains a listing of the command definitions along with any error messages. The listing file is similar to a compiler listing.

> If you specify the /LISTING qualifier and omit the file specification, output is written to the default device and directory; the listing file will have the same name as the first command definition file and a file type of .LIS.

> You can use the /LISTING qualifier only in /OBJECT or /REPLACE mode; you cannot create a listing in /DELETE mode. In /OBJECT and /REPLACE modes, the default is /NOLISTING.

> #### /OBJECT[=filespec]

> Specifies /OBJECT mode to create an object module from a command definition file and optionally provides an object file specification. You cannot use the /OBJECT qualifier to create an object module from a command definition that contains the IMAGE keyword.

> You can specify only one command definition file when you use SET COMMAND/OBJECT.

> If you specify the /OBJECT qualifier and omit the file specification, output is written to the default device and directory; the object file will have the same name as the input file and a file type .OBJ.

> You cannot use the /DELETE, /OUTPUT, /REPLACE, or /TABLE qualifiers in /OBJECT mode.

> #### /OUTPUT[=filespec]

> #### /NOOUTPUT

> Controls where the modified command table should be placed. If you provide an output file specification, the modified command table is written to the specified file. If you do not provide an output file specification, the edited command table replaces your process table. The /NOOUTPUT qualifier indicates that no output is to be generated.

> You can specify an output file specification with the /OUTPUT qualifier only when you also use the /TABLE=filespec qualifier to provide the input tables. The default file type is .EXE.

> You can use the /OUTPUT qualifier only in /DELETE or /REPLACE mode; you cannot use the /OUTPUT qualifier in /OBJECT mode.

> In /DELETE and /REPLACE mode, the default is /OUTPUT with no file specification.

> #### /REPLACE

> Specifies /REPLACE mode to add or replace verbs in the command table you are modifying.

> You can use the /REPLACE qualifier to modify either the process command table or a command table file specified with the /TABLE qualifier. If you do not use the /TABLE qualifier to specify an alternate command table, the default is to modify your process command table. If you do not use the /OUTPUT qualifier to specify an output file, the default is to return the modified command table to your process.

> You cannot use the /OBJECT or /DELETE qualifiers in /REPLACE mode.

> If you do not explicitly specify /DELETE, /OBJECT, or /REPLACE mode, the default is /REPLACE.

> #### /TABLE=[filespec]

> Specifies the command table that is to be modified. If you specify the /TABLE qualifier and omit the file specification, the current process command table is modified. If you include a file specification, the specified command table is modified. The default file type is .EXE.

> If you use the /TABLE qualifier to provide an input command table file, you should also use the /OUTPUT qualifier to provide an output table file; otherwise, the modified command table will be written to your process and will replace your process command table.

> You can only use the /TABLE qualifier in /DELETE or /REPLACE mode; you cannot use the /TABLE qualifier in /OBJECT mode.

> In /REPLACE and /DELETE mode, the default is /TABLE with no input file specification.

###

#### Examples

#1
    $ SET COMMAND SNAG

> This command adds the commands in SNAG.CLD to the command table in the current process.

#2
    $ SET COMMAND/OBJECT SNAG

> This command creates an object file using the commands in SNAG.CLD. This object file can then be linked with other object files to process application defined commands.

#3
    $ SET COMMAND/TABLE=MYTAB/OUTPUT=MYCLI SNAG

> This command adds the commands in SNAG.CLD to the command table MYTAB.EXE and writes the updated table to MYCLI.EXE.

> When you use the /TABLE qualifier to specify an input command table, you should use the /OUTPUT qualifier to specify an an output file; otherwise, your process command table will be overwritten.

#4
    $ SET COMMAND/DELETE=HOLD

> This command deletes the definition for the verb HOLD from your process command table. The modified command table is returned to your process.

## SET CONTROL

> Enables or disables the Ctrl/Y or the Ctrl/T function. Pressing Ctrl/Y interrupts a command and returns you to the DCL command level. Pressing Ctrl/T momentarily interrupts a command to print a line of statistics.

> SET CONTROL=T requires that SET TERMINAL/BROADCAST be set for the information to be displayed at your terminal.

### Format

> SET CONTROL [=(T,Y)]

> SET NOCONTROL [=(T,Y)]

### Parameter

> #### (T,Y)

> Specifies that T (Ctrl/T) or Y (Ctrl/Y) be enabled or disabled. If you specify only one character, you can omit the parentheses. If you do not specify either T or Y, Y is the default.

### Description

> The Ctrl/Y function provides a general-purpose escape from the current operation. The Ctrl/Y function can generally be used during an interactive terminal session to interrupt the current command, command procedure, or program image.

> The SET NOCONTROL=Y command can be used for special application programs. When the SET NOCONTROL=Y command is executed in a system-specified command procedure for a particular user at login, that user can communicate only with the application program that controls the terminal.

> When you press Ctrl/Y and SET NOCONTROL=Y is in effect, the INTERRUPT message is displayed, but no interruption takes place.1

> SET NOCONTROL=Y also disables the Ctrl/C cancel function for all commands and programs that do not have special action routines responding to the Ctrl/C function.

> The Ctrl/T function displays a single line of statistical information about the current process. When you press Ctrl/T during an interactive terminal session, it momentarily interrupts the current command, command procedure, or image to display statistics. The statistical information includes the node and user names, the current time, the current process, CPU usage, number of page faults, level of I/O activity, and memory usage. For example:

>     BOSTON::SMITH  16:21:04 EDT       CPU=00:00:03.33 PF=778 IO=296 MEM=277

> When SET NOCONTROL=T (the default) is in effect, pressing Ctrl/T does not cause any statistics to be displayed.

###

#### Examples

#1
    $ SET NOCONTROL=Y

> The SET CONTROL command in this example disables the Ctrl/Y function as well as most Ctrl/C functions.

#2
    $ SET CONTROL=T

> The SET CONTROL command in this example enables the Ctrl/T function.

#3
    $ SET NOCONTROL=(T,Y)

> The SET CONTROL command in this example disables both the Ctrl/T and Ctrl/Y functions.

#4
    $ []Ctrl/T
    NODE22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 IO=18652 MEM=68
    $ SET NOCONTROL=T
    $ []Ctrl/T

> As shown in this example, when you press Ctrl/T, the system displays the appropriate information. The SET NOCONTROL=T command disables the Ctrl/T function. Now when you press Ctrl/T, no information is displayed.

Note ##### 1 Note that DCL maintains a pending Ctrl/Y asynchronous system trap (AST) to the terminal driver. This affects captive command procedures when using the SET HOST command. For more information, see the description of the SET HOST command.

## SET CPU

> Changes the user capabilities associated with the specified CPUs.

> Requires ALTPRI and WORLD privileges.

### Format

> SET CPU cpu-id[,...]

### Parameter

> #### cpu-id

> Specifies a decimal value representing the identity of a processor in an OpenVMS multiprocessing system. On a VAX 6000 system or an Alpha 7000 system, the CPU is the backplane slot number of the processor.

### Qualifiers

> #### /ALL

> Applies the specified operation to all CPUs in the active set.

> #### /CAPABILITY

> #### /NOCAPABILITY

> Allows bits in the process user capability mask to be set or cleared individually, in groups, or all at once.

> Note The SET CPU/[NO]CAPABILITY command will fail if there is an active process that requires a capability that is not available on any remaining active CPU.

> Specifying the /CAPABILITY qualifier has no direct effect, but merely indicates the target of the operations specified by the following secondary qualifiers:

> /SET=( n[,...]) | Sets all user capabilities defined by the position values n, where n has the range of 1 to 16.
> /CLEAR=( n[,...]) | Clears all user capabilities defined by the position values n, where n has the range of 1 to 16.

> The secondary qualifiers can all be used at once as long as the user capability bits defined in the /SET and /CLEAR parameters do not overlap.

> The /NOCAPABILITY qualifier clears all user capability bits.

> #### /CLEAR=(n[,...])

> Clears all user capabilities defined by the position values n specified by the /CAPABILITY qualifier.

> #### /GLOBAL

> Modifies the global cell SCH$GL_DEFAULT_CPU_CAP. This global cell is used to initialize the user capability mask of CPUs that are brought into the active set for the first time.

> #### /SET=(n[,...])

> Sets all user capabilities defined by the position values n specified by the /CAPABILITY qualifier.

###

#### Examples

#1
    $ SET CPU/CAPABILITY/GLOBAL/SET=(2,4)

> This command sets user capabilities 2 and 4 in the global cell SCH$GL_DEFAULT_CPU_CAP.

#2
    $ SET CPU/CAPABILITY/GLOBAL/SET=(2,4) 0

> This command sets user capabilities 2 and 4 in the global cell SCH$GL_DEFAULT_CPU_CAP, as well in the active CPU 0.

#3
    $ SET CPU/CAPABILITY/SET=(1,2) 0

    $ SHOW CPU/FULL

    PIPERI, a DEC 3000 Model 500
    Multiprocessing is ENABLED. Full checking synchronization image loaded.
    Minimum multiprocessing revision levels: CPU = 1

    System Page Size = 8192
    System Revision Code =
    System Serial Number =
    Default CPU Capabilities:
            System:         QUORUM RUN
    Default Process Capabilities:
            System:         QUORUM RUN

    PRIMARY CPU = 00

    CPU 00 is in RUN state
    Current Process: VMSADU          PID = 00000094
    Serial Number:
    Revision:       F001
    VAX floating point operations supported.
    IEEE floating point operations and data types supported.
    PALCODE: Revision Code = 5.48-01
             PALcode Compatibility = 0
             Maximum Shared Processors = 0
             Memory Space:  Physical address = 00000000 00054000
                            Length = 81920
             Scratch Space: Physical address = 00000000 00104000
                            Length = 8192
    Capabilities of this CPU:
            System:         PRIMARY QUORUM RUN
            User bitmask:   00000003
    Processes which can only execute on this CPU:
            NETACP           PID = 0000008F  Reason: PRIMARY Capability

    $ SET CPU/CAPABILITY/CLEAR=1 0

    $ SHOW CPU/FULL

    PIPERI, a DEC 3000 Model 500
    Multiprocessing is ENABLED. Full checking synchronization image loaded.
    Minimum multiprocessing revision levels: CPU = 1

    System Page Size = 8192
    System Revision Code =
    System Serial Number =
    Default CPU Capabilities:
            System:         QUORUM RUN
    Default Process Capabilities:
            System:         QUORUM RUN

    PRIMARY CPU = 00

    CPU 00 is in RUN state
    Current Process: VMSADU          PID = 00000094
    Serial Number:
    Revision:       F001
    VAX floating point operations supported.
    IEEE floating point operations and data types supported.
    PALCODE: Revision Code = 5.48-01
             PALcode Compatibility = 0
             Maximum Shared Processors = 0
             Memory Space:  Physical address = 00000000 00054000
                            Length = 81920
             Scratch Space: Physical address = 00000000 00104000
                            Length = 8192
    Capabilities of this CPU:
            System:         PRIMARY QUORUM RUN
            User bitmask:   00000002
    Processes which can only execute on this CPU:
            NETACP           PID = 0000008F  Reason: PRIMARY Capability

> In this example, the first SET CPU command sets user capabilities 1 and 2 for CPU 0. The second SET CPU command clears capability 1.

## SET DAY

> Sets the default day type specified in the user authorization file (UAF) for the current day.

> Requires OPER (operator) privilege.

### Format

> SET DAY

### Parameters

> None.

### Description

> The SET DAY command overrides the default primary and secondary day types that are used to control daily logins. These default day types are defined by the system manager in the user authorization file (UAF).

> The SET DAY command is useful when you need to override the day type because of a change in the work days of a particular week. For example, Monday, which is normally a work day, is occasionally a holiday. You can use the SET DAY command to override the normal day type for Monday and set it to a different day type.

### Qualifiers

> #### /DEFAULT

> Overrides any previous SET DAY specification and specifies that the normal UAF defaults are to be used to determine today's day type.

> #### /LOG

> #### /NOLOG (default)

> Controls whether log information is displayed at the terminal to confirm that the new SET DAY information has been set.

> #### /PRIMARY

> Sets today until midnight to a primary day.

> #### /SECONDARY

> Sets today until midnight to a secondary day.

### Examples

#1
    $ SET DAY/PRIMARY

> The SET DAY command in this example overrides the current default day type and sets today until midnight to a primary day.

#2
    $ SET DAY/DEFAULT

> The SET DAY command in this example overrides the previous SET DAY command and sets today's day type to the UAF-defined default.

## SET DEFAULT

> Sets your default device and directory specifications. The new default is applied to all subsequent file specifications that do not explicitly include a device or directory name.

> When you change the default device assignment, the system equates the specified device with the logical name SYS$DISK.

### Format

> SET DEFAULT [device-name[:]][directory-spec]

### Parameters

> #### device-name[:]

> Specifies the name of the device you want to go to.

> #### directory-spec

> Specifies the name of the directory you want to go to. A directory name must be enclosed in brackets ([ ]). Use the minus sign (-) to specify the next higher directory from the current default.

> On Alpha systems, if the length of the resulting default directory specification exceeds 255 characters, the SET DEFAULT attempts to replace the default directory string with a generated directory specification. If this happens, then in addition to the normal syntax check, the entire path to that specification, including the device, is verified and must exist for the call to succeed.

> On Alpha systems, if the process parse style is set to extended, then the directory specification may include a directory ID (DID).

> You must specify either the device-name parameter or the directory-spec parameter. If you specify only the device name, the current directory is the default for the directory-spec parameter. If you specify only the directory name, the current device is the default for the device-name parameter.

> You can use a logical name but it must constitute at least the device part of the specification. When you use a search list logical name as the parameter, the logical name is not translated by the SET DEFAULT command. Instead, the SET DEFAULT command retains the logical name so that OpenVMS Record Management Services (RMS) is able to access the entire search list. If you enter the SHOW DEFAULT command, the search list logical name is displayed as the default device, along with its equivalence strings.

###

#### Examples

#1
    $ SET DEFAULT [TANNER]

> The SET DEFAULT command in this example changes the default directory to [TANNER]. The default disk device does not change.

#2
    $ SET DEFAULT $FLOPPY1:[MOREAU.MEMOS]

> The SET DEFAULT command in this example sets your default to the MOREAU.MEMOS subdirectory on $FLOPPY1.

#3
    $ SET DEFAULT $FLOPPY1:

> The SET DEFAULT command in this example sets the default device to $FLOPPY1. The directory name does not change.

#4
    $ SET DEFAULT [-]

> The SET DEFAULT command in this example changes the default directory to the parent directory of the one you are currently in. For example, if the current directory is $FLOPPY1:[NIELSEN.MEMOS], this command sets your default to $FLOPPY1:[NIELSEN]. If you are in $FLOPPY1:[NIELSEN], this command sets your default to the master directory on the disk---$FLOPPY1:[000000].

#5
    $ SAVEDEF = F$ENVIRONMENT("DEFAULT")
    $ SET DEFAULT [122001.ZAMORA.APP10]
        .
        .
        .
    $ SET DEFAULT  'SAVEDEF'

> The command procedure in this example uses the F$ENVIRONMENT lexical function to save the current default directory in the symbol named SAVEDEF. The SET DEFAULT command changes the default directory 122001.ZAMORA.APP10. Later, the symbol SAVEDEF is used to restore the original default directory.

#6
    $ SHOW DEFAULT
    WORK:[TOP]
    $ DEFINE X WORK:[TOP.SUB1],WORK:[TOP.SUB2]
    $ SET DEFAULT X
    $ SHOW DEFAULT
    X:[TOP]
     =   WORK:[TOP.SUB1]
     =   WORK:[TOP.SUB2]
    $ DIRECTORY
    Directory WORK:[TOP.SUB1]
    KUDOS.TMP;1
    Total of 1 file.
    Directory WORK:[TOP.SUB2]
    KUDOS.TMP;1
    Total of 1 file.
    Grand total of 2 directories, 2 files.
    $ DIRECTORY []
    Directory WORK:[TOP]
    KUDOS.TMP;1           NETSERVER.LOG;2
    Total of 2 files.

> In this example, the default directory is WORK:[TOP]. X is then defined to be a search list consisting of two subdirectories. When the SET DEFAULT X command is entered, the search list (X) is equated with the logical name SYS$DISK and is entered into the disk field. The subsequent SHOW DEFAULT command shows both the search list and the current default directory, followed by the expanded search list.

> If a DIRECTORY command is entered, the directories searched are those contained in the logical name X; however, if the current default directory specification ([]) is explicitly entered, the current default directory, rather than SYS$DISK, is searched.

#7
    $SET PROCESS/PARSE_STYLE=EXTENDED
    $SET DEFAULT WORK:[11,1,0]
    $SHOW DEFAULT
    WORK:[11,1,0]
    $DIRECTORY
    Directory WORK:[11,1,0]
    X.X;1
    Total of 1 file.

> On Alpha systems, the SET DEFAULT command in this example uses a directory ID (DID) in the directory specification.

#8
    $SET PROCESS/PARSE_STYLE=EXTENDED
    $SET DEFAULT -
    WORK:[.LONG_DIRECTORY_NAME_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
    $SET DEFAULT -
    WORK:[.LONG_SUBDIRECTORY_NAME_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB]
    $SET DEFAULT -
    WORK:[.LONG_SUBDIRECTORY_NAME_CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC]
    $SET DEFAULT -
    WORK:[.LONG_SUBDIRECTORY_NAME_DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD]
    $SET DEFAULT -
    WORK:[.LONG_SUBDIRECTORY_NAME_EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE]
    $SHOW DEFAULT
    MDA0:[15,1,0]
    $SET DEFAULT [-]
    %RMS-F-DIR, error in directory name
    $SET DEFAULT [.TEST]
    $SHOW DEFAULT
    MDA0:[15,1,0.TEST]

> On Alpha systems, because the total length of the default directory string would exceed 255 characters in this example, a Directory ID is used in the directory specification. When the default directory string is replaced with a Directory ID, it is not possible to use the minus sign to specify the next higher directory.

Previous | Next | Contents | Index

| privacy and legal statement |
9996PRO_050.HTML