VX/DCL - DCL Command Line Interpreter for Linux and UNIX - OpenVMS Migration


VX/DCL is an implementation of DEC's VMS Digital Command Language for Linux/UNIX. VX/DCL allows you to use the VMS commands that you are familiar with on Linux/UNIX systems. Your command scripts (. COM files) will run on the new platform. VX/DCL supports OpenVMS LOGICALS, SYMBOLS, LEXICALS, COMMANDS, with a complete API set.

Learn More

INTRODUCTION

VX/DCL is an implementation of DEC's VMS Digital Command Language for Unix. Written entirely in C for portability, it provides DEC VMS DCL functionality for most Unix based platforms. One of the most important aspects to be considered when migrating from DEC VMS to Unix is the provision of a command line interface which is familiar to the users. Starting with the $ prompt, VX/DCL provides a fully interactive environment that appears and behaves in a manner that is almost identical to HP OpenVMS DCL, whilst running under Unix. By providing the user with identical command procedure capabilities, the same programming enhancements, and simplification of system level interaction available to DEC VMS users.

VX/DCL can be used in place of the various shells provided by Linux and Unix,

LOGICALS AND SYMBOLS

VX/DCL provides Linux/UNIX users with VMS-compatible logical name capabilities. Each of the four main logical name tables is fully implemented, as are standard access modes and table creation. Support is provided for system-created logical names (process-permanent, system-permanent). Redefining capabilities have been implemented to provide identical functionality. The creation, display and deletion of logical names behave as under VMS, and all VMS programming conventions are preserved and supported. VX/DCL also implements the LNM$PROCESS and LNM$SYSTEM directory tables, create your own tables and logical name translation priorities.

In addition to supporting all Lexicals, VX/DCL includes all underlying DEC VMS system service routines called by the Lexicals VX/DCL provides the user with the capability to obtain system-wide information such as processes, files and devices, and then directly manipulate the data with relevant system services or command procedures. VX/DCL also supports DEC VMS string and number manipulation. VX/DCL will act as a parser, performing all scripts, calls, gosub and symbol expansion or data conversion routines.

VX/DCL supports the standard use and manipulation of symbols. Symbol substitution is also supported. Symbol names can be 1 to 255 characters in length. Legal symbol names can begin with "A-Z", "a-z", "_" . Two "=" signs define that the symbol is to be placed into the global symbol table (CLI$K_GLOBAL_SYM). One "=" places the symbol in the local symbol table (CLI$K_LOCAL_SYM). The symbol tables are searched locally and then globally.

FUNCTION

VX/DCL supports most standard commands available to DEC VMS users. Expressions and lexical functions may be used with existing DCL command procedures, which are inclusive of in-line data and will perform the same as under VMS. File manipulation capabilities including specification (name, type, version), directory organization (directory or sub-directory designations), and operations (creation, use, deletion of files) that are fully supported. By using VX/RMS, VX/DCL is able to extend Unix file handling capabilities to a level DEC VMS users have always enjoyed.

VX/DCL significantly eases the impact of a new operating environment by providing a familiar user interface and enabling the use of existing DEC VMS command procedures. Supported features include but are not limited to:

Support for over 130 commands

Captive Accounts
INPUT and OUTPUT Redirect
Line editing & command history
Fully integrated lexical functionality
Symbol & logical expressions
Powerful Parser
User-defined commands
Integration with VX/RMS for file (OPEN/CLOSE) functions
Integration with VX/JSP for SYS$BATCH & SYS$PRINT
Integration with VX/SORT for SORT/MERGE
Use of Unix commands from the $ prompt
Automatic VMS filespec to Linux/UNIX filespec
Additional lexcials for UNIX (F$$VMS_TO_UNIX)
Run UNIX COmmands from the DCL Prompt

PRINT AND BATCH Queue's

As an extension to VX/DCL, Sector7 can also supply a fully integrated job spooler system, VX/JSP. The job spooler environment includes support for both batch execution and printer queues with the necessary commands to SUBMIT and PRINT

If you make use of VMS's extensive batch and print queue facilities, VX/JSP can be fully integrated with VX/DCL to provide a rich set of extended functions. The job spooler environment includes support for both batch execution and printer queues, with the necessary commands to START and STOP the queues, SUBMIT and PRINT. By providing users with identical command procedure capabilities, and the same programming enhancements and system-level interaction available to VMS users.

PROCESSES

VX/DCL extends standard Linux/UNIX process management by incorporating the process management from VX/RT. This allows the user to inquire about processes system-wide. RUN supports detached processing and VMS-type input/output redirection.

DCL & CAPTIVE ACCOUNTS

It is possible to invoke VX/DCL instead of your normal Unix shell from the Unix command line or from within a Unix shell script. For interactive use, invoking VX/DCL instead of your normal Unix shell provides a captive environment for the user. It means that upon login, the user is placed directly into the VX/DCL environment. Upon typing LOGOUT at the VX/DCL prompt, the user is then returned to the login screen, much like VMS. The major difference between VMS DCL and VX/DCL is that SYLOGIN.COM resides in SYS$MANAGER on VMS and in SYS$LIBRARY under VX/DCL. SYS$LOGIN is normally set to the users HOME directory, which is where VX/DCL will look for LOGIN.COM. If using VX/DCL to run a command file at system startup, you may find the '-n' option useful. This informs VX/DCL to ignore
SYS$LIBRARY:SYLOGIN.COM
and

SYS$LOGIN:LOGIN.COM

DCL API's
CLI$
DCL_PARSE
DISPATCH
GET_VALUE
PRESENT
LIB$
DELETE_SYMBOL
GET_SYMBOL
SET_SYMBOL
DO_COMMAND
GET_COMMAND
SPAWN
GET_LOGICAL
DELETE_LOGICAL
SET_LOGICAL
SET_COMMON
GET_COMMON
SYS$
CRELNM
CRELNT
CRELOG
DELLNM
GETQUI(W)
SNDJBC(W)
TRNLNM
TRNLOG
LEXICALS
F$ADDTIME
F$CONTEXT
F$CSID
F$CVSI
F$CVTIME
F$CVUI
F$DEVICE
F$DIRECTORY
F$EDIT
F$ELEMENT
F$ENVIRONMENT
F$EXTRACT
F$FAO
F$FILE_ATTRIBUTES
F$GETDVI
F$GETJPI
F$GETQUI
F$GETSYI
F$IDENTIFIER
F$INTEGER
F$LENGTH
F$LOCATE
F$LOGICAL
F$MESSAGE
F$MODE
F$PARSE
F$PID
F$PRIVILEGE
F$PROCESS
F$RELEASE
F$SEARCH
F$SETPRV
F$SHELLVAR
F$STRING
F$TIME
F$TRNLNM
F$TYPE
F$UNIX_TO_VMS
F$USER
F$VERIFY
F$VMS_TO_UNIX
COMMAND
ALLOCATE
ANALYZE
APPEND
ASSIGN
ATTACH
BASIC
C
CALL
CLOSE
COBOL
CONTINUE
CONVERT
COPY
CREATE
DEALLOCATE
DEASSIGN
DECK
DEFINE
/CHARA
/FORM
/KEY
DELETE
/ENTRY
/FORM
/KEY
/QUEUE
/SYMBOL
DIFF
DIR
EDIT
ELSE

COMMAND
ENDIF
ENDSUBROUTINE
EOD
EXIT
FDL
Fortran
GOSUB
GOTO
HELP
IF
INITIALIZE
INIT QUEUE
INQUIRE
LIBRARY
LINK
LOGOUT
ON
OPEN
PASCAL
PRINT
PURGE
READ
RECALL
RECALL/ALL
RENAME
REPLY
RETURN
RUN
RUN/DETACHED
RUN/PROCESS
SEARCH
SET CONTROL
SET DEFAULT
COMMAND
SET DIRECTORY
SET ENTRY
SET FILE
SET KEY
SET MESSAGE
SET ON
SET OUTPUT
SET PROCESS
SET PROMPT
SET PROT
SET QUEUE
RESTART
SET RMS DEF
SET SYMBOL
SET TERMINAL
SET TRACE
SET UIC
SET VERIFY
SHOW SYMBOLS
SHOW TIME
SHOW DEFAULT
COMMAND
SHOW DEVICE
SHOW ENTRY
SHOW ERROR
SHOW KEY
SHOW LOGICAL
SHOW PROCESS
SHOW PROT
SHOW QUEUE
SHOW QUOTA
SHOW SYMBOL
SHOW SYSTEM
SHOW TERMINAL
SHOW TRANSL
SHOW USER
SORT
SPAWN
START
STOP
STOP
SUBMIT
SUBROUTINE
THEN
TYPE
UNIX
WAIT
WRITE