CONTENTS Title Page Copyright Page Preface 1 Development Utilities Overview 1.1 Host System Hardware 1.2 VAXELN Development Software 1.3 Developing a VAXELN Application 1.4 VMS and VAXELN Development Tools 1.4.1 Compilers and Runtime Libraries 1.4.2 VMS Linker 1.4.3 VMS Librarian 1.4.4 VAXELN System Builder 1.5 Tools for Loading and Booting the System Image onto a Target Processor 1.6 VAXELN Utilities 1.6.1 VAXELN Debugger 1.6.2 VAXELN Command Language 1.6.3 Error Logging Tools 1.6.4 VAXELN Performance Utility 1.6.5 VAXELN Display Utility 1.6.6 LAT Control Program Utility 1.7 Optional Host Software 1.7.1 VAXELN Ada 1.7.2 Rdb/ELN 2 Program Development 2.1 Commands for Program Development 2.2 Compiling Programs 2.2.1 EPASCAL Command 2.2.2 CC Command 2.2.3 FORTRAN Command 2.3 Linking Object Modules 2.3.1 LINK Command 2.3.2 Using Qualifiers to Control the Linker 2.3.2.1 Generating Debugger Information (/DEBUG) 2.3.2.2 Linking Libraries (/LIBRARY) 2.3.2.3 Linking Library Modules and Images (/INCLUDE) 2.3.2.4 Creating a Shareable Image (/SHAREABLE) 2.3.2.5 Suppressing the Search Through the Default System Libraries (/NOSYSLIB) 2.3.2.6 Suppressing the Search Through the Default Shareable Image Library (/NOSYSSHR) 2.3.3 Using VAXELN Libraries 2.3.4 Selecting the Default Double-Precision Type 2.4 Maintaining Libraries 2.4.1 LIBRARY Command 2.4.2 Using Qualifiers to Control the Librarian 2.4.2.1 Creating a New Library (/CREATE) 2.4.2.2 Inserting or Replacing Modules in an Existing Library (/INSERT and /REPLACE) 2.4.2.3 Listing a Library's Contents (/LIST) 2.4.2.4 Extracting Modules from a Library (/EXTRACT) 2.4.2.5 Creating a Shareable Image Library (/SHARE) 2.4.2.6 Deleting Modules from a Library (/DELETE) 2.4.2.7 Compressing a Library (/COMPRESS) 3 System Development 3.1 EBUILD Command 3.2 Using the EBUILD Qualifiers 3.2.1 Generating a System Map (/MAP, /FULL, /BRIEF) 3.2.2 Generating a System Image Without Entering EDIT Mode (/NOEDIT) 3.2.3 Specifying an Alternative Kernel Image File (/KERNEL) 3.2.4 Suppressing the Display of Informational Messages (/NOLOG) 3.2.5 Specifying a Name for the System Image File (/SYSTEM) 3.3 Using Your Own Versions of VAXELN Files 3.4 Editing System Builder Menus 3.4.1 Main Menu 3.4.2 Editing the Select Target Processor Menu 3.4.3 Editing the System Characteristics Menu 3.4.4 Editing the Network Node Characteristics Menu 3.4.5 Editing the Internet Service Characteristics Menu 3.4.5.1 Editing the Internet Characteristics 3.4.5.2 Editing the Internet Network Description 3.4.6 Editing the Program Description Menu 3.4.7 Editing the Device Description Menu 3.4.8 Editing the Terminal Description Menu 3.4.8.1 Terminal Descriptions for VAXstation 2000 or 3100 Series Keyboard and Mouse 3.4.9 Editing the Console Characteristics Menu 3.4.10 Editing the Error Log Characteristics Menu 3.4.11 Editing the DECwindows Server Characteristics Menu 3.4.11.1 Editing the DECwindows Console Characteristics 3.4.11.2 Editing the DECwindows Terminal Emulator Characteristics Menu 4 Booting and Down-Line Loading 4.1 Booting Systems from Disk or Tape 4.2 Down-Line Loading from the VMS Host System 4.2.1 Preliminary Steps 4.2.1.1 Installing Communication Hardware on the Target Machine 4.2.1.2 Configuring a Host for Down-Line Loading 4.2.1.3 Adding the Target Machine to the Host's Network Node Data Base 4.2.1.4 Configuring and Installing the Bootstrap Loader 4.2.1.4.1 VAX 8500 Series, 8700, and 8800 Bootstrap Setup 4.2.1.4.2 VAX 6000- nnn Series and 8200 Series Bootstrap Setup 4.2.1.4.3 VAX 11/7 nn Processors Bootstrap Setup 4.2.2 Down-Line Loading Procedure 4.2.2.1 Reloading a Machine That Is Running the Network Service 4.2.2.2 Down-Line Loading During Debugging 4.2.2.3 Reloading Production Machines 4.2.2.4 Down-Line Loading from Multiple Hosts 4.3 Down-Line Loading from Another VAXELN Target System 4.3.1 Building the Down-Line Load Service into an Application 4.3.2 Down-Line Load Service Program Arguments 4.3.2.1 Down-Line Load Service Script File Format 4.3.3 Activating the Down-Line Load Service at Runtime 4.4 Down-Line Loading from an ULTRIX System 4.4.1 Setting Up the ULTRIX System as a Boot Host 4.4.2 Adding the VAXELN Targets to the Boot Host's Network Data Base 4.4.3 Moving the VAXELN System Images to the ULTRIX Boot Host 4.4.4 Loading the VAXELN System Image to the VAXELN Targets 5 Debugging VAXELN Systems 5.1 Selecting a Debugger 5.2 Invoking the VAXELN Debuggers 5.2.1 Using the EDEBUG Command 5.2.1.1 EDEBUG Command Syntax 5.2.1.2 Using Qualifiers to Control the EDEBUG Command 5.2.2 Entering the Local Debugger and the Kernel Session 5.3 Using the VAXELN Debuggers 5.3.1 Process Identifiers 5.3.2 Command Sessions 5.3.3 Control-C Session 5.3.4 Breakpoints 5.3.5 Multiple Command Line Recall 5.3.6 Using the Remote Debugger 5.3.6.1 Symbolic Debugging 5.3.6.2 Command Files 5.4 Debugger Syntax Rules 5.4.1 Expressions 5.4.1.1 String Expressions 5.4.1.2 Address Expressions 5.4.2 Identifiers 5.4.2.1 Defining Identifiers 5.4.2.2 Predefined Identifiers 5.4.2.3 Program Locations and Variable Names 5.4.3 Variable References 5.4.4 Types and Typecasting 5.4.5 Computational Constants 5.4.5.1 Boolean Constants 5.4.5.2 Integer Constants 5.4.5.3 Floating-Point Constants 5.4.5.4 String Constants 5.4.5.5 Special Constants 5.4.6 Comments 5.5 Command Summary ATTACH CALL CANCEL BREAK CANCEL CONTROL CANCEL EXCEPTION BREAK CREATE JOB CREATE PROCESS CTRL/C CTRL/Z DEBUG DEFINE DELETE PROCESS DEPOSIT EVALUATE EXAMINE EXAMINE/INSTRUCTION EXAMINE/PSL EXAMINE/SOURCE EXIT GO HALT HELP IF LEAVE LOAD PREDECESSOR SEARCH SET BREAK SET COMMAND SET CONTROL SET EXCEPTION BREAK SET LOG SET MODE SET OUTPUT SET PROGRAM SET RETURN BREAK SET SESSION SET SOURCE SET STEP SET TIME SHOW BREAK SHOW CALLS SHOW COMMAND SHOW JOB SHOW MESSAGE_TEXT SHOW MODE SHOW MODULE SHOW OBJECT SHOW PROCESS SHOW PROGRAM SHOW SESSION SHOW SYMBOL SHOW SYSTEM SHOW TIME SHOW TRANSLATION SPAWN STEP SUCCESSOR TYPE UNLOAD WAIT 6 Performance Analysis 6.1 VAXELN Performance Utility Features 6.2 Collecting Performance Data 6.2.1 Preparing for Performance Analysis 6.2.2 Invoking the Collector 6.2.3 Collector Commands EXIT GO HELP SET COVERAGE SET DATA_FILE SET JOB_SAMPLING SET NODE SET PC_SAMPLING SET PROCESS_SAMPLING SET SYSTEM_SERVICE_SAMPLING SHOW DATA_FILE SHOW NODE SHOW RUN STOP 6.3 Using the Analyzer 6.3.1 Invoking the Analyzer 6.3.2 Analyzer Output 6.3.2.1 Analyzer Tables 6.3.2.2 Analyzer Histograms 6.3.3 Analyzer Commands EXIT FILE HELP PLOT PRINT SET DATA_FILE TABULATE 7 The VAXELN Display Utility 7.1 Building EDISPLAY into Your Application 7.2 Starting Up EDISPLAY at Runtime 7.2.1 Using EDISPLAY from a Remote VMS System Terminal 7.2.2 EDISPLAY Keywords and Qualifiers 7.2.3 Manipulating Display Screens 7.2.4 Refreshing a Display Screen 7.2.5 Terminating EDISPLAY 7.3 The Setup Display 7.3.1 Display Rate Menu Entry 7.3.2 Memory Display Menu Entry 7.3.3 Job Display Menu Entry 7.3.4 Help Menu Entry 7.3.5 Exit Edisplay Menu Entry 7.4 The Memory Display 7.5 The Job Display 7.6 Date and Time Settings 8 The VAXELN Command Language Utility 8.1 Building ECL into Your Application 8.2 Initiating an ECL Session at Runtime 8.2.1 Session Work Environment 8.2.2 Terminating an ECL Session 8.3 Entering Commands 8.3.1 The Parts of a Command Line 8.3.2 Command Prompting 8.3.3 Entering Comments 8.3.4 Abbreviating Command Names 8.4 Entering Parameters 8.4.1 Specifying a File 8.5 Entering Command Qualifiers 8.5.1 Qualifier Defaults 8.5.2 Qualifiers That Accept Values 8.5.3 Abbreviating Qualifiers and Keywords 8.6 Entering Dates and Times 8.7 Executing an ECL Command 8.8 ECL Single-Line Command Editing 8.9 File Specifications 8.10 Using Wildcards 8.10.1 Directory Specifications 8.10.2 Input File Specifications 8.10.2.1 The Asterisk ( * ) Wildcard 8.10.2.2 The Percent (%) Wildcard 8.10.3 Output File Specifications 8.11 Device Names 8.12 User Identification Code (UIC) 8.12.1 The Protection Code 8.13 Establishing and Changing UIC-Based Protection 8.13.1 Volumes 8.13.2 Directories 8.13.3 Files 8.14 ECL Dictionary @ (Execute Procedure) COPY CREATE CREATE/DIRECTORY DEFINE/HELP DELETE DIRECTORY DISMOUNT EXECUTE HELP INITIALIZE LOAD/PROGRAM LOAD/SYSTEM Login Procedure LOGOUT MOUNT PURGE RENAME RUN SET DEFAULT SET FILE SET HOST SET ON SET PROTECTION SET TERMINAL SET TIME SET UIC SET VERIFY SHOW DEFAULT SHOW DEVICES SHOW NAME_SERVER SHOW TERMINAL SHOW TIME SHOW UIC TYPE UNLOAD/PROGRAM 9 The Local Area Transport Control Program 9.1 LAT Concepts 9.2 Including LATCP in a VAXELN Application 9.2.1 Building the LAT Driver into an Application 9.2.2 Building LATCP into an Application 9.3 Invoking LATCP at Runtime 9.4 Entering Commands 9.4.1 The Parts of a Command Line 9.4.2 Command Prompting 9.4.3 Entering Comments 9.4.4 Abbreviating Command Names 9.5 Entering Parameters 9.5.1 Specifying Names 9.5.1.1 Specifying Port Names and Service Names 9.5.1.2 Specifying Node Names 9.6 Entering Command Qualifiers 9.6.1 Qualifier Defaults 9.6.2 Qualifiers That Accept Values 9.6.3 Abbreviating Qualifiers and Keywords 9.7 LATCP Commands CREATE PORT CREATE SERVICE DELETE PORT DELETE SERVICE EXIT HELP SET COUNTERS/ZERO SET NODE SET PORT SET SERVICE SHOW CHARACTERISTICS SHOW COUNTERS SHOW PORTS SHOW SERVERS START NODE STOP NODE 10 Using the Outbound Remote Terminal Utility 10.1 Building SET_HOST into Your Application 10.2 Starting Up SET_HOST at Runtime 10.3 Terminating SET_HOST 11 Using the Error Logging Services 11.1 Overview 11.2 Building the Error Logging Service into an Application 11.3 Local Error Logging 11.3.1 Resetting System Time for Current Time Stamps 11.3.2 Last-Fail Support for Q22-Bus and VAXBI Targets 11.4 Remote Error Logging Using the Error Log Server (ELSE) 11.4.1 Starting and Stopping ELSE 11.4.2 ELSE$ERRORLOG Parameter 11.4.3 RUN Command Qualifiers for ELSE 11.5 Generating Error Log Reports ANALYZE/ERROR_LOG A VAX-11/750 Microcode Patch A.1 Procedure B A Full System Map C Development Utility Requirements for Closely Coupled Multiprocessor Systems C.1 Building a Closely Coupled Multiprocessing System C.1.1 System Builder Requirements for a Primary System C.1.2 System Builder Requirements for a Secondary System C.2 Loading a Secondary System C.3 Debugging a Secondary System C.4 Analyzing the Performance of a Secondary System D System Builder Requirements for the Virtual-Memory Disk Driver E System Builder Requirements for Systemwide Sharing of Status Text EXAMPLES 4-1 Activating the Down-Line Load Service E-1 Shareable Status Text Example FIGURES 2-1 Commands for Program Development 3-1 Main Menu 3-2 Select Target Processor Menu 3-3 System Characteristics Menu 3-4 Network Node Characteristics Menu 3-5 Internet Service Characteristics Menu 3-6 Internet Characteristics Menu 3-7 Internet Network Description Menu 3-8 Program Description Menu 3-9 Device Description Menu 3-10 Terminal Description Menu 3-11 Console Characteristics Menu 3-12 Error Log Characteristics Menu 3-13 DECwindows Server Characteristics Menu 3-14 DECwindows Console Characteristics Menu 3-15 DECwindows Terminal Emulator Characteristics Menu 5-1 Initial EDEBUG Screen 6-1 PC Sampling Data by Routine 6-2 PC Sampling Data by Source Line 6-3 Source Code Coverage Data - Brief Format 6-4 Source Code Coverage Data - Full Format 6-5 Job Sampling Data 6-6 Process Sampling Data 6-7 System Service Sampling Data 6-8 Histogram PC Sampling Output by Routine 6-9 Histogram PC Sampling Output by Source Line 7-1 EDISPLAY Setup Display Example 7-2 EDISPLAY Memory Display Example 7-3 EDISPLAY Job Display Example B-1 A Full System Map TABLES 1-1 VMS and VAXELN Development Tools 1-2 VAXELN Utilities 2-1 LINK Command Qualifiers 2-2 VAXELN Runtime Libraries 2-3 LIBRARY Command Qualifiers 3-1 EBUILD Command Qualifiers 3-2 Menu Control Keys 3-3 Menu Commands 3-4 Q22-Bus Device Information 3-5 UNIBUS Device Information 3-6 VAXBI Device Information 3-7 Integral-Bus Device Information 3-8 Terminal Types 4-1 Disk and Tape Boot Devices 4-2 Datalink Device Default Addresses 4-3 Typical Down-Line Load Service Program Description 5-1 EDEBUG Qualifiers 5-2 DEFINE Data Types 5-3 SET MODE Keywords 7-1 EDISPLAY Screen Manipulation Keys 9-1 LAT Node Counters 9-2 Protocol Error Bit Mask Definitions 11-1 RUN Command Qualifiers for ELSE