Document revision date: 30 March 2001

## OpenVMS DCL Dictionary

Previous | Contents | Index

## DELETE/FORM

> Deletes a form (for printer or terminal queues) previously established with the DEFINE/FORM command. The /FORM qualifier is required.

> Requires OPER (operator) privilege.

### Format

> DELETE/FORM form-name

### Parameter

> #### form-name

> Specifies the name of the form to be deleted.

### Description

> The DELETE/FORM command deletes a form definition from the system forms table. When you delete a form, there can be no outstanding references to the form either in queues that have been mounted with the form or by jobs requesting that form. To locate all references to the form, use the SHOW QUEUE/FULL command.

> To modify a form's name or number, you must delete and redefine the form. Values for any DEFINE/FORM qualifier can be modified by reentering the DEFINE/FORM command with different values, as long as the form name and number remain the same.

### Qualifier

> #### /LOG

> #### /NOLOG (default)

> Controls whether the DELETE/FORM command displays the name of each form after its deletion.

### Examples

#1
    $ DELETE/FORM CENTER

> The DELETE/FORM command in this example deletes the form named CENTER.

#2
    $ DEFINE/FORM -
    _$ /DESCRIPTION="letter size continuous form paper" CFLET 7
       .
       .
       .
    $ DELETE/FORM CFLET
    $ DEFINE/FORM -
    _$ /DESCRIPTION="letter size continuous form paper" LETTER_CONT 7

> The DEFINE/FORM command in this example establishes the form CFLET with number 7 to mean continuous-form paper 8.5 inches by 11 inches. To change the name of the form, delete the form named CFLET and define a new one named LETTER_CONT.

## DELETE/INTRUSION_RECORD

> Removes an entry from the break-in database.

> Requires CMKRNL (change mode to kernel) and SECURITY privileges.

### Format

> DELETE/INTRUSION_RECORD source

### Parameter

> #### source

> Specifies the name of the device or the remote system where the user is attempting to log in. The source name can be presented in the syntax of another operating system domain, for example, one that is case sensitive or conflicts with DCL syntax rules. In such cases, you must enclose the source parameter in quotation marks.

### Description

> Use the DELETE/INTRUSION_RECORD command to remove an entry from the break-in database. For example, if the user Hammer repeatedly attempted to log in to terminal TTA24 with an expired password, the SHOW INTRUSION command would display the following entry:

>     Intrusion  Type      Count    Expiration   Source

>     TERM_USER   INTRUDER    9      10:29:39.16   TTA24:HAMMER

> The terminal is locked out of the system because the login failure limit has been reached. When Hammer approaches you and you identify the problem as an expired password, you can then use the DELETE/INTRUSION command to remove the record from the break-in database.

### Qualifiers

> #### /NODE=(node-name[,...])

> Deletes the node information relating to the specified nodes. If the specified nodes are the only nodes in the node information list, the intrusion record is also deleted.

###

#### Examples

#1
    $ DELETE/INTRUSION_RECORD TTC2:

> In this example, the DELETE/INTRUSION_RECORD command removes all intrusion records generated by break-in attempts on TTC2. No user name is specified because none of the login failures occurred for valid users.

#2
    $ DELETE/INTRUSION_RECORD "AV34C2/LC-2-10":FORGETFUL

> In this example, the source of the break-in is a local terminal that is connected to a terminal server. To delete the record from the break-in database, you must enclose the terminal port name within quotation marks so that the operating system interprets the slash as a foreign character and not as a qualifier.

#3
    $ DELETE/INTRUSION_RECORD NODE1::HAMMER

> This command removes all intrusion entries generated from node NODE1 for user HAMMER.

#4
    $ DELETE/INTRUSION_RECORD/NODE=(CAPPY,INDI)
    $ SHOW INTRUSION
    NETWORK      SUSPECT       2   26-JUL-2001 08:51:25.66  BARNEY::HAMMER
        Node: TSAVO      Count:    2

> This command removes intrusion entries for the nodes CAPPY and INDI.

#5
    $ DELETE/INTRUSION_RECORD/NODE=FOOBAR
    $ SHOW INTRUSION
    NETWORK      SUSPECT       2   26-JUL-2001 08:51:25.66  BARNEY::HAMMER
        Node: TSAVO      Count:    2

> This command removes intrusion entries for the node FOOBAR.

#6
    $ DELETE/INTRUSION_RECORD/NODE=TSAVO
    $ SHOW INTRUSION
    %SHOW-F-NOINTRUDERS, no intrusion records match specification

> This command attempts to remove intrusion entries for node TSAVO, however there were no intrusion records for this node.

## DELETE/KEY

> Deletes key definitions that have been established by the DEFINE/KEY command. The /KEY qualifier is required.

### Format

> DELETE/KEY [key-name]

### Parameter

> #### key-name

> Specifies the name of the key to be deleted. This parameter is incompatible with the /ALL qualifier.

### Qualifiers

> #### /ALL

> Deletes all key definitions in the specified state; the default is the current state. If you use the /ALL qualifier, do not specify a key name. Use the /STATE qualifier to specify one or more states.

> #### /LOG (default)

> #### /NOLOG

> Controls whether messages are displayed indicating that the specified key definitions have been deleted.

> #### /STATE=(state-name[,...])

> #### /NOSTATE (default)

> Specifies the name of the state for which the specified key definition is to be deleted. The default state is the current state. If you specify only one state name, you can omit the parentheses. State names can be any alphanumeric string.

###

#### Examples

#1
    $ DELETE/KEY/ALL
    %DCL-I-DELKEY, DEFAULT key PF1 has been deleted
    %DCL-I-DELKEY, DEFAULT key PF2 has been deleted
    %DCL-I-DELKEY, DEFAULT key PF3 has been deleted
    %DCL-I-DELKEY, DEFAULT key PF4 has been deleted
    $

> In this example, the user has defined keys PF1 to PF4 in the default state. The DELETE/KEY command deletes all key definitions in the current state, which is the default state.

#2
    $ DEFINE/KEY PF3 "SHOW TIME" /TERMINATE
    %DCL-I-DEFKEY, DEFAULT key PF3 has been defined
    $ [PF3]
    $ SHOW TIME
     14-DEC-2001 14:43:59
       .
       .
       .
    $ DELETE/KEY PF3
    %DCL-I-DELKEY, DEFAULT key PF3 has been deleted
    $ [PF3]
    $

> In this example, the DEFINE/KEY command defines the PF3 key on the keypad as SHOW TIME. To delete the definition for the PF3 key, use the DELETE/KEY command. When the user presses PF3, only the system prompt is displayed.

## DELETE/QUEUE

> Deletes a print or batch queue created by the INITIALIZE/QUEUE command, and deletes all the jobs in the queue. The /QUEUE qualifier is required.

> Requires manage (M) access to the queue.

### Format

> DELETE/QUEUE queue-name[:]

### Parameter

> #### queue-name[:]

> Specifies the name of the queue to be deleted.

### Description

> To delete a queue, use the following procedure:
> 1. Stop the specified queue by using the STOP/QUEUE/NEXT command.
>    The STOP/QUEUE/NEXT command stops the specified queue after all executing jobs have completed processing. Wait for any executing jobs to complete processing.
> 2. Make sure that there are no outstanding references to the specified queue.
>    If a generic queue refers to the specified queue as a target execution queue, you must remove the specified queue from the list of target execution queues.
>    If a logical queue refers to the specified queue, you must deassign the logical queue.
>    If the specified queue is a generic queue, jobs that were entered initially on the generic queue and still exist on any of its target queues count as references to the specified queue. Before you can delete the specified queue, you must delete any jobs that were submitted originally to the specified queue and are executing on its target queues, or you must wait until these jobs have completed processing.
> 3. To move jobs from the specified queue to another queue, use the SET ENTRY/REQUEUE or ASSIGN/MERGE commands. Any jobs that remain in the specified queue are deleted when the queue is deleted.
> 4. Enter the DELETE/QUEUE command.

### Qualifier

> #### /LOG

> #### /NOLOG (default)

> Controls whether the DELETE/QUEUE command displays the name of each queue after it is deleted.

### Example

    $ INITIALIZE/QUEUE/DEFAULT=FLAG/START/ON=LPA0 LPA0_QUEUE
       .
       .
       .
    $ STOP/QUEUE/NEXT LPA0_QUEUE
    $ DELETE/QUEUE LPA0_QUEUE

> In this example, the first command initializes and starts the printer queue LPA0_QUEUE. The STOP/QUEUE/NEXT command stops the queue. The DELETE/QUEUE command deletes the queue.

## DELETE/QUEUE/MANAGER

> Deletes a queue manager on a node or VAXcluster system. All queues and jobs managed by the specified queue manager are also deleted. You must first stop the queue manager. The /NAME_OF_MANAGER qualifier is required.

> Requires OPER (operator) and SYSNAM (system logical name) privileges.

### Format

> DELETE/QUEUE/MANAGER/NAME_OF_MANAGER=name

### Parameter

> #### None.

### Description

> To delete a queue manager, use the following procedure:
> 1. Stop the specified queue manager by using the STOP/QUEUE/MANAGER/CLUSTER/NAME_OF_MANAGER=name command.
> 2. Enter the DELETE/QUEUE/MANAGER/NAME_OF_MANAGER command, specifying the queue manager name.

### Qualifier

> #### /NAME_OF_MANAGER=string

> Identifies the name of the queue manager to be deleted. The /NAME_OF_MANAGER qualifier is required. The required name value can be up to 31 characters long and can be a logical name.

### Example

    $ DELETE/QUEUE/MANAGER/NAME_OF_MANAGER=BATCH_MANAGER

> The DELETE/QUEUE/MANAGER/NAME_OF_MANAGER command in this example deletes the queue manager named BATCH_MANAGER. The command removes all references to the specified queue manager from the shared master file of the queue database and deletes the queue and journal files associated with the BATCH_MANAGER's database.

## DELETE/SYMBOL

> Deletes one or all symbol definitions from a local or global symbol table. The /SYMBOL qualifier is required.

### Format

> DELETE/SYMBOL [symbol-name]

### Parameter

> #### symbol-name

> Specifies the name of the symbol to be deleted. A name is required unless the /ALL qualifier is specified. The symbol-name parameter is incompatible with the /ALL qualifier. Symbol names can have from 1 to 255 characters. By default, the DELETE/SYMBOL command assumes that the symbol is in the local symbol table for the current command procedure.

### Description

> The DELETE/SYMBOL command deletes a symbol definition from a symbol table. If you do not specify either the global or local symbol table, the symbol is deleted from the local table. If you specify both the /GLOBAL and /LOCAL qualifiers, only the last specified qualifier is accepted. The /SYMBOL qualifier must always immediately follow the DELETE command name.

### Qualifiers

> #### /ALL

> Deletes all symbols from the specified table. If you do not specify either the /LOCAL or the /GLOBAL qualifier, all symbols defined at the current command level are deleted. The /ALL qualifier is incompatible with the symbol-name parameter.

> #### /GLOBAL

> Deletes the symbol from the global symbol table of the current process.

> #### /LOCAL (default)

> Deletes the symbol from the local symbol table of the current process.

> #### /LOG

> #### /NOLOG (default)

> Controls whether an informational message listing each symbol being deleted is displayed.

### Examples

#1
    $ DELETE/SYMBOL/ALL

> In this example, the DELETE/SYMBOL command deletes all symbol definitions at the current command level.

#2
    $ DELETE/SYMBOL/LOG KUDOS
    %DCL-I-DELSYM, LOCAL symbol KUDOS has been deleted

> In this example, the DELETE/SYMBOL command deletes the symbol KUDOS from the local symbol table for the current process. In addition, the /LOG qualifier causes an informational message, listing the symbol being deleted, to be displayed.

#3
    $ DELETE/SYMBOL/GLOBAL PDEL

> In this example, the DELETE/SYMBOL command deletes the symbol named PDEL from the global symbol table for the current process.

## DEPOSIT

> Replaces the contents of the specified locations in virtual memory and displays the new contents.

> The DEPOSIT command, together with the EXAMINE command, aids in debugging programs interactively. The DCL command DEPOSIT is similar to the DEPOSIT command of the OpenVMS Debugger.

> Requires user-mode read (R) and write (W) access to the virtual memory location whose contents you wish to change.

### Format

> DEPOSIT location=data[,...]

### Parameters

> #### location

> Specifies the starting virtual address or range of virtual addresses (where the second address is larger than the first) whose contents are to be changed. A location can be any valid integer expression containing an integer value, a symbol name, a lexical function, or a combination of these entities. Radix qualifiers determine the radix in which the address is interpreted; hexadecimal is the initial default radix. Symbol names are always interpreted in the radix in which they were defined. The radix operators %X, %D, or %O can precede the location. A hexadecimal value must begin with a number (or be preceded by %X).

> The specified location must be within the virtual address space of the image currently running in the process.

> The DEPOSIT and EXAMINE commands maintain a pointer to a current memory location. The DEPOSIT command sets this pointer to the byte following the last byte modified; you can refer to this pointer by using a period (.) in subsequent EXAMINE and DEPOSIT commands. If the DEPOSIT command cannot deposit the specified data, the pointer does not change. The EXAMINE command does not change the value of the pointer.

> #### data[,...]

> Specifies the data to be deposited into the specified locations. By default, the data is assumed to be in hexadecimal format; it is then converted to binary format and is written into the specified location.

> If you specify more than one item, separate the items with commas (,). The DEPOSIT command writes the data in consecutive locations, beginning with the address specified.

> When non-ASCII data is deposited, you can specify each item of data using any valid integer expression.

> When ASCII data is deposited, only one item of data is allowed. All characters to the right of the equal sign are considered to be part of a single string. The characters are converted to uppercase, and all spaces are compressed.

### Description

> When the DEPOSIT command completes, it displays both the virtual memory address into which data is deposited and the new contents of the location, as follows:

>     address:  contents

> If the specified address can be read from but not written to by the current access mode, the DEPOSIT command displays the original contents of the location. If the specified address can be neither read from nor written to, the DEPOSIT command displays asterisks (*) in the data field. The DEPOSIT command maintains a pointer at that location (at the byte following the last byte modified).

> If you specify a list of numeric values, some but not all of the values may be successfully deposited before an access violation occurs. If an access violation occurs while ASCII data is being deposited, nothing is deposited.

> Radix Qualifiers: The radix default for a DEPOSIT or EXAMINE command determines how the command interpreter interprets numeric literals. The initial default radix is hexadecimal; all numeric literals in the command line are assumed to be hexadecimal values. If a radix qualifier modifies the command, that radix becomes the default for subsequent EXAMINE and DEPOSIT commands, until another qualifier overrides it. For example:

>     $ DEPOSIT/DECIMAL 900=256
>     00000384:  256

> The DEPOSIT command interprets both the location 900 and the value 256 as decimal. All subsequent DEPOSIT and EXAMINE commands assume that numbers you enter for addresses and data are decimal. Note that the DEPOSIT command always displays the address location in hexadecimal.

> Symbol values defined by = (assignment statement) commands are always interpreted in the radix in which they were defined.

> Note that hexadecimal values entered as deposit locations or as data to be deposited must begin with a numeric character (0 to 9); otherwise, the command interpreter assumes that you have entered a symbol name and attempts symbol substitution.

> You can use the radix operators %X, %D, or %O to override the current default when you enter the DEPOSIT command. For example:

>     $ DEPOSIT/DECIMAL %X900=10

> This command deposits the decimal value 10 in the location specified as hexadecimal 900.

> Length Qualifiers: The initial default length unit for the DEPOSIT command is a longword. If a list of data values is specified, the data is deposited into consecutive longwords beginning at the specified location. If a length qualifier modifies the command, that length becomes the default for subsequent EXAMINE and DEPOSIT commands, until another qualifier overrides it. If you specify data values that are longer than the specified length, an error occurs.

> Length qualifiers are ignored when ASCII values are deposited.

> Restriction on Placement of Qualifiers: The DEPOSIT command analyzes expressions arithmetically. Therefore, qualifiers, which must be preceded by a slash (/), must appear immediately after the command name to be interpreted correctly.

### Qualifiers

> #### /ASCII

> Indicates that the specified data is ASCII.

> Only one data item is allowed; all characters to the right of the equal sign (=) are considered to be part of a single string. Unless they are enclosed within quotation marks (" "), characters are converted to uppercase and multiple spaces are compressed to a single space before the data is written in memory.

> The DEPOSIT command converts the data to its binary equivalent before placing it in virtual memory. When you specify /ASCII, or when ASCII mode is the default, the location you specify is assumed to be hexadecimal.

> #### /BYTE

> Requests that data be deposited 1 byte at a time.

> #### /DECIMAL

> Indicates that the data is decimal. The DEPOSIT command converts the data to its binary equivalent before placing it in virtual memory.

> #### /HEXADECIMAL

> Indicates that the data is hexadecimal. The DEPOSIT command converts the data to its binary equivalent before placing it in virtual memory.

> #### /LONGWORD

> Requests that data be deposited a longword at a time.

> #### /OCTAL

> Indicates that the data is octal. The DEPOSIT command converts the data to its binary equivalent before placing it in virtual memory.

> #### /WORD

> Requests that the data be deposited one word at a time.

### Examples

#1
    $ RUN MYPROG
       .
       .
       .

    [Ctrl/Y]
    $ EXAMINE %D2145876444
    7FE779DC:  0000000000
    $ DEPOSIT .=17
    7FE779DC:  0000000017
    $ CONTINUE

> The RUN command executes the image MYPROG.EXE; subsequently, Ctrl/Y interrupts the program. Assuming that the initial defaults of the /HEXADECIMAL and /LONGWORD qualifiers are in effect, the DEPOSIT command places a longword value 17 (23 decimal) in virtual memory location 2145876444.

> Because the EXAMINE command sets up a pointer to the current memory location, which in this case is virtual address 2145876444, you can refer to this location with a period (.) in the DEPOSIT command.

> The CONTINUE command resumes execution of the image.

#2
    $ DEPOSIT/ASCII   2C00=FILE: NAME: TYPE:
    00002C00:  FILE: NAME: TYPE:...

> In this example, the DEPOSIT command deposits character data at hexadecimal location 2C00 and displays the contents of the location after modifying it. Because the current default length is a longword, the response from the DEPOSIT command displays full longwords. The ellipsis (...) indicates that the remainder of the last longword of data contains information that was not modified by the DEPOSIT command.

#3
    $ EXAMINE 9C0             !  Look at Hex location 9C0
    000009C0:  8C037DB3
    $ DEPOSIT .=0             !  Deposit longword of 0
    000009C0:  00000000
    $ DEPOSIT/BYTE .=1        !  Put 1 byte at next location
    000009C4:  01
    $ DEPOSIT .+2=55          !  Deposit 55 next
    000009C7:  55
    $ DEPOSIT/LONG .=0C,0D,0E !  Deposit longwords
    000009C8:  0000000C 0000000D 0000000E

> The sequence of DEPOSIT commands in the above example illustrates how the DEPOSIT command changes the current position pointer. Note that after you specify the /BYTE qualifier, all data is deposited and displayed in bytes, until the /LONGWORD qualifier restores the system default.

#4
    $ BASE=%X200               !  Define a base address
    $ LIST=BASE+%X40           !  Define offset from base
    $ DEPOSIT/DECIMAL LIST=1,22,333,4444
    00000240:  00000001 00000022 00000333 00004444
    $ EXAMINE/HEX LIST:LIST+0C !  Display results in hex
    00000240:  00000001 00000016 0000014D 0000115C

> The assignment statements define a base address in hexadecimal and a label at a hexadecimal offset from the base address. The DEPOSIT command reads the list of values and deposits each value into a longword, beginning at the specified location. The EXAMINE command requests a hexadecimal display of these values.

Previous | Next | Contents | Index

| privacy and legal statement |
9996PRO_013.HTML