OpenVMS Programming Environment Manual Order Number: AA–PV66B–TK March 1994 This manual describes the OpenVMS programming environment and shows how Digital products and tools can be integrated into the software development process. Revision/Update Information: This manual supersedes the OpenVMS Programming Environment Manual, OpenVMS AXP Version 1.5 and OpenVMS VAX Version 6.0. Software Version: OpenVMS AXP Version 6.1 OpenVMS VAX Version 6.
March 1994 Digital Equipment Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.
Send Us Your Comments We welcome your comments on this or any other OpenVMS manual. If you have suggestions for improving a particular section or find any errors, please indicate the title, order number, chapter, section, and page number (if available). We also welcome more general comments. Your input is valuable in improving future releases of our documentation. You can send comments to us in the following ways: OPENVMSDOC@ZKO.MTS.DEC.
Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1 Introduction to the OpenVMS Programming Environment 1.1 1.2 1.3 1.4 1.5 1.5.1 1.5.2 1.6 1.7 Built-in and Optional OpenVMS Programming Tools . . . . . . . . . OpenVMS Support for Portable and Interoperable Applications OpenVMS Support for Distributed Applications . . . . . . . . . . . . OpenVMS Support for Object-Oriented Design . . . . . . . . . . . . .
4 User Interface Tools for OpenVMS Applications 4.1 4.2 4.3 4.4 DIGITAL Command Language Command Definition Utility . . . Message Utility . . . . . . . . . . . . DECforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 Debugging and Testing Tools 9.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.2 9.3 9.4 9.5 9.6 9.7 OpenVMS Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Language Support . . . . . . . . . . . . . . . User-Interface Options . . . . . . . . . . . . . . . . . . . . . . . Functional Features of the Command Interface . . . . Convenience Features of the Command Interface . . Convenience Features of the DECwindows Interface OpenVMS Delta/XDelta Debugger . . . . . . . . . . . . . . . . .
Tables 1–1 1–2 1–3 2–1 4–1 7–1 8–1 9–1 9–2 9–3 10–1 10–2 10–3 10–4 10–5 viii OpenVMS Software Development Tools . . . . . . . . . . . . . . . . . . . . . . . More Information on Products That Support Object-Oriented Design ...................................................... Examples of DEC Rdb Products and Related Products . . . . . . . . . . . Selected Standards Supported by OpenVMS VAX and OpenVMS AXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preface Intended Audience This manual is intended for programmers who want to become familiar with the OpenVMS operating system programming environment. The information in this manual applies to OpenVMS operating systems running on both VAX and AXP platforms. Unless otherwise noted, the environments function the same way. Document Structure This manual introduces the programming tools supported by the OpenVMS operating system.
• OpenVMS Calling Standard • OpenVMS Command Definition, Librarian, and Message Utilities Manual • OpenVMS Debugger Manual • OpenVMS Delta/XDelta Debugger Manual • OpenVMS AXP Device Support: Developer’s Guide • OpenVMS Linker Utility Manual • OpenVMS National Character Set Utility Manual • OpenVMS VAX Patch Utility Manual • OpenVMS VAX System Dump Analyzer Utility Manual • OpenVMS AXP System Dump Analyzer Utility Manual • OpenVMS SUMSLP Utility Manual • OpenVMS System Services Refere
... boldface text Horizontal ellipsis points in examples indicates one of the following possibilities: • Additional optional arguments in a statement have been omitted. • The preceding item or items can be repeated one or more times. • Additional parameters, values, or other information can be entered. Boldface text represents the introduction of a new term or the name of an argument, an attribute, or a reason (user action that triggers a callback).
1 Introduction to the OpenVMS Programming Environment The OpenVMS operating system provides a rich and varied environment for developing software application programs. Programming software that is included in the OpenVMS operating system and a wide range of optional tools offer a comprehensive environment for building software applications. By using the right tool for the right job, programmers at all levels can enhance productivity, improve software quality, and manage complex programming tasks.
Introduction to the OpenVMS Programming Environment 1.1 Built-in and Optional OpenVMS Programming Tools Table 1–1 lists the software development tools supported by the OpenVMS operating system, shows whether they are built-in or optional, and provides pointers to their descriptions in this manual.
Introduction to the OpenVMS Programming Environment 1.1 Built-in and Optional OpenVMS Programming Tools process to create and modify source files. Figure 1–1 shows how some development tools work in more than one phase of the software development life cycle.
Introduction to the OpenVMS Programming Environment 1.4 OpenVMS Support for Object-Oriented Design 1.4 OpenVMS Support for Object-Oriented Design The OpenVMS operating system supports the object-oriented design of applications through its support of the C++ programming language and such Digital application-development products as ObjectBroker (formerly named DEC ACA Services) and DEC Forté. These products support object-oriented design but are not limited to that style.
Introduction to the OpenVMS Programming Environment 1.5 Database and Transaction Processing Support Besides DEC Rdb and DEC DBMS, Digital also offers DEC ACCESSWORKS. DEC ACCESSWORKS enables application programs, running on various desktop computers, to access information in many database systems over PATHWORKS network connections.
Introduction to the OpenVMS Programming Environment 1.7 Migration Tools and Documentation In addition to these software products, documentation, training, and migration services are available. For more information, see the OpenVMS Compatibility Between VAX and AXP manual.
2 Portable and Interoperable Application Support You can use OpenVMS programming tools to design portable applications, that is, applications that can be easily moved from one computer system to another. An example of a portable application is one that runs on an OpenVMS AXP system with POSIX for OpenVMS AXP installed and also runs on a Sun SPARCstation. (POSIX is the acronym for Portable Operating System Interface for UNIX.
Portable and Interoperable Application Support 2.1 Application Portability and Interoperability The following software specifications, supported by OpenVMS, contribute significantly to the creation of portable applications: • Languages that conform to the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) standards • OSF/Motif graphical user interface • Structured Query Language (SQL) 2.
Portable and Interoperable Application Support 2.2 OpenVMS Support of Standards Table 2–1 (Cont.) Selected Standards Supported by OpenVMS VAX and OpenVMS AXP Technical Area Networking and Communication Standards Body /Originator 6 CCITT , ISO X.400 ANSI SCSI IEEE 802 ISO 8802 (CSMA/CD) CCITT X.
Portable and Interoperable Application Support 2.3 DECwindows Motif Programming Support 2.3.1 Linking and Navigation Capabilities with DEClinks DEClinks services are included in the DECwindows Motif environment. They are used for creating, managing, and traversing informational links between different application-specific data. (DEClinks was formerly named LinkWorks.) An application is said to be a hyperapplication if it participates in a DECwindows DEClinks environment.
Portable and Interoperable Application Support 2.4 POSIX Programming Support OpenVMS POSIX implements the POSIX 1003.4 draft standard, which defines a set of real-time functions. For applications that have real-time computing requirements, these extensions provide support for such functions as enhanced interprocess communication, scheduling and memory management control, and asynchronous I/O operations.
Portable and Interoperable Application Support 2.6 Industry Standard 2D and 3D Graphics Support graphics options on OpenVMS AXP systems and is required for performing any 3D graphics operations on such systems. 2.6.1 DEC Open3D (AXP Only) AXP DEC Open3D for OpenVMS AXP provides support for the PXG family of graphic accelerators on Digital’s Alpha AXP workstations. It also provides an extensive set of programming libraries for use by developers of new applications.
Portable and Interoperable Application Support 2.6 Industry Standard 2D and 3D Graphics Support 2.6.3 DEC GKS (AXP Only) AXP DEC GKS for OpenVMS AXP is a 3D graphics support system that provides application programmers with a set of functions for interactive and noninteractive computer graphics applications. You use the functions to define and display computer-generated 3D graphics using a variety of computer graphics equipment.
3 Distributed Computing Support The OpenVMS operating system supports distributed computing, including the development and execution of distributed applications, with many built-in services and many optional Digital products.
Distributed Computing Support 3.2 OpenVMS Networking Support for Distributed Computing DECnet/OSI for OpenVMS is compatible with DECnet for OpenVMS, a Phase IV product. Nodes running DECnet/OSI for OpenVMS and nodes running DECnet for OpenVMS can communicate on the same network. Other DECnet products provide services for distributed processing over the network. These products include DECdts, a distributed time service; DECdns, a distributed name service; and DECdfs, a distributed file service.
Distributed Computing Support 3.3 OpenVMS Client/Server Capabilities • OpenVMS systems • Other vendor systems that are running the client software User interfaces on client systems can be character-cell terminals or windowing desktops. Client/server configurations permit the enterprise-wide capabilities of OpenVMS host systems to be integrated with the personal-computing capabilities of desktop systems. 3.3.
Distributed Computing Support 3.
Distributed Computing Support 3.3 OpenVMS Client/Server Capabilities PATHWORKS enables PC users to share applications, data, and system resources such as printers, disks, CD–ROM readers, and network gateways, without losing the benefits of industry-standard personal computing.
Distributed Computing Support 3.4 Distributed Application Support The DCE for OpenVMS product family supports the following networking transports: TCP/IP, User Datagram Protocol (UDP), and DECnet Phase IV. The DCE for OpenVMS products include: • DCE Runtime Services for OpenVMS, required for all systems participating in the DCE cells. A DCE cell is the term used to describe the group of systems that participate in the distributed computing environment.
4 User Interface Tools for OpenVMS Applications This chapter describes the Digital tools available for creating user interfaces for applications that run only on OpenVMS systems. Digital tools for creating user interfaces for portable applications, including graphical user interface tools, are described in Chapter 2. The following tools are described in this chapter: • DIGITAL Command Language (DCL) • Command Definition utility • Message utility • DECforms 4.
User Interface Tools for OpenVMS Applications 4.2 Command Definition Utility You can modify your process command table, the system command table in SYS$LIBRARY, or create a new command table to be used with user-written applications. For more information about creating your own commands with CDU, refer to the OpenVMS Command Definition, Librarian, and Message Utilities Manual. 4.
5 Editors This chapter describes features of the following Digital editors: • DEC Text Processing Utility (DECTPU) and its Extensible Versatile Editor (EVE) • EDT editor • DEC Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) • SUMSLP utility In addition to the editors described in this chapter, another editor, the vi editor, is supplied with the POSIX interface.
Editors 5.1 DEC Text Processing Utility • Pattern matching • Key definition For more information about using DECTPU, refer to the Guide to the DEC Text Processing Utility and the DEC Text Processing Utility Reference Manual. 5.1.1 EVE For most uses, the EVE editing interface is preferable to EDT because of its features and customizable interface. The EVE editing interface is installed with DECTPU. EVE is easy to learn and easy to use.
Editors 5.
6 Tools for Managing Program Files This chapter describes the following tools for managing program files: • DEC Code Management System (CMS) • DEC Module Management System (MMS) Both of these tools are components of DECset. DECset is a multipurpose, multiplatform toolset with a DECwindows Motif user interface. This interface provides similar functions and a consistent look and feel across platforms. DECset supports software coding, testing, debugging, and maintenance activities for multiple languages.
Tools for Managing Program Files 6.1 DEC Code Management System CMS keeps your files in project libraries, which are OpenVMS directories. These directories store your project’s files, or elements, as well as history information. A CMS library provides a record of the following: • Transactions that created specific element generations. • Transactions related to the evolution of a specific element.
7 Compilers, Interpreters, and Assemblers The OpenVMS operating system supports a variety of language compilers, interpreters, and two assemblers, one for VAX computers and one for AXP computers. The compilers whose names begin with VAX are available for developing applications on OpenVMS VAX systems. Most of the compilers whose names begin with DEC are available for developing applications on OpenVMS VAX systems as well as OpenVMS AXP systems.
Compilers, Interpreters, and Assemblers 7.2 Summary of Language Features 7.2 Summary of Language Features Table 7–1 lists the languages available for OpenVMS VAX and OpenVMS AXP and their main features. Compilers whose names begin with VAX are supported only on OpenVMS VAX. Compilers whose names begin with DEC are supported on OpenVMS VAX and OpenVMS AXP unless noted otherwise. The sections that follow provide more detail about each one.
Compilers, Interpreters, and Assemblers 7.2 Summary of Language Features Table 7–1 (Cont.
Compilers, Interpreters, and Assemblers 7.3 Ada • VAX Ada defined exception handling to recover from error conditions. User-defined exception handling is also available. The DEC Ada Professional Development Option is available on OpenVMS VAX systems and is licensed separately. This option provides smart recompilation and program library file-block caching to increase productivity.♦ 7.4 APL The VAX APL interpreter provides a built-in editor, debugger, system communications facility, and file system.
Compilers, Interpreters, and Assemblers 7.6 BLISS-32 • Machine-specific functions can be separated from the common, mainline code via modularization, macros, and special Library and Require files (separate files that can be invoked from a BLISS program). • Machine-specific characters can be passed to BLISS data structures with the use of parameters. 7.7 C Digital offers two versions of C, VAX C and DEC C. VAX C is available on OpenVMS VAX systems only.
Compilers, Interpreters, and Assemblers 7.9 COBOL 7.9 COBOL Digital offers two versions of COBOL, VAX COBOL for developing COBOL programs on OpenVMS VAX and DEC COBOL for developing COBOL programs on OpenVMS AXP. Both are compatible with the ANSI-standard COBOL and both allow access to common record definitions stored in the Common Data Dictionary.
Compilers, Interpreters, and Assemblers 7.
Compilers, Interpreters, and Assemblers 7.12 MACRO • Display informational messages • Control the assembler options that are used to interpret the source program • Define new opcodes VAX MACRO directives define macros and repeat blocks. With these directives, you can repeat identical or similar sequences of source statements and use string operators to manipulate and test the contents of source statements. 7.12.
Compilers, Interpreters, and Assemblers 7.13 OPS5 • Planning • Decision support • Rapid prototyping DEC OPS5 for OpenVMS provides an upward compatible migration path for users of VAX OPS5 Version 3.0 or earlier versions. Applications written in DEC OPS5 can call routines written in other languages, and those routines can, in turn, call the DEC OPS5 run-time system. A main program written in another language can also call a DEC OPS5 application.
Compilers, Interpreters, and Assemblers 7.15 PL/I 7.15 PL/I Digital offers two versions of PL/I: VAX PL/I for developing programs on OpenVMS VAX and DEC PL/I for developing programs on OpenVMS AXP.
8 Linker and Librarian After a program is compiled or assembled, it must be linked to produce an application that can run on an OpenVMS VAX or OpenVMS AXP system. The OpenVMS Linker Utility (linker) performs the following major steps: • Resolves references to global symbols among the input modules • Allocates virtual memory for the image • Initializes the image You can supply linker options to the linker in an options file.
Linker and Librarian 8.1 Linker Input and Output • An image map—A file containing additional program information including object module synopsis, module relocatable reference synopsis, image section synopsis, program section synopsis, symbols by name and value, image synopsis, and link run statistics. • A symbol table file—A file containing symbols and their values to be used by other programs being linked.
Linker and Librarian 8.3 Using the LIBRARIAN with the Linker 8.3 Using the LIBRARIAN with the Linker You can use the Librarian utility (LIBRARIAN) to collect input—object modules and shareable images—for the linker. You can assign system-defined logical names to the libraries. Then, the linker automatically searches these libraries to resolve references. The library logical names are LNK$LIBRARY and LNK$LIBRARY_1 through LNK$LIBRARY_999.
Linker and Librarian 8.5 Librarian Utility 8.5.1 Library Types Table 8–1 lists the types of available libraries.
9 Debugging and Testing Tools This chapter describes the debuggers and testing tools supplied with the OpenVMS operating system and some optional testing tools, as shown in Table 9–1. Table 9–1 Debugging and Testing Tools Name Built-in or Optional Where Described OpenVMS Debugger Built-in Section 9.1 OpenVMS Delta/XDelta Debugger Built-in Section 9.2 ‡OpenVMS AXP System-Code Debugger Built-in Section 9.3 System Dump Analyzer Built-in Section 9.
Debugging and Testing Tools 9.1 OpenVMS Debugger You can locate errors with the debugger by observing and manipulating your program interactively as it executes.
Debugging and Testing Tools 9.1 OpenVMS Debugger 9.1.2 User-Interface Options The debugger has the following user-interface options to accommodate different needs and debugging styles: • DECwindows interface for workstations When using this interface, you interact with the debugger by manipulating a mouse and pointer to choose items from menus, click on buttons, select names in windows, and so on. This interface is the default interface.
Debugging and Testing Tools 9.1 OpenVMS Debugger Breakpoints By setting breakpoints with the SET BREAK command, you can suspend program execution at specified locations and check the current status of your program. Rather than specify a location, you can also suspend execution on certain classes of instructions or on every source line. Also you can suspend execution on certain kinds of events, such as exceptions and tasking (multithread) events.
Debugging and Testing Tools 9.1 OpenVMS Debugger VAX Vector Debugging (VAX Only) On VAX systems, you can debug vectorized programs, that is, programs that use VAX vector instructions. You can control and monitor execution at the vector instruction level, examine and deposit vector instructions, manipulate the contents of vector registers, use a mask to display specific vector elements, and control synchronization between the scalar and vector processors.
Debugging and Testing Tools 9.1 OpenVMS Debugger Initialization Files You can create an initialization file containing commands to set your default debugging modes, screen display definitions, keypad key definitions, symbol definitions, and so on. When you invoke the debugger, those commands are executed automatically to tailor your debugging environment. Log Files You can record in a log file the commands you enter during a debugging session and the debugger’s responses to those commands.
Debugging and Testing Tools 9.1 OpenVMS Debugger To display the values of the individual elements of an aggregate variable (such as an array), you double click on the name of the variable in the Monitor View. To assign a new value to a variable, you edit the currently displayed value. To set a watchpoint, you click on a button next to its name. To dereference a pointer variable (to display the value of the referenced object), you double click on the name of the pointer variable.
Debugging and Testing Tools 9.2 OpenVMS Delta/XDelta Debugger 9.2 OpenVMS Delta/XDelta Debugger The OpenVMS Delta/XDelta Debugger (DELTA/XDELTA) is a primitive debugger. It is used to debug code that cannot be debugged with the symbolic debugger, that is, any code that executes at interrupt priority levels (IPLs) above IPL0 or any code that executes in supervisor, executive, or kernel mode. Examples include user-written device drivers and the OpenVMS operating system.
Debugging and Testing Tools 9.3 OpenVMS AXP System-Code Debugger (AXP Only) • Examine and modify the values of variables • In some cases, test the effect of modifications without having to edit the source code, recompile, and relink Because the OpenVMS AXP System-Code Debugger is a symbolic debugger, you can specify variable names, routine names, and so on, precisely as they appear in the source code.
Debugging and Testing Tools 9.
Debugging and Testing Tools 9.5 Crash Log Utility Extractor The implementation differences between OpenVMS VAX and OpenVMS AXP are shown in Table 9–3. Table 9–3 CLUE Differences Between OpenVMS VAX and OpenVMS AXP OpenVMS VAX OpenVMS AXP Access method Invoked as a separate utility. Accessed through SDA. History file A cumulative file that contains a one-line summary and detailed information from the crash dump file for each crash.
Debugging and Testing Tools 9.6 DEC Performance and Coverage Analyzer • Ada multitasking data—Many types of multitasking data can be gathered to determine which tasks consume the most resources. • Exact execution counts—Information about the exact number of times specified program locations are executed helps illuminate an application’s dynamic functions.
10 Using Callable System Routines The OpenVMS operating system includes the following callable system routines that perform various tasks: • Run-time library (RTL) routines • System services • Utility routines • OpenVMS RMS (hereafter referred to as RMS) In this manual, a routine is a closed, ordered set of instructions that performs one or more specific tasks. Every routine has an entry point (the routine name), and optionally an argument list.
Using Callable System Routines 10.1 Deciding Which Routines to Use 10.1.2 Security Procedures For security procedures, use system services to maintain rights database, to use access control lists and process rights lists, to check access protection, and to provide security erase patterns. To assign protection to a particular file, use RMS. 10.1.3 File Management For complex file manipulation, you would generally use RMS.
Using Callable System Routines 10.1 Deciding Which Routines to Use • Algebraic function evaluation • Complex function evaluation • Complex exponentiation • Miscellaneous function evaluation If you want to maintain compatibility with future libraries and create portable mathematical applications, Digital recommends that you use the DPML routines available through the high-level language of your choice (for example, FORTRAN or C) rather than using the call interface.
Using Callable System Routines 10.2 RTL Routines Table 10–1 (Cont.
Using Callable System Routines 10.3 System Services that calls the $CREPRC system service to create a subprocess to perform certain functions for an application. System services can be divided into functional groups. Table 10–2 lists each group of system services and its function. Table 10–2 Functional Groups of System Services Services Group Function AST Process execution can be interrupted by events (such as I/O completion) for the execution of designated subroutines.
Using Callable System Routines 10.3 System Services Table 10–2 (Cont.) Functional Groups of System Services 10–6 Services Group Function Input/Output I/O services perform input and output operations directly, rather than through the file handling services of RMS.
Using Callable System Routines 10.3 System Services Table 10–3 summarizes the system services according to their functions. Table 10–3 Summary of System Services Service Function AST Services $DCLAST Queues an AST for the calling access mode or for a less privileged access mode. $SETAST Enables or disables the delivery of asynchronous system traps (ASTs) for the access mode from which the service call is issued. $SETPRA Establishes a routine to receive control after a power recovery is detected.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function DECdtm Services $START_TRANS (and $START_TRANSW) Starts a new transaction (and wait). Event Flag Services $ASCEFC Associates a named common event flag cluster with a process to execute the current image and to be assigned a process-local cluster number for use with other event flag services. $CLREF Clears (sets to 0) an event flag in a local or common event flag cluster.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function I/O Services $DELMBX Marks a permanent mailbox for deletion. $DEVICE_SCAN Returns the names of all devices that match a specified set of search criteria. $DISMOU Dismounts a mounted volume or volume sets. †$DNS (AND $DNSW) Allows client applications to store resource names and addresses (and wait).
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function Lock Management Services $DEQ Dequeues (unlocks) granted locks; dequeues the sublocks of a lock; or cancels an ungranted lock request. $ENQ (and $ENQW) Queues a new lock or lock conversion on a resource (and wait). $GETLKI (and $GETLKIW) Returns information about the lock database on a system (and wait).
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function Memory Management Services $PURGWS Removes a specified range of pages from the current working set of the calling process to make room for pages required by a new program segment. $SETPRT Allows a process to change the protection on a page or range of pages.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function Process Control Services $SETPRI Changes the base priority of the process. $SETPRN Allows a process to establish or to change its own process name. $SETPRV Enables or disables specified privileges for the calling process. $SETRWM Allows a process to specify what action system services should take when system resources required for their execution are unavailable.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function System Security Services $CHECK_ACCESS Invokes system access protection check on behalf of another user. $CHECK_PRIVILEGE (and $CHECK_ PRIVILEGEW) Determines whether the caller has the specified privileges or identifiers (and wait). $CHKPRO Invokes system access protection check. $CMEXEC Changes the access mode of the calling process to executive mode.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function System Security Services $REVOKID Removes identifier from process or system rights list. †$SCAN_INTRUSION Scans the intrusion database for suspects or intruders during a login attempt, audits login failures and updates records, or adds new records to the intrusion database. $SETDFPROT Allows you to read and write the default file protection for the process.
Using Callable System Routines 10.3 System Services Table 10–3 (Cont.) Summary of System Services Service Function Timer and Time Conversion Services $TIMCON Converts Coordinated Universal Time (UTC) to 64-bit system format or 64-bit system format to UTC based on the value of the convert flag. 10.4 Utility Routines Some OpenVMS utilities can be invoked either at the DCL command level or through a callable interface. Other utilities have only a callable interface.
Using Callable System Routines 10.5 OpenVMS Record Management Services 10.5 OpenVMS Record Management Services OpenVMS Record Management Services (RMS) assists user programs in processing and managing files and their contents. RMS is a collection of routines that give programmers a device-independent method for storing, retrieving, and modifying data.
Using Callable System Routines 10.5 OpenVMS Record Management Services 10.5.
Using Callable System Routines 10.5 OpenVMS Record Management Services Table 10–5 (Cont.) User Control Blocks Control (Block) Macro (Name) $XABxxx_STORE Function Moves specified values into a previously specified and allocated XABxxx. 10.5.
Using Callable System Routines 10.5 OpenVMS Record Management Services • Merge new records into an existing indexed file. • Convert carriage control to one of four formats (CARRIAGE_RETURN, FORTRAN, PRINT, and NONE). CONVERT/RECLAIM does not change file format or organization when it reclaims empty bucket space. It deletes the old pointers to a bucket and puts it on a list of free buckets.
Using Callable System Routines 10.5 OpenVMS Record Management Services With FDL commands, you can add, modify, or delete lines to a file; enable assistance with the design and optimization of a data file; specify the number of keys in an indexed file; specify the output file; divide an indexed file into a specified number of areas; and choose between smaller buffer and flatter files. For complete information about RMS, see the OpenVMS Record Management Utilities Reference Manual.
11 Additional Programming Utilities In addition to the utilities already described in this manual, the OpenVMS operating system also includes the following programming utilities that you can use to develop application programs: • Patch utility • National Character Set (NCS) utility This chapter briefly describes the features of these programming utilities and references the appropriate manuals for more information about how to use them. 11.
Additional Programming Utilities 11.2 National Character Set Utility 11.2 National Character Set Utility The National Character Set (NCS) utility allows you to define and use collating sequences and conversion functions. With collating sequences, you can alter the standard sorting sequence for a particular use (usually for a national character set). Using conversion functions, you can define case conversions or character representations that you subsequently use in the collating sequence.
Index A ACA Services See ObjectBroker ACCESSWORKS, 1–4 ACMS, 1–4 Ada, 7–2, 7–3 ANALYZE/RMS_File utility, 10–18 APL, 7–4 Applications distributed, 1–3, 3–1, 3–5, 7–1 portable, 2–1 POSIX for OpenVMS AXP, 2–2 POSIX for OpenVMS VAX, 2–2 Arithmetic See also Condition-handling services using system routines, 10–2 Assembly languages See MACRO AST system services, 10–5, 10–7 AXP assembly language, 7–8 B BASIC, 7–2, 7–4 BLISS-32, 7–2, 7–4 C C, 7–2, 7–5 C++, 1–4, 7–2, 7–5 Calling standard, 10–3 programming, 7–1 CDD
DCE Runtime Services for OpenVMS, 3–6 DCE Security Server, 3–6 DDE (Dynamic Data Exchange) protocol ObjectBroker, 3–6 Debuggers, 9–1 to 9–9 DEC ACCESSWORKS See ACCESSWORKS DEC Ada See Ada DEC COBOL See COBOL DEC Code Management System See CMS DEC Forté See Forté DEC Fortran See Fortran DEC Language-Sensitive Editor/Source Code Analyzer See LSE/SCA DEC Module Management System See MMS DEC OPS5 See OPS5 DEC Pascal See Pascal DEC PCA See PCA DEC Performance and Coverage Analyzer See PCA DEC PHIGS See PHIGS DEC
EVE (Extensible Versatile Editor) keypad emulation EDT, 5–2 Event flags system services, 10–5, 10–8 Event synchronization, 10–3 Extended attribute blocks See XABs Extensible Versatile Editor See EVE Interface Definition Language See IDL International standards OpenVMS support, 2–2 L FABs (file access blocks), 10–16 FDL (File Definition Language), 10–19 file, 10–19 Feedback on documentation, sending to Digital, iii File access blocks See FABs File Definition Language See FDL File management, 6–1, 6–2, 10–
N Name blocks See NAMs Naming DCE Cell Directory Server, 3–6 system services, 10–6, 10–10 NAMs (name blocks), 10–16 NAS multivendor integration, 3–2 software products, 3–2 National Character Set utility (NCS), 11–2 NCS See National Character Set utility Network distributed, 3–1 Network Application Support See NAS Network File System See NFS Network transports supported by DCE, 3–6 NFS, 3–2 O Object libraries, 8–4 Object-oriented designs OpenVMS support, 1–4 ObjectBroker, 1–4, 3–6 Open3D, 2–6 OpenVMS AXP Sy
Routines definition, 10–3 system, 10–1 RTS, 1–4 Run-time library routines capabilities of, 10–4 definition, 10–3 S SCA See LSE/SCA Screen management using system routines, 10–2 SDA See System Dump Analyzer utility Security, 10–2 DCE Security Server, 3–6 services enabled by PATHWORKS, 3–5 system services, 10–6, 10–12 Servers, 3–2 DCE Cell Directory, 3–6 DCE Security, 3–6 VMScluster, 3–3 SET EDITOR command, 9–5 Shareable image libraries, 8–4 SHOW EDITOR command, 9–5 SQL (Structured Query Language), 1–4, 2–2,
Z ZLX-E1, 2–6 ZLX-M1, 2–6 ZLX-M2, 2–6 Index–6