ALLOC dev [(actdev)] [(status)]
Allocate a device:
ALLOC should be used in preference to the $ ALLOCATE command when the device is to be used by an ICL procedure. For example to allocate a tape drive used by a FIGARO input command.
ALLOC may be abbreviated to ALL
e.g.
ALOAD exename [taskname]
Load an ADAM task into a subprocess:
APPEND intname [filename]
Open an existing text file for output. Output will be appended to the existing text.
CHECKTASK taskname (loaded)
Check whether an ADAM task is currently loaded.
CLEAR first last
In screen mode the range of lines on the screen between first and last are cleared.
CLOSE intname
Close a text file previously opened with CREATE, OPEN or APPEND.
CREATE intname [filename]
Create a text file and open it for output.
CREATEGLOBAL parname type
Create an ADAM global parameter.
$ command
The parameters of the $ command are concatenated to form a command which is executed by the underlying operating system’s command language. ‘DCL’ may be used as an alternative to ‘$’.
If the underlying command language is DCL, the specified command is obeyed within a permanent DCL subprocess which is created on the first call to DCL.
Because the commands are executed in the DCL subprocess rather than in the process running ICL, some commands may not have the expected effect. e.g. $ SET DEF will set the default directory for the subprocess but not for the process running ICL. Use the ICL DEFAULT (DEF) command instead. Furthermore, $ ALLOCATE will allocate a device to the subprocess and not to the process running ICL. Use the ICL command ALLOC for this purpose.
Control-C may be used to abort a DCL command running in the subprocess.
DEALLOC dev
Deallocate a device previously allocated using the ICL ALLOC command.
DEALLOC may be abbreviated to DEALL.
DEFAULT directory
Set the default directory for both the process running ICL, and for the DCL subprocess. The directory may be specified in any of the forms accepted by the DCL SET DEF command. DEFAULT with no parameter displays the current default directory.
DEFAULT should be used in preference to DCL SET DEF which will only set the default directory for the DCL subprocess.
DEFAULT may be abbreviated to DEF.
e.g.
DEFHELP name help_library [topic...]
Allows the ICL HELP command to be able to access information in other help libraries.
After name has been defined in this way
will return the topic information in help_library.
DEFINE command taskname [action]
Define a command which issues an OBEYW to an ADAM task
Once a command has been defined then
is equivalent to typing
with any parameters of command being appended to the OBEYW as the VALUE string sent to the task.
DEFPROC command file [procedure]
Define a command which runs a procedure from a source file.
When command is issued, file.ICL is loaded and compiled (if it is not already loaded) and the procedure is called. Any parameters specified with the original command are passed to the procedure.
DEFSHARE command image [action]
Define a command which issues an OBEYW to an ADAM shareable image monolith
Once a command has been defined with DEFSHARE then
is equivalent to typing
with any parameters of command being appended to the OBEYW as the VALUE string sent to the task. The task must be linked into a shareable image monolith rather than a normal executable task.
DEFSTRING command equivalence_string
Associate a command with an equivalence string.
Issuing the command is equivalent to typing the equivalence string. Any parameters of the command are appended to the equivalence string.
DEFTASK command [taskname]
Define a command which issues a SEND to an ADAM task
Once a command has been defined using DEFTASK then
is equivalent to typing
the parameters of command must supply the CONTEXT (GET, SET, OBEY, CANCEL) and the parameter or action name to be sent to the task.
DEFUSER command image [routine]
Define a command which calls a user written subroutine in a shareable image.
The subroutine should have a single character string parameter in which it will receive the ICL command line parameter string. The string is received as typed, except for the substitution of bracketed expressions.
Typing command causes the shareable image to be activated dynamically (if it is not already loaded), and the subroutine to be called. The subroutine can return an error message to ICL by signalling a VMS condition. This will result in the ICL exception USERERR. The exception text will contain the message associated with the VMS status returned.
DELETE proc
Delete procedure proc from the procedure table.
DISMOUNT dev [ NOUNLOAD ]
Dismount a tape previously mounted using the ICL MOUNT command. The NOUNLOAD parameter if specified means that the tape will be dismounted without unloading.
DISMOUNT may be abbreviated to DISMOU
DUMPTASK taskname
This command causes the ADAM task of name taskname to output a stack dump on the terminal from which it was loaded. For this command to be effective, the task must include a call to DTASK_SETDUMP(STATUS).
EDIT proc
Edit procedure ‘proc’ using the selected editor. If the name of the procedure is unchanged during the editing session the new version replaces the old one. If the name is changed a new procedure is created and the old version of ‘proc’ remains unchanged. By default the TPU editor is used. The editor may be changed to EDT or LSE using the SET EDITOR command.
To edit a file use the command:
ENDOBEY (path) (messid)
Wait for completion of an ADAM I-task action initiated by STARTOBEY
EXIT
EXIT from ICL and return control to DCL. On exiting from ICL a copy of all the current procedures is saved in the file SAVE.ICL
GET taskname parameter (variable)
Get a parameter of an ADAM I-task and put the value into an ICL variable.
GETGLOBAL parameter (variable)
Get the value of a ADAM global parameter
GETNBS nbsname (variable)
Get the value of a noticeboard item
The noticeboard name must correspond to a primitive item with one of the standard HDS types (e.g. _INTEGER). A dot notation is used to specify structure components (e.g. NOTICEBOARD.ITEM1.ITEM2). If the primitive item is an array only the first component is accessed.
GETPAR command parameter (variable)
Get the value of a parameter from the task’s parameter file. This will only be relevant for parameters which are not internal.
HELP [topic...]
Provide on line documentation on some aspect of ICL, or on some other topic which has been made available using the DEFHELP command.
INPUT [prompt] (string)
Input a string from the terminal.
INPUTI prompt (i) (j) ....
Input integers from the terminal
INPUTL prompt (l) (m) ....
Input logical values from the terminal
The logical values may be input as YES, NO, TRUE, FALSE or any abbreviation of these, in either upper or lower case.
INPUTR prompt (x) (y) ....
Input real numbers from the terminal
KEY keyname equivalence_string
Define an equivalence string for a key
The KEY command may be used at any time but the definition is only effective when screen mode is in use (however, the first SET SCREEN call in a session clears all key definitions).
KEYTRAP keyname
Specify trapping of a key
The KEYTRAP command may be used at any time but the definition is only effective when screen mode is in use (however, the first SET SCREEN call in a session clears all key definitions). The INKEY function is used to test for the pressing of a trapped key.
KEYUSER keyname image routine
Associate key with a user written subroutine in a shareable image
The KEYUSER command may be used at any time but the definition is only effective when screen mode is in use (however, the first SET SCREEN call in a session clears all key definitions). KEYUSER causes the specified routine to be called at AST level immediately the key is pressed. If necessary the shareable image is activated dynamically
KILL taskname
Kill an ADAM task
KILLDCL
KILLW taskname
Kill an ADAM task and wait for it to die.
LIST proc
List procedure ‘proc’ on the terminal
LOAD file
Accept commands from ‘file.ICL’ rather than from the terminal.
‘file’ may specify a procedure previously saved using the SAVE command.
LOADD exename [taskname] [priority]
Load an ADAM task into a detached process and wait for loading to complete.
LOADW exename [taskname]
Load an ADAM task into a subprocess and wait for loading to complete:
MOUNT dev [ (status) ]
Mount a tape - equivalent to the DCL MOUNT/FOREIGN command. The tape is mounted as a foreign tape at its initialized density.
The optional parameter status is a variable in which the status of the mount operation will be returned. The success of the operation may be tested using the function OK(status).
MOUNT may be abbreviated to MOU.
NOREP
Turn off reporting. Reporting is turned on by the REPORT command.
OBEYW taskname action . . .
Send an OBEY message to an ADAM task and wait for it to complete. Load the task as as a cached task if necessary.
OPEN intname [filename]
Open an existing text file for input.
PRINT p1 p2 ....
The parameters of PRINT are concatenated and printed on the terminal.
PROCS
List the names of all current procedures.
PUTNBS nbsname value
Write the value of a noticeboard item
The noticeboard name must correspond to a primitive item with one of the standard HDS types (e.g. _INTEGER). A dot notation is used to specify structure components (e.g. NOTICEBOARD.ITEM1.ITEM2). If the primitive item is an array, only the first component is accessed.
READ intname (string)
Read a line from a text file.
READI intname (i) (j) ....
Read a line of integers from a text file.
READL prompt (l) (m) ....
Read a line of logical values from a text file.
The logical values may be input as YES, NO, TRUE, FALSE or any abbreviation of these, in either upper or lower case.
READR intname (x) (y) ....
Read a line of real numbers from a text file
REPFILE [logfile] [DTNS]
Examine a logfile
REPORT [logfile]
Turn on reporting. After reporting has been turned on, a log of input/output and ADAM message system traffic is written to the file specified by logfile. If the parameter is omitted the logical name ADAM_LOGFILE is used. If the file already exists, the log is appended to it.
The logfile may be examined using the REPFILE command or by the ADAM task, LISTLOG. LISTLOG is found along the ADAM_EXE search path and provides a means of obtaining readable hardcopy of the log. A DCL symbol LISTLOG is defined by ADAMSTART to run this task from DCL.
The command NOREP turns off reporting.
SAVE proc
Save procedure ‘proc’ in the file ‘proc.ICL’.
SAVE ALL
Save all procedures in file ‘SAVE.ICL’.
Procedures save in this way may be reloaded using LOAD.
SAVEINPUT lines filename
Save previous input lines in a text file. ‘lines’ specifies the number of lines to be saved, and ‘filename’ is the file in which they are saved. If ‘filename’ is omitted it defaults to SAVEINPUT.ICL in the default directory. If ‘lines’ is omitted the entire input buffer is saved.
SEND taskname context . . .
Send a GET, SET, OBEY or CANCEL message to an ADAM task. Load the task as as a cached task if necessary.
OBEY, SET and GET contexts may be used with A-task monoliths. In that case, action is replaced by atask and parameter by atask:parameter where atask is the name of the individual A-task within the monolith.
The SET command is used to control various features of the state of ICL.
SET ATTRIBUTES attributes
Sets the attributes for text written with the LOCATE command. attributes is a string containing any combination of the letters D (double size), B (bold), R (Reverse video), U (underlined) and F (flashing).
SET AUTOLOAD
SET NOAUTOLOAD
Switches on/off the automatic loading of tasks in response to an invocation. ICL’s default is AUTOLOAD. If AUTOLOAD is not selected, tasks must be loaded explicitly with command ALOAD or LOADW.
SET CHECKPARS
SET NOCHECKPARS
Switches on/off the checking of parameters supplied to ICL procedures. ICL’s default is CHECKPARS – in that case a procedure will not be executed unless the correct number of parameters is supplied. NOCHECKPARS allows the procedure to use the UNDEFINED function to test if the parameter was supplied and prompt if not. Note that only trailing parameters may be omitted.
SET EDITOR name
Sets the editor to be used for editing of ICL procedures. name must be one of TPU, EDT or LSE. (LSE may not be available on all systems). The default editor is TPU.
SET HELPFILE library
Specifies a help library to be used by the ICL HELP system for topics other than those specified by a DEFHELP command. The library specification library should include a directory specification.
The default help library is ICLDIR:ICLHELP.
SET MESSAGES
SET NOMESSAGES
These commands control whether or not loading messages are output when ADAM tasks are loaded. By default loading messages are output.
SET PRECISION digits
Set the number of decimal digits precision for unformatted conversions of real values to strings. The default value is 6 and may be set to any value between 1 and 16.
SET PROMPT string
This command can be used to specify a prompt string to replace the default ICL prompt.
SET SAVE
SET NOSAVE
This command controls whether ICL procedures are saved in a SAVE.ICL file when ICL exits. By default a SAVE.ICL file is created if there are any procedures to save.
SET SCREEN n
SET NOSCREEN
These commands select screen I/O mode or normal I/O mode. On the SET SCREEN mode the parameter n specifies the number of lines in the scrolling region. If n is omitted eight lines of scrolling region are allocated.
SET TRACE
SET NOTRACE
These commands turn on and off the tracing of procedure execution. By default tracing is off. When tracing is on, each line of the procedure is output on the terminal before execution.
SETGLOBAL parameter value
Set the value of a ADAM global parameter
If the global parameter does not exist, one of type _CHAR*132 is created. This is usually OK but could give problems with _LOGICAL parameters. The CREATEGLOBAL command can be used to create global parameter storage of a specific type.
SETPAR command parameter value
Set the value of a parameter into the task’s parameter file. This will only be relevant for parameters which are not internal.
If the parameter value is an HDS object name or device name it must be prefixed by @. SETPAR sets the current value of the parameter. Thus the VPATH or PPATH must include CURRENT for SETPAR to have any effect on subsequent execution of the command. Note that if the task is loaded, it will probably have its parameter file open and locked against ICL writing into it.
SIGNAL name [text]
Signal an ICL exception
Following SIGNAL an exception handler will be executed if one exists for the exception. Otherwise a message will be output, and control will return to direct mode.
SPAWN [ dcl_command ]
SPAWN with parameters concatenates the parameters to form a DCL command. creates a subprocess, and executes the DCL command in the subprocess.
SPAWN with no parameters creates a subprocess in which a series of DCL commands may be executed. Use LOGOUT to return to ICL.
In most cases DCL is a faster alternative to SPAWN as the subprocess does not have to be created for each new command. However SPAWN will do a few things which are not possible under DCL. SPAWNed commands will prompt for their parameters, for example, whereas commands issued using DCL will not.
STARTOBEY (path) (messid) task action value
Send an OBEY message to an ADAM task and return the path and message-id. Used in conjunction with ENDOBEY to set up multiple concurrent actions in a I-task.
TASKS
VARS [ proc ]
Lists the variables of procedure ‘proc’ with their current types and values. VARS with no parameters lists the variables at direct mode.
WAIT interval
Wait for a specified interval expressed in seconds.
WRITE intname p2 p3 ....
The parameters of WRITE are concatenated and written to the text file of name intname. This file must have been previously opened with an APPEND or CREATE command.