Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ACCOUNTING

ALLOCATE

ANALYZE

APPEND

ASSIGN

ATTACH

BACKUP

CALL

CANCEL

CLOSE

CONNECT

CONTINUE

CONVERT

COPY

CREATE

DEALLOCATE

DEASSIGN

DEBUG

DECK

DEFINE

DELETE

DEPOSIT

DIFFERENCES

DIRECTORY

DISCONNECT

DISMOUNT

DUMP

EDIT

EOD

EXAMINE

EXIT

GOSUB

GOTO

HELP

IF

INITIALIZE

INQUIRE

LIBRARY

LINK

LOGOUT

MAIL

MERGE

MESSAGE

MOUNT

ON

OPEN

PRINT

PURGE

READ

RECALL

RENAME

REPLY

REQUEST

RETURN

RUN

RUNOFF

SEARCH

SET

SHOW

SORT

SPAWN

START

STOP

SUBMIT

SYNCHRONIZE

THEN

TYPE

UNLOCK

WAIT

WRITE

Ascii

Command procedure

Expressions

File spec

Hints

Instructions

Lexicals

New Features V44

Numbers

Privileges

Procedures

Protection

Strings

Symbol assignment

Time

Batch and print jobs

Command procedures

Contacting people

Creating processes

Files and directories

Logical names

Physical devices

System management

Terminal environment

User environment

F$CVSI

F$CVTIME

F$CVUI

F$DIRECTORY

F$EDIT

F$ELEMENT

F$ENVIRONMENT

F$EXTRACT

F$FAO

F$FILE_ATTRIBUTES

F$GETDVI

F$GETJPI

F$GETSYI

F$IDENTIFIER

F$INTEGER

F$LENGTH

F$LOCATE

F$MESSAGE

F$MODE

F$PARSE

F$PID

F$PRIVILEGE

F$PROCESS

F$SEARCH

F$SETPRV

F$STRING

F$TIME

F$TRNLNM

F$TYPE

F$USER

F$VERIFY

start-bit

number-of-bits

string

Example

input time

format

field

Example

start-bit

number-of-bits

string

Example

Example

string

edit-list

Example

number

delimiter

string

Example

item

Example

start

length

string

Example

format-instruction

file-spec

item

Example

device-name

item

Example

process-id

item

Example

item

Example

identifier

translation

Example

string

Example

string

Example

substring

string

Example

message-code

Example

Example

file-spec

def-spec1

def-spec2

field

type

Example

context symbol

Example

priv-list

Example

Example

file-spec

stream-id

Example

priv-list

Example

expression

Example

Example

name

table

index

mode

case

item

Example

symbol

Example

Example

procedure

image

Example

Backup files

Batch job

Command procedures

Directory operations

Diskette operations

File operations

Format of command

Install option

Log in

Log out

Logical names

Mail

Print job

Set host

Shut down system

Sort merge

Spawn subprocess

Start system

Terminal keys

ACL

Protection Mask

Identifiers

HELP — MicroVMS 4.6

Additional information available:

ACCOUNTINGALLOCATEANALYZEAPPENDASSIGNATTACH
BACKUPCALLCANCELCLOSECONNECTCONTINUECONVERT
COPYCREATEDEALLOCATEDEASSIGNDEBUGDECK
DEFINEDELETEDEPOSITDIFFERENCESDIRECTORY
DISCONNECTDISMOUNTDUMPEDITEODEXAMINE
EXITGOSUBGOTOHELPIFINITIALIZEINQUIRE
LIBRARYLINKLOGOUTMAILMERGEMESSAGEMOUNT
ONOPENPRINTPURGEREADRECALLRENAME
REPLYREQUESTRETURNRUNRUNOFFSEARCHSET
SHOWSORTSPAWNSTARTSTOPSUBMITSYNCHRONIZE
THENTYPEUNLOCKWAITWRITE

AsciiCommand procedureExpressionsFile specHintsInstructions
LexicalsNew Features V44NumbersPrivilegesProceduresProtection
StringsSymbol assignmentTime

Ascii

 To calculate the hexadecimal value of a character, use the column position
 of the character as the 16's position, and the row position as the units
 position.  For example, an uppercase A has a hexadecimal value of 41.

     +------------------------------------------+
     |     0     1     2    3   4   5   6   7   |
     +---+--------------------------------------+
     | 0 | NUL   DLE   SP   0   @   P   `   p   |
     | 1 | SOH   DC1   !    1   A   Q   a   q   |
     | 2 | STX   DC2   "    2   B   R   b   r   |
     | 3 | ETX   DC3   #    3   C   S   c   s   |
     | 4 | EOT   DC4   $    4   D   T   d   t   |
     | 5 | ENQ   NAK   %    5   E   U   e   u   |
     | 6 | ACK   SYN   &    6   F   V   f   v   |
     | 7 | BEL   ETB   '    7   G   W   g   w   |
     | 8 | BS    CAN   (    8   H   X   h   x   |
     | 9 | HT    EM    )    9   I   Y   i   y   |
     | A | LF    SUB   *    :   J   Z   j   z   |
     | B | VT    ESC   +    ;   K   [   k   {   |
     | C | FF    FS    ,    <   L   \   l   |   |
     | D | CR    GS    -    =   M   ]   m   }   |
     | E | SO    RS    .    >   N   ^   n   ~   |
     | F | SI    US    /    ?   O   _   o   DEL |
     +---+--------------------------------------+

Command procedure

 A command procedure is a file containing one or more DCL commands.  To
 execute the commands in a command procedure, type an at sign (@)
 followed by the name of the file containing the commands.

 For more information, see HINTS Command_procedures.

Expressions

 The data operations and comparisons are listed below in
 order of precedence beginning with the highest (operations
 and comparisons grouped together in the table have the same
 precedence).

 +--------+---------------------------------------------------------+
 |Operator|                    Description                          |
 +--------+---------------------------------------------------------+
 |   +    | Indicates a positive number                             |
 |   -    | Indicates a negative number                             |
 +--------+---------------------------------------------------------+
 |   *    | Multiplies two numbers                                  |
 |   /    | Divides two numbers                                     |
 +--------+---------------------------------------------------------+
 |   +    | (1) Adds two numbers                                    |
 |        | (2) Concatenates two character strings                  |
 |   -    | (1) Subtracts two numbers                               |
 |        | (2) Subtracts two character strings                     |
 +--------+---------------------------------------------------------+
 | .EQS.  | Tests if two character strings are equal                |
 | .GES.  | Tests if first character string is greater than or equal|
 | .GTS.  | Tests if first character string is greater than         |
 | .LES.  | Tests if first character string is less than or equal   |
 | .LTS.  | Tests if first character string is less than            |
 | .NES.  | Tests if two character strings are not equal            |
 | .EQ.   | Tests if two numbers are equal                          |
 | .GE.   | Tests if first number is greater than or equal to       |
 | .GT.   | Tests if first number is greater than                   |
 | .LE.   | Tests if first number is less than or equal to          |
 | .LT.   | Tests if first number is less than                      |
 | .NE.   | Tests if two numbers are not equal                      |
 +--------+---------------------------------------------------------+
 | .NOT.  | Logically negates a number                              |
 +--------+---------------------------------------------------------+
 | .AND.  | Combines two numbers with a logical AND                 |
 +--------+---------------------------------------------------------+
 | .OR.   | Combines two numbers with a logical OR                  |
 +--------+---------------------------------------------------------+

File spec

 node::device:[directory]filename.type;version

Hints

 Type the name of one of the categories listed below to obtain a list
 of related commands and topics.  To obtain detailed information on a
 topic, press the RETURN key until you reach the "Topic?" prompt and then
 type the name of the topic.

 Topics that appear in all upper case are DCL commands.

Additional information available:

Batch and print jobsCommand proceduresContacting peopleCreating processes
Files and directoriesLogical namesPhysical devicesSystem management
Terminal environmentUser environment

Batch and print jobs

   Submitting batch and print jobs and controlling batch and output
   queues.

 ASSIGN/MERGE      Moves jobs from one queue to another
 ASSIGN/QUEUE      Assigns a queue to a device
 DEASSIGN/QUEUE    Deassigns a queue from a device
 DELETE/ENTRY      Deletes a job or jobs from a queue
 DELETE/QUEUE      Deletes a queue and all its jobs
 INITIALIZE/QUEUE  Creates and initializes a queue
 PRINT             Places a job in an output queue
 SET QUEUE         Changes the current status or attributes of a queue
 SET QUEUE/ENTRY   Changes the attributes of a job
 SHOW PRINTER      Displays default characteristics defined for a printer
 SHOW QUEUE        Displays the attributes of the jobs in a queue
 START/QUEUE       Starts or restarts a queue
 STOP/QUEUE        Stops a queue
 SUBMIT            Places a job in a batch queue
 SYNCHRONIZE       Suspends processing until a specified job completes

 Type ? to display the list of HINTS.
 Type BATCH_AND_PRINT_JOBS to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Command procedures

   Performing operations specific to command procedures.

 Ascii             ASCII character set
 Command_procedure How to invoke command procedures
 Expressions       String and numeric operators
 Numbers           Numeric format
 Strings           String format
 Symbol_assignment Symbol assignment statements
 Time              Date and time formats

 CALL              Transfers control to a labeled subroutine
 DECK              Marks the beginning of a special input stream
 DELETE/SYMBOL     Deletes one or more names from a symbol table
 EOD               Marks the end of a special input stream
 EXIT              Terminates a command procedure
 F$*               List of functions that can be used in expressions
 GOSUB             Transfers control to a labeled subroutine
 GOTO              Transfers control to a label in a command procedure
 IF                Executes a command only if an expression is true
 INQUIRE           Requests input and assigns the result to a symbol
 ON                Specifies an action to perform when a condition occurs
 RETURN            Terminates a GOSUB subroutine
 SET CONTROL       Controls the use of the CTRL/T and CTRL/Y keys
 SET ON            Sets error checking on or off
 SET RESTART_VALUE Sets the value of a batch job restart symbol
 SET SYMBOL        Controls access to local and global symbols
 SET VERIFY        Displays command input as it is read
 SHOW SYMBOL       Displays the value of a symbol
 WAIT              Suspends processing for a specified period of time

 OPEN              Makes a file available for reading or writing
 CLOSE             Terminates processing of a file
 READ              Reads and optionally deletes a record from an open file
 WRITE             Writes a record to an open file

 Type ? to display the list of HINTS.
 Type COMMAND_PROCEDURES to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Contacting people

   Communicating with other people using the system.

 MAIL              Sends/reads messages to/from other users
 REPLY             Displays a message on one or more terminal screens
 REQUEST           Displays a message on the operator's console

 SHOW USERS        Lists the interactive users on the system

 Type ? to display the list of HINTS.
 Type CONTACTING_PEOPLE to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Creating processes

   Create and switch control between user processes.
   (Also see Batch_and_print_jobs)

 LOGOUT            Terminates an interactive terminal session
 SET PASSWORD      Changes your password

 ANALYZE/PROCESS   Analyzes a process dump
 ATTACH            Switches your terminal between SPAWNed processes
 CONNECT           Connects a physical terminal to a virtual terminal
 DISCONNECT        Disconnects a physical terminal from a virtual terminal
 PRINT             Creates a print job
 RUN/PROCESS       Creates a detached process or subprocess.
 SET HOST          Connects your terminal to another system via DECnet
 SHOW NETWORK      Displays the nodes you can reach from your system
 SPAWN             Creates a subprocess with a similar environment
 SUBMIT            Creates a batch job

 Type ? to display the list of HINTS.
 Type CREATING_PROCESSES to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Files and directories

   Saving and cataloging information on storage devices.
   (Also see Developing_programs and Executing_programs)

 File_spec         File specification format
 Protection        Describes UIC-based and ACL-based protection

 APPEND            Appends one file to another
 COPY              Creates a copy of an existing file or files
 CREATE            Creates a new file
 DELETE            Deletes a file or files
 DIFFERENCES       Displays differences in content between two files
 DIRECTORY         Displays the names of the files in a directory
 EDIT              Creates (optionally) and edits a file
 MERGE             Merges sorted files
 PRINT             Prints the contents of a file
 PURGE             Deletes old versions of a file or files
 RENAME            Recataloges an existing file
 SEARCH            Locates a character string within a file or files
 SORT              Sorts the data in a file
 TYPE              Displays the contents of a file

 SET DEFAULT       Changes the default device and directory
 SHOW DEFAULT      Displays the default device and directory

 DUMP              Displays the uninterpreted contents of a file
 EDIT/ACL          Creates or modifies an access control list (ACL)
 LIBRARY           Creates or modifies various kinds of libraries
 RUNOFF            Formats one or more documents (text files)
 SET DIRECTORY     Changes the characteristics of a directory
 SET DIRECTORY/ACL Edits access control entries (ACEs) and lists (ACLs)
 SET FILE          Changes the characteristics of a file
 SET FILE/ACL      Edits access control entries (ACEs) and lists (ACLs)
 SET PROTECTION    Changes the protection of a file
 SET PROTECT/DEF   Changes the default protection given to files
 UNLOCK            Closes a file accidentally left open

 Type ? to display the list of HINTS.
 Type FILES_AND_DIRECTORIES to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Logical names

   Using higher-level names in place of device and file names.
   (Also see Physical_devices)

 ASSIGN            Equates a logical name to an equivalence string
 CREATE/NAME_TABLE Creates a logical name table
 DEASSIGN          Deletes a logical name
 DEFINE            Equates a logical name to an equivalence string
 SHOW LOGICAL      Displays logical names and their equivalences
 SHOW TRANSLATION  Displays a logical name and its first equivalence

 Type ? to display the list of HINTS
 Type LOGICAL_NAMES to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Physical devices

   Using physical devices.
   (Also see Logical_names, and Terminal_environment)

 Protection        Describes UIC-based and ACL-based protection

 ALLOCATE          Allocates a device for your exclusive use
 DEALLOCATE        Releases an allocated device for general use
 DISMOUNT          Makes a storage device unavailable for processing
 INITIALIZE        Formats a storage device
 MOUNT             Makes a storage device available for processing

 BACKUP            Saves or restores files from storage devices
 SET DEVICE        Sets device characteristics
 SET PRINTER       Sets line printer characteristics
 SET PROTECT/DEV   Sets protection on a non-files device
 SET VOLUME        Sets mounted volume characteristics
 SHOW DEVICES      Displays the status of devices
 SHOW ERROR        Displays device error counts
 SHOW PRINTER      Displays line printer characteristics

 Type ? to display the list of HINTS.
 Type PHYSICAL_DEVICES to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

System management

   Monitoring, maintaining, tuning, and trouble-shooting the system.
   (Also see Batch_and_print_jobs, Logical_names, and Physical_devices)

 ACCOUNTING        Collects, records, and reports accounting information
 BACKUP            Saves or restores files from storage devices
 REPLY             Displays a message on one or more terminal screens
 REQUEST           Displays a message on the operator's console
 SET ACCOUNTING    Initializes the accounting log file
 SET AUDIT         Enables audit trail journaling of security events
 SET DAY           Changes the day type
 SET LOGINS        Sets a limit on the number of interactive users
 SET RIGHTS_LIST   Modifies the process or system rights list
 SET TIME          Resets the system clock
 SHOW ERROR        Displays processor, memory, and device error counts
 SHOW MEMORY       Displays usage information on memory
 SHOW SYSTEM       Lists the processes on the running system
 SHOW USER         Lists the interactive users on the running system

 Type ? to display the list of HINTS.
 Type SYSTEM_MANAGEMENT to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Terminal environment

   Manipulating your terminal-specific interactive environment
   (Also see Physical_devices)

 CONNECT           Connects a physical terminal to a virtual terminal
 DEFINE/KEY        Equates terminal function keys to command lines
 DELETE/KEY        Deletes a terminal function key definition
 DISCONNECT        Disconnects a physical terminal from a virtual terminal
 RECALL            Recalls previously entered interactive commands
 SET CONTROL       Controls the use of the CTRL/T and CTRL/Y keys
 SET HOST          Connects your terminal to another system via DECnet
 SET KEY           Sets a key definition state
 SET PROMPT        Sets the interactive command prompt
 SET TERMINAL      Sets terminal characteristics
 SHOW KEY          Displays one or more function key definitions
 SHOW TERMINAL     Displays terminal characteristics

 Type ? to display the list of HINTS.
 Type TERMINAL_ENVIRONMENT to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

User environment

   Examining and controlling the user environment.
   (Also see Logical_names, Physical_devices, and Terminal_environment)

 Privileges        Lists and describes each process privilege

 SET CONTROL       Controls the use of the CTRL/T and CTRL/Y keys
 SET DEFAULT       Changes the default device and directory
 SET HOST          Connects your terminal to another system via DECnet
 SET MESSAGE       Overrides or supplements system messages
 SET PASSWORD      Changes your password
 SET PROCESS       Changes your process characteristics
 SET PROMPT        Sets the interactive command prompt
 SET PROTECT/DEF   Changes the default protection given to files
 SET RMS_DEFAULT   Changes the default block and buffer count values
 SET UIC           Changes the UIC of your process
 SET WORKING_SET   Changes your working set limit or quota

 SHOW DEFAULT      Displays the default device and directory
 SHOW KEY          Displays one or more function key definitions
 SHOW LOGICAL      Displays logical names and their equivalencies
 SHOW PROCESS      Displays your process characteristics
 SHOW PROTECTION   Displays the default protection
 SHOW QUOTA        Displays your quota of space on a disk volume
 SHOW RMS_DEFAULT  Displays the default block and buffer count values
 SHOW STATUS       Displays brief process characteristics
 SHOW SYMBOL       Displays the value of a symbol
 SHOW TERMINAL     Displays terminal characteristics
 SHOW TIME         Displays the current date and time
 SHOW TRANSLATION  Displays a logical name and its first equivalence
 SHOW WORKING_SET  Displays your working set limit and quota

 Type ? to display the list of HINTS.
 Type USER_ENVIRONMENT to redisplay this particular hint.
 Press the RETURN key before typing a command or topic name.

Instructions

 Invoking the HELP utility
 -------------------------
 The HELP utility displays information about requested VMS topics.  From
 DCL command level (in response to the $ prompt), you can display a list
 of topics for which help information is available, by typing HELP and
 pressing the RETURN key.  The system responds by displaying a brief
 description of how to use HELP, followed by a list of topics for which
 help is available, followed by the prompt "Topic?".

 You can exit from the HELP facility by typing CTRL/Z (that is, pressing
 the CONTROL and Z keys simultaneously) in response to any prompt.

 Specifying topic names
 ----------------------
 To display information on a particular topic, respond to the prompt
 by typing the name of the topic and pressing the RETURN key.

 If you are not sure of the name of the topic for which you need help,
 type the name HINTS.

 To display information on all available topics, type an asterisk (*).

 To display all the information on a topic, type the topic name,
 immediately follwed by an ellipsis (...), e.g., SHOW...

 You  can  specify  percent signs  (%) and  asterisks  (*)  in the
 keyword as wild card (i.e., match all) characters.  Abbreviations
 result in all matches being displayed.

 Subtopic information
 --------------------
 The information displayed by HELP on a particular topic includes a
 description of the topic and a list of subtopics that further describe
 the topic.  To display subtopic information, type one of the subtopic
 names from the list in response to the "Subtopic?" prompt.

 Special responses to prompts
 ----------------------------
 If you press RETURN in response to the "Subtopic?" prompt instead of
 typing a subtopic name, the "Topic?" prompt reappears,  enabling you to
 enter another topic name.  If you press RETURN in response to the
 "Topic?" prompt, you will exit from HELP.

 You can type a question mark (?) in response to any of the prompts to
 to redisplay the most recently requested text and a list of topic or
 subtopic names.  For example, if you type ? in response to the "Subtopic?"
 prompt, a list of subtopics is displayed followed by the "Subtopic?"
 prompt.

Lexicals

  For information on a lexical function, type the name of the lexical
  function and press RETURN.

Additional information available:

F$CVSIF$CVTIMEF$CVUIF$DIRECTORYF$EDITF$ELEMENT
F$ENVIRONMENTF$EXTRACTF$FAOF$FILE_ATTRIBUTES
F$GETDVIF$GETJPIF$GETSYIF$IDENTIFIERF$INTEGERF$LENGTH
F$LOCATEF$MESSAGEF$MODEF$PARSEF$PIDF$PRIVILEGE
F$PROCESSF$SEARCHF$SETPRVF$STRINGF$TIMEF$TRNLNMF$TYPE
F$USERF$VERIFY

F$CVSI

 F$CVSI (start-bit,number-of-bits,string)

 Converts the specified bits in the specified character string to a
 signed number.

Additional information available:

start-bitnumber-of-bitsstringExample

start-bit

 The offset of the starting bit.

number-of-bits

 The length of the bit string, which must be less than or equal to
 the number of bits in the string.

string

 The character string to be edited.

Example

 Converts the low-order four bits of the ASCII character + (the bit
 configuration of this character is 00101011 -- hexadecimal 2B) to a
 signed number:

  $ LOW_FOUR = F$CVSI (0,4,"+")
  $ SHOW SYMBOL LOW_FOUR
    LOW_FOUR = -5   Hex = FFFFFFFB  Octal = 177773

F$CVTIME

 F$CVTIME ([input_time][,format][,field])

 Given a character string containing a time, F$CVTIME returns the
 time or a field of the time in the specified format.  If you omit
 arguments, commas to the left of the last specified argument must
 be included as place holders.

Additional information available:

input timeformatfieldExample

input time

 A string containing an absolute, combination, or delta time, or
 TODAY, TOMORROW, or YESTERDAY.  If input_time is omitted or
 specified as a null string (""""""), the current system date and
 time, in absolute format, is used.  If part(s) of the date field
 are omitted, the missing value(s) default to the current date.  If
 part(s) of the time field are omitted, the missing value(s) default
 to zero.

format

 A character string containing one of the following (do not
 abbreviate):  ABSOLUTE, COMPARISON (default), or DELTA.  Comparison
 format ("yyyy-mm-dd hh:mm:ss.cc") is used for comparing two times.
 If input_time is a delta time, you must specify DELTA.  If input_time
 is an absolute or combination time, format can be either ABSOLUTE
 or COMPARISON.

field

 A character string containing one of the following (do not
 abbreviate): DATE, MONTH, DATETIME (default), SECOND, DAY, TIME,
 HOUR, WEEKDAY, HUNDREDTH, YEAR, MINUTE.  If input_time is a delta
 time and <<format>> is DELTA, you cannot specify MONTH, WEEKDAY,
 or YEAR.

Example

 Returns the current system time in comparison format:
  $ TIME = F$CVTIME ()
  $ SHOW SYMBOL TIME
    TIME = "1984-10-15 20:42:03.21"

F$CVUI

 F$CVUI (start-bit,number-of-bits,string)
Converts the specified bits in the specified character string to an
unsigned number.

Additional information available:

start-bitnumber-of-bitsstringExample

start-bit

 The offset of the starting bit.

number-of-bits

 The length of the bit-string, which must be less than or equal to
 the number of bits in string.

string

 The character string to be edited.

Example

 Converts the low-order four bits of the ASCII character + (the bit
 configuration of this character is 00101011 -- hexadecimal 2B) to an
 unsigned number:

  $ LOW_FOUR = F$CVUI (0,4,"+")
  $ SHOW SYMBOL LOW_FOUR
    LOW_FOUR = 11   Hex = 0000000B  Octal = 000013

F$DIRECTORY

 F$DIRECTORY ()

 Returns the current default directory as a character string.

Additional information available:

Example

Example

 Returns the current default directory:

  $ DEFAULT = F$DIRECTORY ()
  $ SHOW SYMBOL DEFAULT
    DEFAULT = "[ACCOUNTS]"

F$EDIT

 F$EDIT (string, edit-list)

 Edits the character string as specified by edit-list.

Additional information available:

stringedit-listExample

string

 A character string to be edited.  Quoted sections of the string
 are not edited.

edit-list

 A character string containing one or more of the following keywords
 (do not abbreviate, separate keywords with commas):

 +-----------+------------------------------------------------------+
 | COLLAPSE  | Removes all spaces or tabs                           |
 +-----------+------------------------------------------------------+
 | COMPRESS  | Replaces multiple spaces or tabs with a single space |
 +-----------+------------------------------------------------------+
 | TRIM      | Removes leading and trailing spaces or tabs          |
 +-----------+------------------------------------------------------+
 | UNCOMMENT | Removes comments                                     |
 +-----------+------------------------------------------------------+
 | UPCASE    | Changes all lowercase characters to uppercase        |
 +-----------+------------------------------------------------------+

Example

 Compresses the line and removes leading and trailing spaces:

  $ LINE = "  Could  it have   been a  clearer   day? "
  $ LINE = F$EDIT (LINE, "COMPRESS,TRIM")
  $ SHOW SYMBOL LINE
    LINE = "Could it have been a clearer day?"

F$ELEMENT

 F$ELEMENT (number, delimiter, string)

 Extracts one element from a string of elements.

Additional information available:

numberdelimiterstringExample

number

 The number of the element to extract (numbering begins with zero).
 If number exceeds the number of elements in the string, F$ELEMENT
 returns the delimiter.

delimiter

 A character used to separate the elements.

string

 A string containing the delimited list of elements.

Example

 The following command procedure processes files named CHAP1, CHAP2, ...
 CHAP6, CHAPA, CHAPB, and CHAPC, in that order. (0 is included in the
 CHAPTERS string to clarify the procedure logic).

  $ CHAPTERS = "0,1,2,3,4,5,6,A,B,C"
  $ NEXT = 0
  $ LOOP:
  $   NEXT = NEXT + 1
  $   NUM = F$ELEMENT(NEXT,",",CHAPTERS)
  $   RUN INDEX CHAP'NUM'
  $   IF (CHAPTERS .NES. ",") THEN GOTO LOOP

F$ENVIRONMENT

 F$ENVIRONMENT (item)

 Returns information about the current DCL command environment.

Additional information available:

itemExample

item

 A character string containing one of the following (do not
 abbreviate):

 Keyword           Data      Information Returned
 -------           ----      --------------------
 CAPTIVE           string    TRUE if you are logged into a captive
                             account.
 CONTROL           string    Currently enabled control characters.
                             Multiple characters are separated by
                             commas;  if no control characters are
                             enabled, the null string is returned.
 DEFAULT           string    Current default device and directory.
 DEPTH             integer   Current command procedure depth.
 INTERACTIVE       string    TRUE if the process is executing
                             interactively.
 KEY_STATE         string    Current locked keypad state; see the
                             DEFINE/KEY command.
 MAX_DEPTH         integer   Maximum allowable command procedure
                             depth.
 MESSAGE           string    Current setting of SET MESSAGE
                             qualifiers; each qualifier is prefaced
                             by a slash.
 NOCONTROL         string    Currently disabled control characters.
                             Multiple characters are separacted by
                             commas; if no control characters are
                             disabled, the null string is returned.
 ON_CONTROL_Y      string    TRUE if ON_CONTROL_Y is set.
                             ON_CONTROL_Y always returns FALSE at
                             DCL command level.
 ON_SEVERITY       string    Severity level at which the action
                             specified with the ON command is
                             performed.  ON_SEVERITY returns NONE
                             when SET NOON is in effect or at DCL
                             command level.
 OUTPUT_RATE       string    Delta time indicating how often data is
                             written to the batch job log file.
                             OUTPUT_RATE returns a null string if
                             used interactively.
 PROCEDURE         string    File specification of the current
                             command procedure.  PROCEDURE returns a
                             null string if used interactively.
 PROMPT            string    Current DCL prompt.
 PROMPT_CONTROL    string    TRUE if a carriage return and line feed
                             precede the prompt.
 PROTECTION        string    Current default file protection.
 SYMBOL_SCOPE      string    Current symbol scoping context.
 VERIFY_IMAGE      string    TRUE if image verification is in
                             effect; see SET VERIFY=IMAGE.
 VERIFY_PROCEDURE  string    TRUE if procedure verification is in

Example

 The following command procedure  saves a user's default device, directory,
 and protection, executes a series  of commands that may change those
 defaults, and then restores the  original defaults:

  $ OLD_DEFAULT = F$ENVIRONMENT("DEFAULT")
  $ OLD_PROT = F$ENVIRONMENT("PROTECTION")
               .
               . ! commands
               .
  $ SET DEFAULT 'OLD_DEFAULT'
  $ SET PROTECTION=('OLD_PROT')/DEFAULT

F$EXTRACT

 F$EXTRACT (start,length,string)

 Extracts the specified characters from the specified string.

Additional information available:

startlengthstringExample

start

 The offset of the starting character.

length

 The number of characters to extract; must be less than or equal
 to the size of the string.

string

 The character string to be edited.

Example

 Reads a character string from the terminal and extracts the first
 character:

  $ INQUIRE YN /NOPUNCTUATION "Do you want to continue? "
  $ YN = F$EXTRACT (0,1,YN)

F$FAO

 F$FAO (format-instructions[,data-entity,...])

 Creates character strings from character and numeric input
 (FAO stands for formatted ASCII output).  Formatting instructions
 convert numbers to character strings, insert carriage returns and
 form feeds, insert text, and so on.

Additional information available:

format-instruction

format-instruction

 Character string (enclose in quotation marks or equate to a symbol)
 consisting of text and directives.  See the documentation for more
 information on FAO directives.

F$FILE_ATTRIBUTES

 F$FILE_ATTRIBUTES (file-spec,item)

 Returns a specified item of information about a specified file.

Additional information available:

file-specitemExample

file-spec

 A character string containing a file specification with no
 wildcards.

item

 A character string containing one of the following (do not
 abbreviate):

 Item   Data     Information Returned
 ----   ----     --------------------

 ALQ    integer  Allocation quantity
 BDT    string   Backup date/time
 BKS    integer  Bucket size
 BLS    string   Block size
 CBT    string   TRUE if contiguous-best-try
 CDT    string   Creation date/time
 CTG    string   TRUE if contiguous
 DEQ    integer  Default extension quantity
 DID    string   Directory identification
 DVI    string   Device name
 EDT    string   Expiration date/time
 EOF    integer  Number of blocks used
 FID    string   File identification
 FSZ    integer  Fixed control area size
 GRP    integer  Owner group number
 KNOWN  string   TRUE if file is installed.
 MBM    integer  Owner member number
 MRN    integer  Maximum record number
 MRS    integer  Maximum record size
 NOA    integer  Number of areas
 NOK    integer  Number of keys
 ORG    string   File organization (SEQ, REL, IDX)
 PRO    string   File protection
 PVN    integer  Prologue version number
 RAT    string   Record attributes (CR, PRN, FTN)
 RCK    string   TRUE if read check
 RDT    string   Revision date/time
 RFM    string   Record format (VAR, FIX, VFC, UDF)
 RVN    integer  Revision number
 UIC    string   Owner UIC
 WCK    string   TRUE if write check


Example

 Returns the file identification of 1983.DAT:

  $ FILEID = F$FILE_ATTRIBUTES ("1983.DAT","FID")
  $ SHOW SYMBOL FILEID
    FILEID = "(65,1,0)"

F$GETDVI

 F$GETDVI (device-name,item)

 Returns a specified item of information about a specified device.

Additional information available:

device-nameitemExample

device-name

 A character string containing a physical device name or a logical
 name equated to a physical device name.

item

 A character string containing one of the following (do not
 abbreviate):

 Item           Data     Information Returned
 ----           ----     --------------------

 ACPPID         string   ACP process identification
 ACPTYPE        integer  ACP type code
 ALL            string   TRUE if device is allocated
 ALLDEVNAM      string   Allocation class device name
 AVL            string   TRUE if device is available
 CCL            string   TRUE if carriage control device
 CLUSTER        integer  Volume cluster size
 CONCEALED      string   TRUE if device is a concealed device
 CYLINDERS      integer  Number of cylinders on the volume
 DEVBUFSIZ      integer  Device buffer size
 DEVCHAR        integer  Device characteristics
 DEVCHAR2       integer  More device characteristics
 DEVCLASS       integer  Device class (value): Disk device (1),
                         Tape (2), Synchronous communications
                         device (32), Terminal (66), Real-time (96),
                         Bus (128), Mailbox (160), Miscellaneous
                         device (200)
 DEVDEPEND      integer  Device dependent information
 DEVDEPEND2     integer  More device dependent information
 DEVLOCKNAM     string   Device lock name
 DEVNAM         string   Device name
 DEVSTS         integer  Device dependent status information
 DEVTYPE        integer  Device type (value):  KLESI (5), TK50P (8),
                         RQDX1 (7), RQDX2 (7), RL02 (10), TK50 (10),
                         RRD50 (13), DEQNA (22), DMV11 (23),
                         Removable RC25 (23), Fixed RC25 (24),
                         RD51 (25), RX50 (26), RD52 (27), RD53 (28),
                         CDR50 (34), LA210 (40), VT100 (96),
                         VT200 (110)
 DIR            string   TRUE if device is directory structured
 DMT            string   TRUE if device is marked for dismount
 DUA            string   TRUE if the device is a generic device
 ELG            string   TRUE if error logging is enabled
 ERRCNT         integer  Error count
 EXISTS         string   TRUE if the device exists on the system
 FOD            string   TRUE if file-oriented device
 FOR            string   TRUE if device is mounted foreign
 FREEBLOCKS     integer  Free blocks left on the volume
 FULLDEVNAM     string   Fully qualified device name
 GEN            string   TRUE if device is generic
 IDV            string   TRUE if device is capable of input
 LOGVOLNAM      string   Logical volume name
 MAXBLOCK       integer  Number of logical blocks on the volume
 MAXFILES       integr   Maximum files on volume
 MBX            string   TRUE if device is a mailbox
 MEDIA_ID       string   Nondecoded media ID
 MEDIA_NAME     string   Either the name of the disk or the tape type
 MEDIA_TYPE     string   Device name prefix
 MNT            string   TRUE if device is mounted
 MOUNTCNT       integer  Mount count
 NET            string   TRUE if network device
 NEXTDEVNAM     string   Device name of next volume in volume set
 ODV            string   TRUE if device is capable of output
 OPCNT          integer  Operation count
 OPR            string   TRUE if device is an operator
 OWNUIC         integer  UIC of device owner
 PID            string   Process identification of device owner
 RCK            string   TRUE if device has read checking enabled
 REC            string   TRUE if device is record oriented
 RECSIZ         integer  Blocked record size
 REFCNT         integer  Reference count
 RND            string   TRUE if device allows random access
 ROOTDEVNAM     string   Device name of root volume in volume set
 RTM            string   TRUE if device is real-time
 SDI            string   TRUE if device is single directory
                         structured
 SECTORS        integer  Number of sectors per track
 SERIALNUM      integer  Volume serial number
 SHR            string   TRUE if device is shareable
 SPL            string   TRUE if device is spooled
 SPLDEVNAM      string   Spooled device name
 SQD            string   TRUE if device is sequential block
                         oriented
 STS            integer  Status information
 SWL            string   TRUE if device is software write locked
 TRACKS         integer  Number of tracks per cylinder
 TRANSCNT       integer  Volume transaction count
 TRM            string   TRUE if device is a terminal
 TT_ALTYPEAHD   string   TRUE if terminal has an alternate type
                         ahead buffer
 TT_ANSICRT     string   TRUE if terminal is an ANSI CRT terminal
 TT_APP_KEYPAD  string   TRUE if terminal keypad is in
                         applications mode
 TT_AUTOBAUD    string   TRUE if terminal has automatic baud rate
                         detection
 TT_AVO         string   TRUE if terminal has a VT100-family
                         display
 TT_BLOCK       string   TRUE if the terminal has block mode
                         capability
 TT_BRDCSTMBX   string   TRUE if terminal uses mailbox broadcast
                         messages
 TT_CRFILL      string   TRUE if terminal requires fill after RET
 TT_DECCRT      string   TRUE if terminal is a DIGITAL CRT
                         terminal
 TT_DIALUP      string   TRUE if terminal is connected to dialup
 TT_DISCONNECT  string   TRUE if terminal can be disconnected
 TT_DMA         string   TRUE if the terminal has DMA mode
 TT_DRCS        string   TRUE if the terminal supports loadable
                         character font
 TT_EDIT        string   TRUE if terminal edit characteristic is
                         set
 TT_EDITING     string   TRUE if terminal advanced editing is
                         enabled
 TT_EIGHTBIT    string   TRUE if terminal uses 8-bit ASCII
                         character set
 TT_ESCAPE      string   TRUE if terminal generates escape
                         sequences
 TT_FALLBACK    string   TRUE if terminal uses multinational
                         fallback option
 TT_HALFDUP     string   TRUE if terminal is in half-duplex mode
 TT_HANGUP      string   TRUE if terminal has hangup
                         characteristic set
 TT_HOSTSYNC    string   TRUE if terminal has host/terminal
                         communication
 TT_INSERT      string   TRUE if insert-mode is the default line-
                         editing mode for terminal
 TT_LFFILL      string   TRUE if terminal requires fill after LF
 TT_LOCALECHO   string   TRUE if terminal has local echo
                         characteristic set
 TT_LOWER       string   TRUE if terminal has lowercase characters
                         set
 TT_MBXDSABL    string   TRUE if mailboxes associated with the
                         terminal will receive unsolicited input
                         notification or input notification
 TT_MECHFORM    string   TRUE if terminal has mechanical form feed
 TT_MECHTAB     string   TRUE if terminal has mechanical tabs and
                         is capable of tab expansion
 TT_MODEM       string   TRUE if terminal is connected to a modem
 TT_MODHANGUP   string   TRUE if terminal has modify hang-up
                         characteristic set
 TT_NOBRDCST    string   TRUE if terminal will receive broadcast
                         messages
 TT_NOECHO      string   TRUE if terminal does not echo input
                         characters
 TT_NOTYPEAHD   string   TRUE if data must be solicited by a read
                         operation
 TT_OPER        string   TRUE if terminal is an operator terminal
 TT_PAGE        integer  Returns the terminal page length, as
                         an integer
 TT_PASTHRU     string   TRUE if terminal has passall with flow
                         control
 TT_PHYDEVNAM   string   Returns the physical device name associated
                         with a channel number or virtual terminal,
                         as a string
 TT_PRINTER     string   TRUE if terminal has available printer
                         port
 TT_READSYNC    string   TRUE if terminal has read synchronization
 TT_REGIS       string   TRUE if terminal has REGIS graphics
 TT_REMOTE      string   TRUE if terminal has established modem control
 TT_SCOPE       string   TRUE if terminal has a video screen
                         display
 TT_SECURE      string   TRUE if terminal can recognize the secure
                         server
 TT_SETSPEED    string   TRUE if you can set the speed on the
                         terminal line
 TT_SIXEL       string   TRUE if the sixel is supported
 TT_SYSPSW      string   TRUE if the system password is enabled
                         for a particular terminal
 TT_TTSYNC      string   TRUE if terminal/host synchronization
                         exists
 TT_WRAP        string   TRUE if a new line is inserted when the
                         cursor moves beyond the right margin
 UNIT           integer  Unit number
 VOLCOUNT       integer  Volumes in volume set
 VOLNAM         string   Volume name
 VOLNUMBER      integer  Current volume in volume set
 VOLSETMEM      string   TRUE if disk is in a volume set
 VPROT          string   Volume protection mask
 WCK            integer  TRUE if write checking is enabled

Example

Returns the error count for DQA0:
  $ ERR = F$GETDVI ("_DQA0","ERRCNT")
  $ SHOW SYMBOL ERR
    ERR = 0   Hex = 00000000  Octal = 000000

F$GETJPI

 F$GETJPI (process-id,item)

 Returns a specified item of information about a specified
 process.

Additional information available:

process-iditemExample

process-id

 A character string containing a process identification number
 (leading zeros can be omitted).  A null string ("") or a numeric
 zero identifies the current process.

item

 A character string containing one of the following (do not
 abbreviate):

 Item        Data     Information Returned
 ----        ----     --------------------

 ACCOUNT     string   Account name string (8 characters filled
                      with trailing blanks)
 APTCNT      integer  Active page table count
 ASTACT      integer  Access modes with active ASTs
 ASTCNT      integer  Remaining AST quota
 ASTEN       integer  Access modes with ASTs enabled
 ASTLM       integer  AST limit quota
 AUTHPRI     integer  Maximum priority that a process without
                      the ALTPRI privilege can achieve
 AUTHPRIV    string   Privileges that a process can enable
 BIOCNT      integer  Remaining buffered I/O quota
 BIOLM       integer  Buffered I/O limit quota
 BUFIO       integer  Count of process-buffered I/O operations
 BYTCNT      integer  Remaining buffered I/O byte-count quota
 BYTLM       integer  Buffered I/O byte-count limit quota
 CLINAME     string   Current command language interpreter;
                      always returns "DCL"
 CPULIM      integer  Limit on process CPU time
 CPUTIM      integer  CPU time used in hundredths of a second
 CURPRIV     string   Current process privileges
 DFPFC       integer  Default page fault cluster size
 DFWSCNT     integer  Default working set size
 DIOCNT      integer  Remaining direct I/O quota
 DIOLM       integer  Direct I/O limit quota
 DIRIO       integer  Count of direct I/O operations for the
                      process
 EFCS        integer  Local event flags 0 through 31
 EFCU        integer  Local event flags 32 through 63
 EFWM        integer  Event flag wait mask
 ENQCNT      integer  Lock request quota remaining
 ENQLM       integer  Lock request quota limit
 EXCVEC      integer  Address of a list of exception vectors
 FILCNT      integer  Remaining open file quota
 FILLM       integer  Open file quota
 FINALEXC    integer  Address of a list of final exception vectors
 FREP0VA     integer  First free page at end of program region
 FREP1VA     integer  First free page at end of control region
 FREPTECNT   integer  Number of pages available for virtual
                      memory expansion
 GPGCNT      integer  Global page count in working set
 GRP         integer  Group number of UIC
 IMAGECOUNT  integer  Number of images that have been run down
                      for the process
 IMAGNAME    string   File name of the current image
 IMAGPRIV    string   Privileges with which the current image
                      was installed
 JOBPRCCNT   integer  Number of subprocesses owned by the process
 LOGINTIM    string   Process creation time
 MASTER_PID  string   Returns the process identification of the
                      process at the top of the current job's
                      process tree
 MEM         integer  Member number of UIC
 MODE        string   Process mode (BATCH, INTERACTIVE, or
                      NETWORK)
 MSGMASK     integer  Default message mask
 OWNER       string   Process identification of process owner
 PAGEFLTS    integer  Count of page faults
 PAGFILCNT   integer  Remaining paging file quota
 PAGFILLOC   integer  Location of the paging file
 PGFLQUOTA   integer  Paging file quota (maximum virtual page
                      count)
 PHDFLAGS    integer  Flags word
 PID         string   Process identification
 PPGCNT      integer  Process page count
 PRCCNT      integer  Count of subprocesses
 PRCLM       integer  Subprocess quota
 PRCNAM      string   Process name
 PRIB        integer  Process's base priority
 PROCPRIV    integer  Process's default privileges
 SITESPEC    integer  Per-process site-specific longword
 STATE       string   Process state
 STS         integer  Process status flags
 SWPFILLOC   integer  Location of the swap file
 TERMINAL    string   Login terminal name for interactive users
                      (1-7 characters)
 TMBU        integer  Termination mailbox unit number
 TQCNT       integer  Remaining timer queue entry quota
 TQLM        integer  Timer queue entry quota
 UIC         string   Process's UIC
 USERNAME    string   User name string
 VIRTPEAK    integer  Peak virtual address size
 VOLUMES     integer  Count of currently mounted volumes
 WSAUTH      integer  Maximum authorized working set size
 WSAUTHEXT   integer  Maximum authorized working set extent
 WSEXTENT    integer  Current working set extent
 WSPEAK      integer  Working set peak
 WSQUOTA     integer  Working set size quota
 WSSIZE      integer  Process's current working set size

Example

 Returns the user name for process 003B0018:

  $ NAME = F$GETJPI ("3B0018","USERNAME")
  $ SHOW SYMBOL NAME
    NAME = "USER        "

F$GETSYI

 F$GETSYI (item [,node])

 Returns a specified item of information about the system.  The
 second argument is not applicable for MicroVMS.

Additional information available:

itemExample

item

 A character string containing one of the following (do not
 abbreviate):

 Item                Information Returned and Data Type
 ----                ----------------------------------

 ARCHFLAG            Architecture flags (string)
 BOOTTIME            Time the system was booted (string)
 CHARACTER_EMULATED  TRUE if the character string instructions
                     are emulated on the CPU (string)
 CLUSTER_MEMBER      TRUE if the node is a member of a cluster;
                     CLUSTER_MEMBER always returns FALSE on a
                     MicroVMS system (string)
 CPU                 Processor type: 3 for VAX-11/730 (integer)
 DECIMAL_EMULATED    TRUE if the decimal string instructions are
                     emulated on the CPU (string)
 D_FLOAT_EMULATED    TRUE if the D_floating instructions are
                     emulated on the CPU (string)
 F_FLOAT_EMULATED    TRUE if the F_floating instructions are
                     emulated on the CPU (string)
 G_FLOAT_EMULATED    TRUE if the G_floating instructions are
                     emulated on the CPU (string)
 PAGEFILE_FREE       Returns the number of free pages in the
                     currently installed paging files (integer)
 PAGEFILE_PAGE       Returns the number of pages in the currently
                     installed paging files (integer)
 SWAPFILE_FREE       Returns the number of free pages in the
                     currently installed swapping files (integer)
 SWAPFILE_PAGE       Returns the number of pages in the currently
                     installed swapping files (integer)
 SID                 System identification (integer)
 VERSION             Version of VMS in use (string)

Example

 Returns the system identification:

  $ SID = F$GETSYI ("SID")
  $ SHOW SYMBOL SID
    SID = 19923201   Hex = 01300101  Octal = 000401

F$IDENTIFIER

 F$IDENTIFIER (identifier,translation)

 Converts an alphanumeric UIC to its numeric equivalent, or a
 numeric UIC to its alphanumeric equivalent.  (Alphanumeric UICs
 are optionally equated to numeric UICs in the rights database.)

Additional information available:

identifiertranslationExample

identifier

 A character string containing an identifier.

translation

 If identifier is alphanumeric, specify translation as a character
 string containing NAME_TO_NUMBER.  If identifier is numeric,
 specify translation as a character string containing
 NUMBER_TO_NAME.

Example

 Translates the alphanumeric identifier JONES to its numeric equivalent:

 $ NAME = F$IDENTIFIER("JONES","NAME_TO_NUMBER")

F$INTEGER

 F$INTEGER (string)

 Converts the specified string to a number.  The character string
 must be null (zero) or a valid decimal specification (no
 hexadecimal or octal specifications) of a positive or negative
 integer.  If the character string does not contain a numeric
 character string, it is converted to either a 1 (if the first
 character is Y,y,T, or t) or a 0.

Additional information available:

stringExample

string

 A character string or integer.

Example

 Reads a character string from the terminal and converts it to a number:

  $ INQUIRE DOG_COUNT "Number of dogs"
  $ DOG_COUNT = F$INTEGER (DOG_COUNT)

F$LENGTH

 F$LENGTH (string)

Returns the length of the specified character string.

Additional information available:

stringExample

string

 A character string whose length is being determined.

Example

 Returns the length of the string string in REPORT_1:

  $ LINE_LENGTH = F$LENGTH (REPORT_1)
  $ SHOW SYMBOL LINE_LENGTH
    LINE_LENGTH = 56  Hex = 00000038 Octal = 000070

F$LOCATE

 F$LOCATE (substring,string)

 Locates a specified portion of a character string and returns as a
 number the offset of the first character.  If the substring is not
 present, the offset of the last character in the character string
 plus one is returned.

Additional information available:

substringstringExample

substring

 The character string in string that you want to locate.

string

 A character string to be edited by F$LOCATE.

Example

 Returns the location of "dogs" in LINE_1:

  $ SHOW SYMBOL LINE_1
    LINE_1 = "Number of dogs:"
  $ DOGS = F$LOCATE ("dogs",LINE_1)
  $ SHOW SYMBOL DOGS
    DOGS = 10  Hex = 0000000A  Octal = 12

F$MESSAGE

 F$MESSAGE (message-code)

 Returns as a character string the facility, severity,
 identification and text associated with the specified
 message code.

Additional information available:

message-codeExample

message-code

 An integer for which you are requesting error message text.
 The message code must be specified as a number (decimal,
 hexadecimal, or octal).

Example

Returns the success message:

  $ MESS = F$MESSAGE (1)
  $ SHOW SYMBOL MESS
    MESS = "%SYSTEM-S-NORMAL, normal successful completion"

F$MODE

 F$MODE ()

 Returns the character string INTERACTIVE if you issue the command from
 the terminal, the character string BATCH if you issue the command from a
 batch job, and the character string NETWORK if you issue the command from a
 network job.

Additional information available:

Example

Example

 The command is issued during an interactive session:
  $ MODE = F$MODE ()
  $ SHOW SYMBOL MODE
    MODE = "INTERACTIVE"

F$PARSE

 F$PARSE (file-spec,[default1-spec],[default2-spec],[field],[type])

 Returns either the full file specification for the specified
 file or one of the following fields:  NODE, DEVICE, DIRECTORY,
 NAME, TYPE, VERSION. The device name in the resulting file
 specification must be a valid device.  The directory must be a
 valid directory on that device.  An error in the resulting file
 specification returns a null string (unless the SYNTAX_ONLY
 type is specified or a specific field is requested).  Logical
 names and device names must terminate with a colon.  If you omit
 arguments, commas to the left of the last specified argument must
 be included as place holders.

Additional information available:

file-specdef-spec1def-spec2fieldtypeExample

file-spec

 A character string containing a file specification.  If file-spec
 is not a full file specification, defaults are taken from (1) your
 current default directory if def-spec1 is not specified;
 (2) def-spec1 and then your current default directory if file-spec
 and def-spec1 are specified; (3) def-spec1, then def-spec2, and
 then your current default directory if both default1-spec and
 def-spec2 are specified.  The file name, file type, and version
 number are null if not specified in either file-spec or def-spec1.
 Wildcards can be used.

def-spec1

 A character string which is substituted in the output string if a
 particular field in file-spec is missing.

def-spec2

 A character string which is substituted in the output string if a
 particular field in file-spec and def-spec2 is missing.

field

 A character string containing one or more of the following fields
 (do not abbreviate field names):  NODE, DEVICE, DIRECTORY, NAME,
 TYPE, VERSION.

type

 The type of parsing to be done.  Valid types are:

 +-------------+------------------------------------------+
 | SYNTAX_ONLY | Does not check for the existence of the  |
 |             | directory or device                      |
 +-------------+------------------------------------------+
 | NO_CONCEAL  | Ignores the "conceal" attribute in the   |
 |             | translation of a logical name as part    |
 |             | of the file specification                |
 +-------------+------------------------------------------+

Example

 Returns the directory name for the file 1983.DAT in your default
 directory:

  $ D = F$PARSE ("1983.DAT",,,"DIRECTORY")
  $ SHOW SYMBOL D
    D = "[ACCOUNTS]"

F$PID

 F$PID (context-symbol)

 Returns a process identification (PID) number, and updates
 the context symbol to identify the current position in the
 system's process list.  If context-symbol is equated to zero
 or a null string (""), returns as a character string the
 process identification number of the first process on the system.
 If context-symbol was used in a previous F$PID function and has
 not been redefined, F$PID returns the process identification
 number of the next process on the system.  A null string is
 returned after the last process on the system has been examined.
 If your system has individual accounts, you may not have access
 to all processes on the system.

Additional information available:

context symbolExample

context symbol

 A symbol that DCL uses to store a pointer into the system's
 list of processes.  The first time you use F$PID,
 use a symbol that is undefined or equated to the null string
 ("").

Example

 The following command procedure returns the process identification number
 of each process on the system:

  $ NEXT = 0
  $ START:
  $ PID = F$PID (NEXT)
  $ IF PID .EQS. "" THEN EXIT
  $ SHOW SYMBOL PID
  $ GOTO START

F$PRIVILEGE

 F$PRIVILEGE (priv-list)

 Returns a string containing TRUE or FALSE, depending on whether
 all of the privileges are set as specified.

Additional information available:

priv-listExample

priv-list

 A character string identifying a privilege or a list of privileges
 separated by commas.

Example

 Finds that the current process does not have one SYSPRV, does not have
 WORLD, or does not have either.  To determine which privilege(s) is not
 set, you would have to check each individually.

  $ PRIVS = F$PRIVILEGE ("SYSPRV,WORLD")
  $ SHOW SYMBOL PRIVS
    PRIVS = "FALSE"

F$PROCESS

 F$PROCESS ()

 Returns as a character string the name of the current process.

Additional information available:

Example

Example

 Returns the process name:

  $ PROC = F$PROCESS ()
  $ SHOW SYMBOL PROC
    PROC = "USER"

F$SEARCH

 F$SEARCH (file-spec[,stream-id])

 Returns the full file specification of file-spec. If device or
 directory are omitted, the current defaults are used.  If version
 is omitted, the latest version number is used.  If file-spec
 contains wildcards, each time F$SEARCH is called, the next file
 specification that agrees with file-spec is returned.  A null string
 is returned after the last file specification that agrees with
 file-spec.

Additional information available:

file-specstream-idExample

file-spec

 The file name and type of the file specification to be searched
 for; wildcards are permitted.

stream-id

 A positive integer used to maintain separate search contexts.

Example

 The following command procedure returns the latest versions of
 all the type EXE files in the SYS$SYSTEM directory:

  $ START:
  $ FILE = F$SEARCH ("SYS$SYSTEM:*.EXE")
  $ IF FILE .EQS. "" THEN EXIT
  $ SHOW SYMBOL FILE
  $ GOTO START

F$SETPRV

 F$SETPRV (priv-list)

 If the process has the proper authorization, F$SETPRV enables
 or disables the specified privileges.  In addition, F$SETPRV
 returns a string containing the state of the specified privileges
 before F$SETPRV was executed.

Additional information available:

priv-listExample

priv-list

 A character string defining a privilege or list of privileges
 separated by commas.

Example

 Sets SYSPRV and WORLD.  The current process had SYSPRV, WORLD
 was set by F$SETPRV.

  $ PRIV = F$SETPRV ("WORLD,SYSPRV")
  $ SHOW SYMBOL PRIV
    PRIV = "NOWORLD,SYSPRV"

F$STRING

 F$STRING (expression)

 Returns the string that is equivalent to the specified expression.

Additional information available:

expressionExample

expression

 An integer or string expression.  When converting an integer to
 a string, F$STRING uses decimal notation, omitting leading zeros.
 If the integer is negative, a minus sign precedes the number.

Example

 Evaluates the integer expression and converts it to a character string:

  $ DOG_1 = 12
  $ DOG_2 = 13
  $ TOTAL_DOGS = F$STRING (DOG_1 + DOG_2)
  $ SHOW SYMBOL TOTAL_DOGS
    TOTAL_DOGS = "25"

F$TIME

 F$TIME ()

 Returns as a character string the current date and time in
 absolute time format.

Additional information available:

Example

Example

 Returns the current date and time:

  $ TIME = F$TIME ()
  $ SHOW SYMBOL TIME
    TIME = "21-OCT-1983 12:45:22"

F$TRNLNM

 F$TRNLNM (name [,table] [,index] [,mode] [,case] [,item])

 Finds a logical name and returns the translation or the
 requested attributes.  If the logical name does not exist,
 F$TRNLNM returns a null string.  If you omit arguments, commas
 to the left of the last specified argument must be included
 as place holders.

Additional information available:

nametableindexmodecaseitemExample

name

 Specify name as a string containing the logical name.

table

 Specify table as a  string containing a logical name whose equivalence
 name(s) are the logical name tables to be searched (the search order is
 determined when the logical name is defined). The table argument defaults
 to LNM$DEFAULT_SEARCH whose equivalence names are process, group, and
 system logical name tables, in that order.

index

 Specify index as the number of the equivalence name to return if the
 logical name has more than one translation;  defaults to 0.

mode

 Specify mode as a string containing one of the following access modes (do
 not abbreviate): USER (default), SUPERVISOR, EXECUTIVE, or KERNEL.

case

 Specify case as a string containing one of the following (do not
 abbreviate): CASE_BLIND (F$TRNLNM searches for a logical name match without
 taking into account character casing;  default) or CASE_SENSITIVE (F$TRNLNM
 searches for an exact logical name match).

item

 Specify item as a character string containing one of the following
 (do not abbreviate):

 Item         Data     Information Returned
 ----         ----     --------------------

 ACCESS_MODE  string   Access mode associated with the logical
                       name
 CONCEALED    integer  TRUE if the logical name is concealed
 CONFINE      string   TRUE if the logical name is confined
 LENGTH       integer  Length of the equivalence name
 MAX_INDEX    integer  Number of logical name translations
 NO_ALIAS     string   TRUE if the logical name must be unique
                       within its access mode and outer access
                       modes
 TABLE        string   TRUE if the logical name is the name of
                       a logical name table
 TABLE_NAME   string   Name of the table containing the logical
                       name
 TERMINAL     string   TRUE if the logical name cannot be
                       translated iteratively
 VALUE        string   Default.  Equivalence name

Example

 Examines the CONFINE attribute of the logical name GROUP_NAMES:

  $ CONFINE = F$TRNLNM ("GROUP_NAMES",,,,,"CONFINE")
  $ SHOW SYMBOL CONFINE
    CONFINE = "TRUE"

F$TYPE

 F$TYPE (symbol)

 Returns the data type of the symbol.  If symbol forms a
 valid integer, F$TYPE returns INTEGER.  If symbol is a character
 string whose characters do not form a valid integer, F$TYPE
 returns STRING.  If symbol is undefined, F$TYPE returns a null
 string.

Additional information available:

symbolExample

symbol

 A character string or integer which references the name of the
 symbol to be edited.

Example

 Returns the data type of NUM:

  $ NUM = "673"
  $ TYPE = F$TYPE (NUM)
  $ SHOW SYMBOL TYPE
    TYPE = "INTEGER"

F$USER

 F$USER ()

 Returns as a character string the current UIC.

Additional information available:

Example

Example

 Returns the current UIC:

  $ UIC = F$USER ()
  $ SHOW SYMBOL UIC
    UIC = "[DEVELOPMENT,OSGOOD]"

F$VERIFY

 F$VERIFY ([procedure] [,image])

 Returns a value indicating whether the procedure verification
 setting is on or off.  If called with the first argument, turns
 procedure and image verification on if the argument is 1 and
 off if the argument is 0.  If called with both arguments,
 turns procedure verification on or off depending on the value
 of the first argument and turns image verification on or off
 depending on the value of the second argument.  If you specify
 only the second argument, you must include the comma as a place
 holder.

Additional information available:

procedureimageExample

procedure

 An integer with a value of 1 to turn procedure verification on
 or a value of 0 to turn procedure verification off.

image

 An integer with a value of 1 to turn procedure verification on
 or a value of 0 to turn procedure verification off.

Example

 The following command procedure saves the user's setting of procedure and
 image verification at the beginning of the procedure and then restores
 those settings at the end of the procedure:

  $ SAVE_PROC_VER = F$ENVIRONMENT ("VERIFY_PROCEDURE")
  $ SAVE_IMAGE_VER =F$ENVIRONMENT ("VERIFY_IMAGE")
                    .
                    .  ! commands
                    .
  $ GARBAGE = F$VERIFY (SAVE_PROC_VER, SAVE_IMAGE_VER)

New Features V44

New and Changed Features for Version 4.4

o  New DCL Commands:  CALL, GOSUB, RETURN, and SET SYMBOL.  See
   Appendix DCL of the MicroVMS User's Manual for more information.

o  Hyphens in File Specifications - You can now use hyphens in
   the following file specification fields:  file name, file
   type, and directory.  You cannot use hyphens in either the
   node name or device name field of the file specification.
   Logical names for file specifications can also include
   hyphens.

o  VAXTPU - The VAX Text Processing Utility (VAXTPU) uses
   TPU$SECTION (previously GBL) as a default file type for
   section files.  You must recompile all current section files
   to reflect the change.  See the Release Notes for additional
   information.

o  SORT/MERGE - The following SORT/MERGE message symbols are
   now universal for Version 3.0 compatibility: SOR$_BADLOGIC,
   SOR$_CLOSEDEL, SOR$_CLOSEIN, SOR$_CLOSEOUT, SOR$_INSVIRMEM,
   SOR$_OPENIN, SOR$_OPENOUT, SOR$_READERR, SOR$_SYSERROR, and
   SOR$_WRITEERR.

o  Batch and Print Operations - New features include a /[NO]RESTART
   qualifier for the DCL command START/QUEUE/MANAGER, and the
   ability to define a queue-specific default form by using the
   /DEFAULT=form=type option.  For more information, see the
   following DCL commands: INITIALIZE/QUEUE, SET QUEUE, and
   START/QUEUE in Appendix DCL of the MicroVMS User's Manual.

o  The /FORM qualifier has been changed to /FORM_MOUNTED for the
   following commands: INITIALIZE/QUEUE, SET QUEUE, and START/QUEUE.

o  Authorize Utility - The Authorize Utility has a new keyword
   for the /ATTRIBUTES qualifier; the [NO]DYNAMIC keyword can now
   be specified with the following commands: ADD/IDENTIFIER,
   GRANT/IDENTIFIER, and MODIFY/IDENTIFIER.

o  Error Log Utility - New features include the following
   enhancements to the device class keywords for the
   ANALYZE/ERROR_LOG qualifiers /EXCLUDE and /INCLUDE: two new
   device class keywords, WORKSTATION and LINE_PRINTER; BUS now
   includes BI bus error log entries; and DEVICE includes BI
   adapter error log entries.  In addition, the text associated
   with the VAX 11/750 BER register has been updated.

o  Security - New features include a new DCL command,  SET
   RIGHTS_LIST and a new attribute, DYNAMIC.  SET RIGHTS_LIST
   adds and removes identifiers from the process and system
   rights list.  You can assign the DYNAMIC attribute to
   identifiers to enable nonprivileged users to add or remove
   identifiers they hold from their process rights list.  For
   more information on changes to the security system services,
   see the New and Changed Features section of the MicroVMS
   Programming Support Manual.

o  Linker - The /[NO]TRACEBACK and the /DEBUG qualifiers are
   now processed for a shareable image exactly as they are for
   an executable image.  Previously, the /DEBUG qualifier was
   prohibited and the /[NO]TRACEBACK qualifier was ignored, when
   linking a shareable image.

o  Debugger - New features include support for VAX DIBOL and VAX
   SCAN, screen mode enhancements, support for shareable image
   debugging, and several other additions.  For more information,
   see the New and Changed Features section of the MicroVMS
   Programming Support Manual.

o  System Services - $CHECK_ACCESS, $GETUAI, and $SETUAI are
   new services.  See the New and Changed Features section of the
   MicroVMS Programming Support Manual.

o  SDA - New ATTACH and SPAWN commands have been added to SDA as
   well as new qualifiers for the EVALUATE, EXAMINE, SEARCH, SET
   PROCESS, and SHOW PROCESS commands.  Also, logical operators have
   been added to the arithmetic operators.  Additionally, the COPY
   command releases dump pages in the system paging file to make
   them available for paging.

o  Run-Time Library - A description of the new features for the
   Run-Time Library routines is located in the New and Changed
   Features section of the MicroVMS Programming Support Manual.

o  RMS Shared Access - RMS now supports shared access to any
   form of sequential organization file.  However, this added
   support has a potential effect on mixed-version cluster
   operations.  See the Release Notes for additional information.

o  ANALYZE/RMS_FILE - The following commands are new: NEXT,
   BACK, POSITION/BUCKET, and POSITION/RECORD.  These commands
   make it easier to examine file structures interactively.
   Also, new integrity features check for file structure errors
   more thoroughly.

o  Print Symbiont - For changes relating to user-supplied
   routines, see the Release Notes for Version 4.4.

o  Terminal Driver Support Changes - See the Release Notes for
   information on changes made to terminal support.

o  Drivers - New features include support for the  DR11-WA, a
   16-bit parallel direct-memory-access (DMA) interface on the
   Q-bus.  The CSMA/CD data link (XE and XQ) drivers support the
   following elements of the IEEE 802 standard: the 802.2 and
   802.3 packet format, 802.2 Class I service, 6-byte
   destination and source address fields, and a physical layer
   identified as type 10BASE5 (10Mb/s baseband medium with
   maximum segment length of 500 m).

o  DR11-W/DRV11-WA (XADRIVER) Support - See the Release Notes
   for information.

Numbers

 Specify numbers as integers.  To specify a radix for the
 number, use a radix operator (n is any integer):

             %Dn (decimal, the default)
             %On (octal)
             %Xn (hexadecimal)

Privileges

 Privileges restrict various operations to those users who have the
 privileges associated with the operations.  The following table lists the
 privileges and the operations they permit.

 +-----------+----------------------------------------------+
 | Privilege |             Operations Permitted             |
 +-----------+----------------------------------------------+
 +-----------+----------------------------------------------+
 | ACNT      | Create a process or subprocess with          |
 |           | accounting disabled (RUN command and         |
 |           | SYS$CREPRC system service)                   |
 +-----------+----------------------------------------------+
 | ALLSPOOL  | Allocate a spooled device (ALLOCATE command  |
 |           | and SYS$ALLOC system service)                |
 +-----------+----------------------------------------------+
 | ALTPRI    | Increase base priority and create processes  |
 |           | with higher priorities (SYS$SETPRI and       |
 |           | SYS$CREPRC system services)                  |
 +-----------+----------------------------------------------+
 | BUGCHK    | Make BUGCHK error log entries                |
 +-----------+----------------------------------------------+
 | BYPASS    | Access all files bypassing file protection   |
 +-----------+----------------------------------------------+
 | CMEXEC    | Change mode to executive (SYS$CMEXEC system  |
 |           | service)                                     |
 +-----------+----------------------------------------------+
 | CMKRNL    | Change mode to kernel (SYS$CMKRNL system     |
 |           | service)                                     |
 +-----------+----------------------------------------------+
 | DETACH    | Create a detached process (SYS$CREPRC system |
 |           | service)                                     |
 +-----------+----------------------------------------------+
 | DIAGNOSE  | Run online diagnostic programs and read      |
 |           | messages written to the error log file       |
 +-----------+----------------------------------------------+
 | EXQUOTA   | Exceed disk quotas                           |
 +-----------+----------------------------------------------+
 | GROUP     | Affect other processes in the same group     |
 |           | (SET QUEUE, DELETE/ENTRY, STOP/ENTRY, and    |
 |           | SET PROCESS commands; SYS$SUSPND,            |
 |           | SYS$RESUME, SYS$DELPRC, SYS$SETPRI,          |
 |           | SYS$WAKE, SYS$SCHDWK, SYS$CANWAK,            |
 |           | SYS$FORCEX, and SYS$GETJPI system            |
 |           | services)                                    |
 +-----------+----------------------------------------------+
 | GRPNAM    | Create and delete group logical names        |
 |           | (DEFINE, DEASSIGN, and MOUNT commands;       |
 |           | SYS$CRELOG and SYS$DELLOG system services)   |
 +-----------+----------------------------------------------+
 | GRPPRV    | Access protected files and other objects     |
 |           | within the same group as a system user, and  |
 |           | change the protection on files and other     |
 |           | objects within the same group                |
 +-----------+----------------------------------------------+
 | LOG_IO    | Perform logical I/O operations (SYS$QIO      |
 |           | system service)                              |
 +-----------+----------------------------------------------+
 | MOUNT     | Mount volumes (SYS$QIO system service)       |
 +-----------+----------------------------------------------+
 | NETMBX    | Perform DECnet operations                    |
 +-----------+----------------------------------------------+
 | OPER      | Set devices spooled, control queues, control |
 |           | public volumes, broadcast messages, and      |
 |           | perform other system-wide operations         |
 +-----------+----------------------------------------------+
 | PFNMAP    | Map to physical memory and I/O registers     |
 +-----------+----------------------------------------------+
 | PHY_IO    | Perform physical I/O operations (SYS$QIO     |
 |           | system service)                              |
 +-----------+----------------------------------------------+
 | PRMCEB    | Create and delete permanent common event     |
 |           | flag clusters (SYS$ASCEFC and SYS$DLCEFC     |
 |           | system services)                             |
 +-----------+----------------------------------------------+
 | PRMGBL    | Create global sections (SYS$CRMPSC system    |
 |           | service) and install global sections (also   |
 |           | requires CMKRNL and SYSGBL privileges)       |
 +-----------+----------------------------------------------+
 | PRMMBX    | Create and delete permanent mailboxes        |
 |           | (SYS$CREMBX and SYS$DELMBX system            |
 |           | services)                                    |
 +-----------+----------------------------------------------+
 | PSWAPM    | Disable and enable swapping (RUN command;    |
 |           | SYS$CREPRC and SYS$SETSWM system services)   |
 +-----------+----------------------------------------------+
 | READALL   | Allow read and control access to all objects |
 +-----------+----------------------------------------------+
 | SECURITY  | Perform security-related activities such as  |
 |           | enabling or disabling security audits and    |
 |           | setting the system password                  |
 +-----------+----------------------------------------------+
 | SETPRV    | Give higher privileges to other processes    |
 +-----------+----------------------------------------------+
 | SHARE     | Assign a channel to a device even if the     |
 |           | channel is allocated to another device       |
 +-----------+----------------------------------------------+
 | SHMEM     | Create global sections and mailboxes in      |
 |           | multiport memory (also requires the          |
 |           | appropriate PRMGBL, PRMMBX, SYSGBL, and      |
 |           | TMPMBX privileges)                           |
 +-----------+----------------------------------------------+
 | SYSGBL    | Create system global sections (SYS$CRMPSC)   |
 |           | and install known images (also requires      |
 |           | CMKRNL and PRMGBL privileges)                |
 +-----------+----------------------------------------------+
 | SYSLCK    | Lock system-wide resources (SYS$ENQ system   |
 |           | service)                                     |
 +-----------+----------------------------------------------+
 | SYSNAM    | Create and delete system logical names       |
 |           | (DEFINE, DEASSIGN, and MOUNT commands;       |
 |           | SYS$CRELOG and SYS$DELLOG system services)   |
 +-----------+----------------------------------------------+
 | SYSPRV    | Access protected files and other objects as  |
 |           | a system user, and change the protection on  |
 |           | files and other objects                      |
 +-----------+----------------------------------------------+
 | TMPMBX    | Create temporary mailboxes (SYS$CREMBX       |
 |           | system service)                              |
 +-----------+----------------------------------------------+
 | VOLPRO    | Initialize a volume with a different UIC,    |
 |           | override an expiration date, mount a volume  |
 |           | foreign, and override volume protection      |
 |           | (affecting system volumes also requires      |
 |           | SYSNAM privilege)                            |
 +-----------+----------------------------------------------+
 | WORLD     | Affect all other processes (SET QUEUE,       |
 |           | DELETE/ENTRY, STOP/ENTRY, and SET PROCESS    |
 |           | commands; SYS$SUSPND, SYS$RESUME,            |
 |           | SYS$DELPRC, SYS$SETPRI, SYS$WAKE,            |
 |           | SYS$SCHDWK, SYS$CANWAK, SYS$FORCEX, and      |
 |           | SYS$GETJPI system services)                  |
 +-----------+----------------------------------------------+

Procedures

Additional information available:

Backup filesBatch jobCommand proceduresDirectory operationsDiskette operations
File operationsFormat of commandInstall optionLog inLog out
Logical namesMailPrint jobSet hostShut down system
Sort mergeSpawn subprocessStart systemTerminal keys

Backup files

o Backup your default directory:
       MOUNT/FOREIGN $FLOPPY1
       BACKUP/VERIFY [...] $FLOPPY1:save-set-name/SAVE_SET/INITIALIZE
       DISMOUNT $FLOPPY1

o Backup all files for a UIC on the default disk:
       MOUNT/FOREIGN $FLOPPY1
       BACKUP/VERIFY [*...]/OWNER_UIC=[uic] -
       $FLOPPY1:save-set-name/SAVE_SET/INITIALIZE
       DISMOUNT/FOREIGN

o Restore a file:
       MOUNT/FOREIGN $FLOPPY1
       BACKUP/VERIFY $FLOPPY1:save-set-name/SAVE_SET -
       /SELECT=file-spec $WINNIE:[*...]
       DISMOUNT $FLOPPY1

o Examine a save set:
       MOUNT/FOREIGN $FLOPPY1
       BACKUP/LIST $FLOPPY1:save-set-name/SAVE_SET
       DISMOUNT $FLOPPY1

o Copy one diskette to another:
       MOUNT $FLOPPY1 label
       MOUNT/FOREIGN $FLOPPY2
       BACKUP/IMAGE/VERIFY $FLOPPY1 $FLOPPY2
       DISMOUNT $FLOPPY1
       DISMOUNT $FLOPPY2

Batch job

o To submit a job:
       SUBMIT/PARAMETERS=(par,...) file-spec

o To request notification when job is done:  /NOTIFY

o To delete a job before it starts:
       DELETE/ENTRY=(job-number) queue-name

o To delete a job after it starts:
       STOP/QUEUE/ENTRY=(job-number) queue-name

Command procedures

o Pass parameters:
  (1)  @ADDER 24 25             P1=24, P2=25
  (2)  @DATA Paul Cramer        P1=PAUL, P2=CRAMER
  (3)  @DATA "Paul Cramer"      P1=Paul Cramer
  (4)  NAME="Paul Cramer"       P1=PAUL, P2=CRAMER
       @DATA 'NAME'
  (5)  NAME="""Paul Cramer"""   P1=Paul Cramer
       @DATA 'NAME'

o Read from terminal:
  o $ INQUIRE symbol "prompt"
  o $ INQUIRE/NOPUNCTUATION symbol "prompt"
  o $ INQUIRE/GLOBAL symbol "prompt"
  o $  IF Pn .EQS. "" THEN INQUIRE Pn "prompt"
  o $ READ/PROMPT="prompt" SYS$COMMAND symbol

o Supply input for program:
  o Data lines:  $ CREATE TEST.FILE
                 Test line one
                 Test line two
  o From terminal:  $ DEFINE/USER_MODE SYS$INPUT SYS$COMMAND
                    $ CREATE TEST.FILE
  o From a file:  $ DEFINE/USER_MODE SYS$INPUT TEST.INPUT
                  $ CREATE TEST.FILE

o Write to SYS$OUTPUT:
  o $ WRITE SYS$OUTPUT "literal text"
  o $ WRITE SYS$OUTPUT symbol-name
  o $ WRITE SYS$OUTPUT "literal text ''symbol-name' literal text"
  o $ TYPE SYS$INPUT
    <many lines of literal text>

o Write a file
  $ OPEN/WRITE FILE TEST.FILE
  $WRITE:
  $ INQUIRE DATA "Input data"
  $ IF DATA .EQS. "" THEN GOTO DONE
  $ WRITE FILE DATA
  $ GOTO WRITE
  $DONE:
  $ CLOSE FILE

o Read a file:
  $ OPEN/READ FILE TEST.FILE
  $READ:
  $ READ/END_OF_FILE=DONE FILE DATA
         .
         .
         .
  $ GOTO READ
  $DONE:
  $ CLOSE FILE

o Conditional logic:
  o $ IF condition THEN command
  o $ IF not condition THEN GOTO end_label
    <block of commands>
    $end_label:

o Errors and interrupts:
  o ON ERROR THEN GOTO label
  o ON WARNING THEN GOTO label
  o ON CONTROL_Y THEN GOTO label

Directory operations

o Display the contents of the default directory:
       DIRECTORY

o Display a top level directory:
       DIRECTORY [directory-name]

o Display a subdirectory:
       DIRECTORY [directory-name.subdirectory-name]

o Display a subdirectory of the default directory:
       DIRECTORY [.subdirectory-name]

o Display another subdirectory on the same level as the default:
       DIRECTORY [-.subdirectory-name]

o Display the default directory and all subdirectories:
       DIRECTORY [...]

o Display file sizes and creation dates:
       DIRECTORY/SIZE/DATE

o Display a directory on a diskette:
       DIRECTORY $FLOPPYn:[directory-name]

o Display the top level directories on a diskette:
       DIRECTORY $FLOPPYn:[000000]

o Set your default directory:
       SET DEFAULT [directory-name]
  Include the subdirectory name to set your default to a subdirectory.
  Include the diskette name if the directory is on a diskette.

o Create a subdirectory:
       CREATE/DIRECTORY [.subdirectory-name]

o Create a top level directory:
       CREATE/DIRECTORY [directory-name]

o Delete a directory:
  1. Rename, backup, or delete all files in the directory.
  2. Set your default to the directory above the one to be deleted.
  3. Type:
       SET PROTECTION=WORLD:D directory-name.DIR
       DELETE directory-name.DIR;1

Diskette operations

 1. Put the diskette in the drive.
 2. Initialize the diskette only if the diskette is new or you want to
    reuse it completely:
         INITIALIZE $FLOPPYn label
 3. Mount the diskette:
         MOUNT $FLOPPYn label logical-name
 4. Use the diskette:
         DIRECTORY, COPY, EDIT, and so on.
 5. Dismount the diskette:
         DISMOUNT $FLOPPYn
 6. Remove the diskette from the drive.

Always dismount the diskette before removing it. Do not remove a diskette
if the red activity light is on or flashing.

File operations

o Examine the characteristics of a file in your default directory:
       DIRECTORY/FULL filename.type

o Edit a file in your default directory:
       EDIT filename.type
  You will be placed under control of the EDT editor, which has its
  own help.

o Create a text file without the editor:
       CREATE file-spec
       lines of text
       <CTRL/Z>

o Copy a file from another directory to the default directory:
       COPY [directory-name]filename.type *
  Supply the device name if copy from or to a floppy.

o Copy all files of one type from another directory to the default
  directory:
       COPY [directory-name]*.type;* *

o Rename a file:
       RENAME old-file-spec new-file-spec

o Move a file from the default directory to another directory:
       RENAME filename.type [directory-name]filename

o Display the contents of a file:
       TYPE file-spec
  You can stop and start the display with:
       VT200 series -- F1 key (top left)
       VT100 series -- NO SCROLL key
  You can discontinue the display by pressing CTRL/Y.
  You can also use EDIT/READ_ONLY to examine a file.

o Purge all old versions of all files in the default directory:
       PURGE

o Purge all versions of a file except the last two:
       PURGE/KEEP=2 filename.type

o Delete all versions of a file:
       DELETE filename.type;*

o Delete just the latest version of a file:
       DELETE filename.type;

Format of command

Command, qualifier, and keyword names can be abbreviated as long as they
are unique in their grouping. Four characters are always unique.

o Command name (verb) -- First item on line.

o Parameters -- Must be in order. Must be separated by spaces.

o Qualifiers -- Must be preceded by a slash.

o Command qualifiers -- Must follow the command name to distinguish
  from parameter qualifiers; otherwise, can go anywhere.

o Parameter qualifiers -- Must follow the parameter.

o Continuation -- End the line with a hyphen (-) and continue the command
  on the next line. Put in the space if a space is required.

o Limits -- Line         255
            Elements     128
            Everything   1024

Install option

 1. Load the first diskette containing the option (or product) in drive 1.
 2. Type:
         @SYS$UPDATE:VMSINSTAL *
 3. Answer the questions. Press RETURN to take the default in brackets.
 4. If told to mount the next volume, replace the diskette in drive 1 with
    the next diskette containing the option or product.
 5. If VMSINSTAL wants to keep going after the installation, press CTRL/Z.

Log in

The system must be started.

 1. Turn on the terminal if it is not on.
 2. Press RETURN.
 3. If you get a "Username:" prompt, respond with USER, SYSTEM, or your
    individual user name.
 4. If you get a "Password:" prompt, respond with your password.

Log out

o Simple:
       LOGOUT

o Display accounting statistics:
       LOGOUT/FULL

o Disconnect phone line:
       LOGOUT/HANGUP

Logical names

o Define a logical name:
       DEFINE logical-name equivalence-name
  If the equivalence name represents the name of a device, terminate it
  with a colon.

o To use a logical name, type it in place of a file specification or in
  place of the front part of a file specification:
       logical-name
       logical-name:rest-of-file-spec

o Deassign a logical name:
       DEASSIGN logical-name

o Display a logical name:
       SHOW LOGICAL logical-name

o Display all the system level logical names:
       SHOW LOGICAL/SYSTEM

o Display all the process level logical names:
       SHOW LOGICAL/PROCESS

o Define a search list for a logical name:
       DEFINE logical-name equivalence-name,...

o Define a system level logical name:
       DEFINE/SYSTEM logical-name equivalence-name

o Create a logical name table:
       CREATE/NAME_TABLE table-name

o Process permanent logical names:  SYS$INPUT
                                    SYS$COMMAND
                                    SYS$OUTPUT
                                    SYS$ERROR

Mail

o Send a message from command level:
       MAIL/SUBJECT="subject-text" file-spec user-name

o Invoke interactive mail:
       MAIL
  You will receive the MAIL> prompt.

  o Read a new message:
         <RETURN>

  o Get a list of messages:
         DIRECTORY
    If you are switching from the NEWMAIL folder to the regular MAIL
    folder, type:
         DIRECTORY MAIL

  o Read an old message:
         message-number

  o Delete the message you are reading:
         DELETE

  o Delete another message:
         DELETE message-number

  o Write and send a message:
         SEND
    Respond to the prompts with the name(s) of the user(s) and the
    subject of the message. Then type the message and press CTRL/Z.

  o Send a file as a message:
         SEND file-spec

  o Write the message with EDT:
         SEND/EDIT

Print job

o Print a file:
       PRINT file-spec

o Print many files:
       PRINT file-spec,file-spec,...

o Get notification when job is done:  /NOTIFY

o Print multiple copies of the entire job:
       PRINT/COPIES=number file-spec,...

o Print multiple copies of one file:
       PRINT file-spec/COPIES=number,...

o Delete a job before it starts:
       DELETE/ENTRY=(job-no) queue-name

o Delete a job after it starts:
       STOP/QUEUE/ENTRY=(job-no) queue-name

Set host

 1. Type:
         SET HOST node-name
 2. Respond to the "Username:" prompt with your name on the host system.
 3. Respond to the "Password:" prompt with your password on the host system.

Shut down system

Type SHUTDOWN to stop the system immediately.
Type SHUTDOWN1 to enter into a dialogue with the shutdown procedure.

Sort merge

o Sort a file:
       SORT/KEY=(POSITION=n,SIZE=n) input-file output-file

o Two keys:
       SORT/KEY=(POSITION=n,SIZE=n)/KEY=(POSITION=n,SIZE=n) ...

o Descending:
       SORT/KEY=(POSITION=n,SIZE=n,DESCENDING) ...

o Two input files:
       SORT... input-file,input-file output-file

o Merge files:
       MERGE/KEY=(POSITION=n,SIZE=n) input-file,... output-file

Spawn subprocess

o Spawn interactive subprocess:
       SPAWN

o Terminate and return to parent process:
       LOGOUT

o Go to another process without terminating:
       ATTACH process-name

o Spawn a background job:
       SPAWN/NOWAIT/OUTPUT=file-spec @command-proc par ...

Start system

 1. Turn the 0/1 switch on the processor panel to 1.
 2. Turn the console on.
 3. Press the HALT button on the console; then press it again
    to release it.
 4. Type:
         B DUA0
 5. Enter the time, e.g., 23-MAY-1984 15:30.

Terminal keys

Keys for entering commands:

RETURN       Enters command as it appears on the line.
DELETE       Deletes the character to the left of the cursor.
Left arrow   Moves the cursor left.
Right arrow  Moves the cursor right.
Up arrow     Recalls previous commands (up to 20).
Down arrow   Recalls previous commands in ascending order.
CTRL/A       Changes between replace and insert mode.
CTRL/B       Recalls previous commands (up to 20).
CTRL/C       Notify currently executing command to take a special
             action or to terminate.
CTRL/E       Moves the cursor to the end of the line.
CTRL/H       Moves the cursor to the beginning of the line.
CTRL/J       Deletes the word to the left of the cursor.
CTRL/R       Rewrites the current line.
CTRL/T       Display status.
CTRL/U       Deletes everything to the left of the cursor.
CTRL/Z       Indicates end of file on terminal input.
CTRL/Y       Terminate currently executing command.

Protection

 The system provides two levels of protection:  access control lists (ACL)
 and protection masks.  ACLs provide the first level of protection and are
 optional. If no ACL is provided, the object is protected as specified by
 its protection mask.

Additional information available:

ACL

Protection Mask

ACL

 An ACL consists of one or more access control entries (ACEs).  Each ACE
 can have one of three formats:

 (ALARM_JOURNAL=name)
     An ALARM_JOURNAL ACE specifies the name of an alarm journal to
     which security alarms are sent.  Currently, the only name allowed
     is SECURITY.

 (DEFAULT_PROTECTION,ownership[:access],...)
     A DEFAULT_PROTECTION ACE specifies the default protection for a
     directory.  Specify protection mask as described by the
     Protection_Mask topic.

 (IDENTIFIER=identifier,OPTIONS=option+...,ACCESS=access+...)
     An IDENTIFIER ACE specifies the access allowed to the users
     specified by identifier.  Possible option keywords are:
       NONE        Same as omitting OPTIONS.
       DEFAULT     Use in directory files only.  Copies the ACE (minus
                   the DEFAULT option) to subsequently created files in
                   the directory.
       HIDDEN      The ACE can be changed only by the program that
                   created it; cannot be specified from DCL command level.
       PROTECTED   Prevents the ACE from being deleted during an attempt
                   to delete the entire ACL.
       NOPROPAGATE The ACE is not propagated when the ACL is copied from
                   one version of a file to a later version of the file.
     Possible access keywords are:
       NONE     User cannot access the file.
       READ     User can read the file.
       WRITE    User can read from or write to the file.
       EXECUTE  User can execute the file.
       DELETE   User can delete the file.
       CONTROL  User can change the file's protection.
       SUCCESS  Causes an alarm if access is granted to the file.
       FAILURE  Causes an alarm if access is denied to the file.

  For information on identifiers, type identifiers.

Additional information available:

Identifiers

Identifiers

 An alphanumeric string that identifies one or more users.  One type of
 identifier is a user identification code (UIC), which can be numeric or
 alphanumeric.  A UIC has the following format (brackets and comma
 required):

 [group,member]

 A numeric UIC consists of a group number in the range 0 through 37776
 octal and a member number in the range 0 through 177776 octal.  An
 alphanumeric UIC consists of a member name and, optionally, a group
 name; both member and group names must contain at least one alphabetic
 character and up to a maximum of 32 alphanumeric characters (including
 A-Z, 0-9, underscore, and dollar sign characters).

Protection Mask

 A protection mask consists of 4 fields each with 4 indicators.
 Each  field  applies  to one category of ownership.  Each indicator
 indicator within a  field applies to one category of access.  The
 fields  and  indicators  are as follows:

     +--------+----------+  +-----------+------------------+
     | Field  | Ownership|  | Indicator |      Access      |
     +--------+----------+  +-----------+------------------+
     +--------+----------+  +-----------+------------------+
     | SYSTEM | System   |  |     R     | Read (allocate)  |
     +--------+----------+  +-----------+------------------+
     | OWNER  | Owner    |  |     W     | Write            |
     +--------+----------+  +-----------+------------------+
     | GROUP  | Group    |  |     E     | Execute (create) |
     +--------+----------+  +-----------+------------------+
     | WORLD  | World    |  |     D     | Delete           |
     +--------+----------+  +-----------+------------------+

Typically, commands require you to specify protection in the form:

        (field[:indicators],...)

Do not separate indicators.  For example, if system users are allowed full
access to an object and world  users  are  allowed  only  read and execute
access to the object, specify the protection as (SYSTEM:RWED,WORLD:RE).
Omitted fields default to no access, except in the case of SET PROTECTION
where omitted fields retain the existing protection.

Strings

 Specify a string as a set of characters enclosed in quotation marks.  To
 include a quotation mark within a character string, use two quotation
 marks.

Symbol assignment

 To create and/or assign a value to a local symbol, use an equal sign.
 To create and/or assign a value to a global symbol, use two equal signs.
 If the value is a character string, you can omit the quotation marks around
 the string if you specify a colon before the equal sign(s).  The following
 statements are equivalent:

        $ LOCAL_SYM = "string"
        $ LOCAL_SYM := string

Time

 Absolute time:

        dd-mmm-yyyy:hh:mm:ss.ss
        TODAY
        YESTERDAY
        TOMORROW

 Delta time:

        dd-hh:mm:ss.ss

 Combination time:

   An absolute time plus (+) or minus (-) a delta time.  Whenever a plus
   sign precedes the delta time value, the entire time specification must
   be enclosed in quotation marks.

 If a description states that a time can be expressed as an absolute time,
 a delta time, or a combination time, then you must specify a delta time
 as if it were part of a combination time.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026