Digital PDFs
Documents
Guest
Register
Log In
AA-D0O20A-TE
August 1978
144 pages
Original
8.2MB
view
download
OCR Version
6.3MB
view
download
Document:
VAX-11/RSX-11M
Programmer's Reference Manual
Order Number:
AA-D0O20A-TE
Revision:
0
Pages:
144
Original Filename:
OCR Text
August 1978 Abstract This document describes VAX/VMS support of the RSX-11M executive directives. It contains the information needed by an RSX-11M program- mer responsible for making RSX-11M Version 3.1 task images run under VAX/VMS, VAX-11/RSX-11M Programmer’s Reference Manual Order No. AA-D0O20A-TE SUPERSESSION/UPDATE INFORMATION: This is a new document for this release. OPERATING SYSTEM AND VERSION: VAX/VMS V01 SOFTWARE VERSION: VAX/VMS V01 - To order additional copies of this document, contact the Software Distribution Center, Digital Equipment Corporation, Maynard, Massachusetts 01754 digital equipment corporation - maynard, massachusetts First Printing, August 1978 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Digital Equipment Corporation assumes no responsibility Corporation. for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. Copyright () 1978 by Digital Equipment Corporation The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DIGITAL DEC PDP DECUS UNIBUS COMPUTER LABS COMTEX DDT DECsystem-10 DECtape DIBOL EDUSYSTEM FLIP CHIP FOCAL INDAC LAB-8 ASSIST-11 RTS-8 ITPS-10 VAX VMS SBI DECnet IAS DECCOMM > DECSYSTEM=-20 MASSBUS OMNIBUS 0Ss/8 PHA RSTS RSX TYPESET-8 TYPESET-11 TMS-11 CONTENTS . Page ~ PREFACE IMAGES, 5 6 7 AND MULTIUSER TASK PLAS EMULATION OF FLOATING POINT INSTRUCTIONS VAX/VMS SYSTEM CONCEPTS DISTINCTION BETWEEN PROGRAMMING AND SYSTEM NNOVNNNNNNNONNNONNDNONONNNNON 1 i ) t 11 | N * UIC-BASED PROTECTION SYSTEM EVENTS IMAGE TERMINATION .1 Normal 2 Abnormal PARSING OF Termination Termination FILE SPECIFICATIONS 2-14 I/O SYSTEM 2-14 VAX/VMS I/0 SYSTEM 3= Wwwh - TR RMS bW VAX-11 VAX/VMS I/0 SYSTEM SERVICES Assign I/0O Channel System Service Queue I/O Request System Service Create Mailbox and Assign I/O Channel System Service Additional I/O System Services I/0 DRIVERS AND ACPs RSX-11M IMAGE INTERFACE TO THE VAX/VMS I/0 = VAX/VMS SN NN L [] * whE > WWwwww L L SECTIONS HIBERNATION w! NbkWWWwihHO GLOBAL w L4 L] L] * Ll - L] ® * SYSTEM CLOCK SOFTWARE PRIORITIES =W * CODES MANAGEMENT Swapping Paging . L] .1 .2 Considerations (.i)ww 1 L] N MEMORY L] L] Native Mode SYSTEM STATUS HHEHMMWOYOOONIJAANdDWNNEHE L EVENT FLAG CLUSTERS . - NAMES Native Mode Considerations * * L] DN NNNNDNDDODNNODNNDNDNDODDNDDDDNDNDDDDDDNDND HFHEHRMEEREREERERFOONINOUIOT S & WN - RESOURCE USAGE LIMITS PROCESS o L] PRIVILEGES N THE VAX/VMS SYSTEM ENVIRONMENT Www CHAPTER R ENVIRONMENTS CHAPTER 1 WNN 'RSX-11M DIRECTIVE REQUESTS OVERLAYS, SHAREABLE REGIONS, o .3 .4 e VAX-11/780 COMPATIBILITY WITH PDP-lls VAX/VMS COMPATIBILITY WITH RSX-11M VERSION 3.1 2 HRERE 1 Lo INTRODUCTION N CHAPTER SYSTEM iii CONTENTS (Cont.) Page 3.5 3.6 3-6 3-7 3.7 HANDLING OF QUEUE 3.8 MAILBOXES 3.8.1 3.8.2 3.9 Mailboxes for Send/Receive I/0 to Mailboxes ACP FUNCTIONS 3.10 SPOOLED DEVICES 3-11 FCS Spooling 3-11 3.10.1 CHAPTER DEVICE ASSIGNMENT DEVICE MAPPING I/0 FUNCTION CODES 3-8 3-9 Directives 3-9 3-10 3-11 4 DIRECTIVE 4.1 4.1.1 4.1.2 4.1.3 DIRECTIVE CATEGORIES Process Control Directives Informational Directives Event-Associated Directives 4-1 4-1 4-2 4-3 4.1.5 I/0 and Interprocess Communications Directives UNSUPPORTED DIRECTIVES SYSTEM DIRECTIVE DESCRIPTIONS 4-5 4-6 4-7 14.1.4 4.2 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 DESCRIPTIONS 4-1 Trap—-Associated Directives 4-4 4.3.8 4.3.9 4.3.10 4.3.11 4.3.12 4.3.13 4.3.14 4.3.15 4.3.16 4.3.17 4.3.18 4.3.19 4.3.20 ABORT TASK ALTER PRIORITY ASSIGN LUN AST SERVICE EXIT CLEAR EVENT FLAG CANCEL MARK TIME REQUESTS CANCEL TIME BASED INITIATION REQUESTS DECLARE SIGNIFICANT EVENT DISABLE (or INHIBIT) AST RECOGNITION DISABLE CHECKPOINTING ENABLE AST RECOGNITION ENABLE CHECKPOINTING EXIT IF TASK EXIT EXIT WITH STATUS EXTEND TASK GET LUN INFORMATION GET MCR COMMAND LINE A GET PARTITION PARAMETERS GET TIME PARAMETERS 4.3.21 4.3.22 4.3.23 4.3.24 4.3.25 4.3.26 4.3.27 4.3.28 GET TASK PARAMETERS MARK TIME QUEUE I/0 REQUEST QUEUE I/0 REQUEST AND WAIT RECEIVE DATA RECEIVE DATA OR EXIT READ ALL EVENT FLAGS REQUEST 4-30 4-31 4-33 4-35 4-36 4-37 4-38 4-39 4.3.30 4.3.31 RUN SEND DATA 4-41 4-43 4.3.33 SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST 4.3.34 4.3.35 SUSPEND SPECIFY POWER RECOVERY AST 4.3.7 4.3.29 4,.3.32 4,.3.36 4-8 4-9 4-10 4-11 4-12 4-13 4-14 : RESUME : SET EVENT FLAG SPECIFY RECEIVE DATA AST iv " 4-15 4-16 4-17 4-18 4-19 4-20 4-21 4-22 4-23 4-24 4-26 4-28 4-29 4-40 4-44 4-45 4-46 4-47 4-48 CONTENTS (Cont.) Page 4.3.37 4.3.38 4.3.39 4.3.40 4,3.41 CHAPTER SPECIFY SST VECTOR TABLE FOR DEBUGGING AID SPECIFY SST VECTOR TABLE FOR TASK WAIT FOR SIGNIFICANT EVENT WAIT FOR LOGICAL OR OF EVENT FLAGS WAIT FOR SINGLE EVENT FLAG 4-50 4-51 4-52 4-53 4-54 5 I/0 DRIVERS 5-1 5.1 5.2 SUPPORTED DEVICES GET LUN INFORMATION DIRECTIVE STANDARD I/0O FUNCTIONS Attach and Detach I/0O Device (IO.ATT and I0.DET) Cancel I/O Requests (IO.KIL) I/0 STATUS BLOCK AND STATUS RETURNS DISK DRIVER MAGNETIC TAPE DRIVER LINE PRINTER DRIVER Programming Hints TERMINAL DRIVER IO.ATT Function IO.ATT!TF.AST and I0.ATA Functions IO.ATT!TF.ESQ Function I0.DET Function JO.KIL Function IO.RLB, IO.RAL, IO.RNE, and IO.RST Functions JO.RLB!TF.RAL and IO.RAL IO.RLB!TF.RNE and IO.RNE Functions IO.RLB!TF.RST and IO.RST Functions I0.RPR Function I0.RPR!TF.XOF Function I0.RVB Function IO0.RPB Function JO0.WLB, IO0.CCO, and IO.WBT Functions IO.WLB!TF.CCO and I0.CCO Functions IO.WLB!WBT and IO.WBT Functions JIO.WVB Function I0.WLB:TF.WAL, IO.WAL, and IO.CCO!TF.WAL Functions IO.WPB Function I0.GTS Function SF.GMC Function SF.SMC Function Terminal Read Status Returns 5=2 5=2 5.3 5.3.1 5.3.2 5.4 5.5 5.6 5.7 5.7.1 5.8 5.8.1 5.8.1.1 5.8.1.2 5.8.2 5.8.3 5.8.4 5.8.4.1 5.8.4.2 5.8.4.3 5.8.5 5.8.5.1 5.8.6 5.8.7 5.8.8 5.8.8.1 5.8.8.2 5.8.9 5.8.9.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.15 5.9 5.10 5.11 Programming Hints CARD READER DRIVER NULL DEVICE DISK AND MAGNETIC TAPE ACPs ) 5-2 5=2 5-3 5-3 5-7 5-8 5-10 5-10 5-12 5-15 5-15 5-15 5-15 5-16 ~ 5-16 5-16 5-17 5-17 5-17 5-17 5-18 5-18 5-18 5-18 5-18 5-18 5-18 5-19 5-19 5-20 5~-20 5-20 5-21 5=-22 5-23 5-24 5.11.1 5.11.2 5.11.3 General Correspondence of Parameters IO.CRE Function IO.DEL with EX.ENA=0 5-26 5-26 5-27 5.11.5 5.11.6 5.11.7 5.11.8 IO.ACR I0.ACW I0.DAC I0.EXT 5=27 5-28 5-28 5-29 5.11.4 IO.DEL with EX.ENA=1 Function and IO.ACE Functions Function Function 5-27 - CONTENTS (Cont.) Page 5.11.9 5.11.10 5.11.11 5.11.12 5.11.13 5.11.14 IO.WAT I0.RAT IO.FNA IO.RNA IO.ENA I0.APC Function Function Function Function Function Function APPENDIX A VAX-11/780 APPENDIX PARSE 5-29 5-29 5-29 5-30 5-31 5-31 COMPATIBILITY MODE INSTRUCTION SET DIRECTIVE B-1 NORMAIL MODE PARSING DEVICE-ONLY PARSING B-1 . B-2 DEFAULT FILENAME BLOCK PARSING RMS-11 MODE OF A-1 B-2 PARSING DIRECTIVE CALL AND B-2 DPB FORMATS B-2 Index~-1 INDEX FIGURES FIGURE Process Virtual Address Space Format of VAX/VMS UICs Group Association of Common Event Flag Clusters 1-5 2-1 Components of VAX/VMS I/O System RSX-11M Image Interface to VAX/VMS 3=-2 2-5 I/0 System 3-5 Use of Mailboxes for Send/Receive Directives Format of RSX-~11lM I/O Status Block Under VAX/VMS File Identification Block Format 3-10 5-3 5-25 B BN Ul 1 1 =100 ~1O0UdWNI= TABLE i1 W N TABLES Reasons for RSX-11M Image Termination Process Control Directives Informational Directives Event-Associated Directives Trap-Associated Directives 2-13 4-2 4-3 4-3 4-4 I/0 and Interprocess Communications Directives I/0 Status Return Codes Disk Function Code Correspondence Disk Parameter Correspondence Magnetic Tape Function Code Correspondence Magnetic Tape Parameter Correspondence Line Printer Function Code Correspondence 4-5 5-4 5-7 5-7 5-8 5-9 5-10 Terminal 5-12 Line Printer Parameter Correspondence Parameter Correspondence Terminal Function Code Correspondence Subfunction Bit Correspondence vi 5-10 5-13 5-14 CONTENTS (Cont.) Page TABLES TABLE (Cont.) Information Returned by Get Terminal Support (I0.GTS) Terminal Characteristics for SF.GMC and ) SF.SMC Requests Card Reader Function Code Correspondence ACP Parameter Correspondence VAX-11/780 Compatibility Mode 5-19 5-20 5-22 5-26 Instruction A-1 Set vii PREFACE MANUAL OBJECTIVES The VAX-11/RSX-11M Programmer's Reference. Manual describes VAX/VMS support of RSX-11M directives. This document bridges the gaps between the RSX-11M Executive Reference Manual and the VAX/VMS System Services Reference Manual; and between the RSX-11IM I/0O Drivers Reference Manual and the VAX/VMS I/0 User's Guide. INTENDED AUDIENCE This manual contains is responsible for information needed by an RSX-11lM programmer who making RSX-11M Version 3.1 task images run under VAX/VMS. This document has two prerequisites: e e Understanding of the RSX-11M operating directives system Understanding of the material presented in the User's Guide and executive VAX-11/RSX-11M STRUCTURE OF THIS DOCUMENT Information in this document is organized as follows. e Chapter 1 contains a general definition of VAX-11/780 compatibility mode and VAX/VMS support of RSX-11M Version 3.1 images. It also contains a general description of basic VAX/VMS concepts, such as process and image, and their relationship to an RSX-11M task. e Chapters 2 and 3 discuss certain VAX/VMS system components and explain the implications of their use for RSX-11M task images. Chapter 3 focuses on the use of the RSX-11M image @ Chapter 4 describes each RSX-11M directive as e Chapter 5 discusses QUEUE I/0 REQUEST directive function codes and function-dependent parameters for devices supported by VAX/VMS. e Appendix A instruction under VAX/VMS. directive. VAX/VMS 1I/0 system for I1/0. it is supported contains the VAX-11/780 compatibility mode set. Appendix B describes the VAX-1l1l RMS parse ix ASSOCIATED DOCUMENTS The following documents may also be useful. ® VAX-11l Information Directory ® VAX/VMS Primer ® VAX/VMS System Services ® VAX/VMS ® VAX/VMS Summary Description ® VAX-11/780 Technical Summary ® VAX/VMS System Manager's Guide ® VAX-11 Record Management Services ® RSX~11M Version 3.1 document set Reference Manual I/0 User's Guide Reference Manual CONVENTIONS USED IN THIS DOCUMENT ) This manual uses the same conventions as the RSX-11M Executive Reference Manual, for example, brackets ([]) indicate optional parameters. In addition, the directive descriptions in Chapter 4 use shading to highlight differences in VAX/VMS support of the directives. CHAPTER 1 INTRODUCTION Compatibility mode is a processor state that allows PDP-11 programs to execute under the VAX-11/780 system. For compatibility mode execution to occur, the needs of the program must be satisfied on two levels. e At the hardware instruction set level e At the level of program interface to the operating system At the hardware level, VAX-11/780 provides an instruction set that is a compatible subset of the PDP-1l1 instruction set. This compatibility mode instruction set provides a general basis that potentially allows any PDP-11 user mode program to execute using the VAX-11/780 hardware. In addition, VAX/VMS supplements the subset of PDP-11 instructions that can be used in compatibility mode through software emulation of the FPP floating point instructions; FIS floating point instructions are not emulated. Because of the two instruction sets, VAX-11/780 has two basic modes of operation: native and compatibility. The processor is in native mode to execute native mode instructions and in compatibility mode to Software controls the compatibility mode instructions. execute processor mode. Thus, when a non-native program has been prepared for execution, VAX/VMS places the processor in compatibility mode just before passing control to the program. VAX/VMS accomplishes this in a manner that is transparent to the user. When an RSX-11M task image executing in VAX-11/780 compatibility mode attempts to interface with the operating system, a hardware-generated trap occurs. Hardware-generated traps are the mechanism by which the processor notifies VAX/VMS that emulation of the RSX-11M operating system's environment is required. The occurrence of a compatibility automatically places the processor in native mode. trap mode Executing in native mode, VAX/VMS duplicates the RSX-11M task/system interface. VAX/VMS returns to the task in compatibility mode to allow the task to continue execution. For example, RSX-11M tasks use EMT377 instructions to interface with n on the operating system. An attempt to execute an EMT377 instructio VAX-11/780 hardware causes a trap to VAX/VMS. VAX/VMS then emulates the requested service in native mode, places the processor in The task continues compatibility mode, and returns to the task. execution in compatibility mode. The VAX-11/780 system . provides compatibility mode capabilities to support the migration of task images from RSX-11M operating systems to VAX/VMS. Compatibility mode provides a framework in which users can run existing task images while upgrading to take full advantage of VAX/VMS native capabilities. : INTRODUCTION Compatibility mode programs requiring floating point instruction emulation run do not run as fast wunder VAX/VMS as on a PDP-11. Compatibility mode programs not requiring floating point emulation and written for a PDP-11/70 run under VAX/VMS at approximately the same speed as they do under the system for which they were written. Programs not requiring floating point emulation and smaller PDP-11 processors run faster under VAX/VMS. written for For Version 1, VAX/VMS supports execution of RSX-11M Version 3.1 nonprivileged task images 1in compatibility mode. The majority of nonprivileged, user mode RSX-11M Version 3.1 task images run under VAX/VMS without program modification or rebuilding. Others require modification. VAX/VMS provides the RSX-11M components (for example, MACRO-1ll and RSX-11M task builder) needed to make required modifications using the VAX/VMS system as host. Modifications also can be made using an RSX-11M system. For an RSX-11M task image to execute successfully under VAX/VMS, it must adhere to the requirements for compatibility mode operation. Both the VAX-11/780 and VAX/VMS define specific requirements. requirements are detailed in Sections 1.1 and 1.2. l.1 VAX-11/780 These COMPATIBILITY WITH PDP-lls VAX-11/780 compatibility mode supports PDP-11 user mode operations. That is, any PDP-11 program that operates only in user mode (not in PDP-11 supervisor or kernel mode) potentially can run in VAX-11/780 compatibility mode. Any instruction or operation denied to a user mode program executing on a PDP-11 is not allowed in VAX-11/780 compatibility mode. For example, use of privileged instructions such as HALT and RESET is not permitted; an attempt to use a privileged instruction causes a The VAX-11/780 trap to VAX/VMS. compatibility mode instruction set also does not support the FIS or FPP floating point instructions; however, VAX/VMS emulates the FFP instructions. Appendix A of this document lists the VAX-11/780 compatibility mode instruction set. VAX/VMS places further restrictions on the use of the hardware by RSX-11M task images running in compatibility mode. These restrictions are 1.2 detailed in Section 1.2, VAX/VMS COMPATIBILITY WITH RSX-11lM VERSION 3.1 VAX/VMS supports the capabilities of RSX-11M Version 3.1 to allow the execution of RSX-11M task images. However, to run in compatibility mode, a task image must meet the following requirements. e It must adhere to the hardware requirements for compatibility mode. e e : It must have been builder. It must be built executable in by the a mapped RSX-11M RSX-11lM Version system. 3.1 -task INTRODUCTION e e It must not depend on environmental features of RSX-11M that are not "available in VAX/VMS, for example, partitions, PLAS, or significant events. Environmental differences between RSX-11M and VAX/VMS are discussed further in Chapters 2 and 3 of this document. It must execute within interaction described Manual. It must not overmapping not present the the 1limitations RSX-11lM executive. in a VAX/VMS of task/executive in the RSX-11M Executive Reference be privileged for the purpose of The RSX-11M executive is system. e It must not overmap the I/0 page. present in VAX-11/780 hardware. The PDP-11 @ It must not depend on the 32-word memory KT1l memory management unit. I/O page granularity is not of the RSX-11M task images must not depend on special memory management features available to RSX-11lM privileged tasks. Tasks can, however, perform privileged functions that do not involve mapping of the executive. For example, a task executing in compatibility mode can use the QIO function codes IO.RLB and IO.WLB to read directly from and write directly to a mounted volume if the system manager has not restricted the user from so doing. Task images that are developed under RSX-11D or IAS and that compatible with RSX-11M can execute under VAX/VMS if they meet are the requirements listed above. However, such task images must be rebuilt using the RSX-11M Version 3.1 task builder. RSX-11M task images do not have to be rebuilt to run under VAX/VMS unless program modification or different task builder options are required. 1.3 RSX-11M DIRECTIVE REQUESTS In RSX-11M, a task image interfaces with the operating system by issuing directive requests. As a result of a directive request, RSX-11M performs the desired function and returns control to the task. VAX/VMS duplicates this task/system interaction. When an RSX-11M task image issues a directive, the hardware traps to VAX/VMS. With the exception of the RSX-11M memory management (PLAS) directives described in Section 1.4, VAX/VMS duplicates the requested RSX-11M function with either of the following results. ' @ The RSX-11M directive function the image continues execution. ® VAX/VMS cannot duplicate the requested function but does take whatever action 1is necessary to allow the task to continue execution. VAX/VMS duplicates the function of is duplicated in VAX/VMS, and the majority of RSX-11M directives. When VAX/VMS cannot duplicate an RSX-11lM directive, it is because of differences 1in the basic concepts of the two systems, that is/, differences in the environments of the two systems. For example, the RSX-11M capability to declare a significant event does not exist in VAX/VMS; therefore, VAX/VMS cannot declare one upon directive request. Rather, it performs no operation and returns a success status to the requesting task image, which continues execution normally. Subsequent chapters of implications of directive this document describe handlng in VAX/VMS. 1-3 the details and INTRODUCTION 1.4 OVERLAYS, SHAREABLE REGIONS, MULTIUSER TASK IMAGES, AND PLAS VAX/VMS supports the use of overlays produced using the overlay descriptor language of the RSX-11M task builder by RSX-11M images. VAX/VMS loads overlays from the image file at the appropriate point in image execution. VAX/VMS also supports use of shared regions by RSX-11lM images. RSX-11M images can access both shared commons and 1libraries. Permanently available shared regions are identified to VAX/VMS by the system manager, as described in the VAX/VMS System Manager's Guide. Temporary regions are dynamically loaded when an image requiring them executes. In addition, VAX/VMS supports multiuser (shareable) task images. That is, when a task image is specified at task build time as consisting of a shareable and nonshareable portion, VAX/VMS allows multiple users to access the shareable portion simultaneously. Each user has a private copy of the nonshareable portion. VAX/VMS does not support the RSX-11M memory management directives that extend the program logical address space (PLAS) of an RSX-11M task. Any task image issuing a memory management directive under VAX/VMS receives 1.5 an error status return. EMULATION OF FLOATING POINT INSTRUCTIONS VAX/VMS provides software emulation of the PDP-11 FPP instructions for images running in compatibility floating point mode. The time. required for emulation of an ADDF (register to register) or ADDF (memory to register) is approximately 25 that required on a PDP-11/70. This timing is typical of most instructions emulated. Results produced during emulation are the same as those PDP-11 processors with the following two exceptions: The results of emulation. 2. On overflow, the emulator generates a reserved operand with a value of zero, rather than providing the residue. instruction set is instruction detailed in are the more accurate by 1. The FPP a MOD produced PDP-11/70 under Processor Handbook. 1.6 VAX/VMS SYSTEM CONCEPTS In VAX/VMS, the concept of an RSX-11lM task is separated into its two basic components: the program image that executes, and the control information and virtual address space required for image execution. These two components correspond to the VAX/VMS concepts of image and process, respectively. The concepts of image and process are basic to VAX/VMS. A process is the basic schedulable program entity that the VAX-11/780 processor executes. A process consists of a virtual address space and control information that both the hardware and software require, for example, saved register contents and status information. This control information is called the process context. INTRODUCTION An image is the result of linking one or more object modules together. An image can be linked by the VAX/VMS linker to execute in native mode or by the RSX-11M task builder to run in compatibility mode. An image executes 1in the virtual address space provided by a process and under control of the process. A process's virtual address space is divided into two areas: the program region and the control region as illustrated in Figure 1-1. Essentially, the program region provides virtual memory for an image. The control region contains information required by the system to control the process. 0 Program Region RSX-11M images run in this region, Control Region 231 Figure 1-1 Process Virtual The concept of a process with an concept of task. image is Address Space similar to the RSX-11M The main difference is that a task is a form of process that executes a specific image while a process can execute any image. Furthermore, a process remains to execute subsequent images when the current image exits. In RSX-11M. referrina to a specific task also implies a specific reference to an image. This is not the case with VAX/VMS; therefore, it is useful to state explicitly whether an operation affects a process or its image. For this reason, the terms process and image are used throughout this document instead of the term task. The VAX-11/780 Technical Summary process and image. further explains- the concepts of INTRODUCTION 1.7 DISTINCTION BETWEEN PROGRAMMING AND SYSTEM ENVIRONMENTS VAX/VMS provides RSX-11M images with an environment similar to that provided by RSX-11M. That is, when an RSX-1lM image is loaded, it has a virtual address space starting at location 0. It has access to a copy of its task header in the usual place, and RO through R7 are initialized as they are under RSX~11lM. This environment allows the creation, assembly or compilation, linking, execution, and debugging of RSX-11M images. VAX/VMS does not, however, attempt to duplicate the total environment of the RSX-11M operating system. Certain aspects of the RSX-11M environment have direct equivalents in the VAX/VMS environment. An RSX-11lM task name, for example, can be considered a VAX/VMS process name; and RSX-11M local and common event flags can be translated to VAX/VMS local and common event flags. When a VAX/VMS process executes an RSX-11M image, VAX/VMS receives the traps and exceptions caused by that image and interprets them as RSX-11M would. VAX/VMS then makes a response that is appropriate for the VAX/VMS environment. For example, I/0 operations and communication with other processes (for example, SEND DATA) become appropriate VAX/VMS functions. Other aspects of RSX-11M equate to similar VAX/VMS functions. For example, both systems use user identification codes (UICs). 1In RSX-11M, UICs are account (login) identifiers, provide a default user file directory (UDF), and are used for file protection. In VAX/VMS, the concept of UIC is separated from those of account identifier and default directory name. Rather, the UIC concept is expanded in the direction of additional protection, as described in Section 2.2. Finally, some aspects of RSX-11M have no counterpart in VAX/VMS. Because no parallel function exists in VAX/VMS, VAX/VMS cannot translate functions associated with those concepts to VAX/VMS functions. Examples of RSX-11lM system environment aspects not emulated under VAX/VMS are partitions, significant events, and a range of priorities from 1 through 250. Although VAX/VMS does not duplicate these RSX~11M features, it does accept image requests related to them and takes an appropriate action to allow image execution to continue. CHAPTER THE VAX/VMS The environment determined by two 2.1 2 SYSTEM ENVIRONMENT that VAX/VMS factors. provides for l. The privileges, UIC, and resource the user who initiates the image 2. The VAX/VMS system RSX-11M directives an usage RSX-11M limits components and conventions requested by the image image is allotted to used to support PRIVILEGES The system manager maintains an entry user. for each a That user authorization entry includes a file list of that the contains privileges allowed that user's process. All of the privileges that can be associated with a process are described in the VAX-11/RSX-11M User's Guide. VAX/VMS returns the RSX-11M DSW return code IE.PRI to an RSX-11M image requesting a function for which it does not have the appropriate privilege. The individual directive descriptions in Chapter 4 indicate the DSW codes returned for each directive. 2.2 UIC-BASED PROTECTION In VAX/VMS, each process has an associated UIC. The UIC consists 32 bits (1 longword). The member code is in bits 0 through 15 and group code is in bits 16 through 31 31, illustrated in 16 15 Group 2-1 in the J Format of VAX/VMS UICs VAX/VMS uses a process's UIC, with the system manager, to control processes 2-1. Member | Figure Figure 0 ' | affect other as of the the privileges access to the assigned to it by system services that system. When an RSX-11M image issues corresponding system service. UIC-based protection in VAX/VMS, a directive, VAX/VMS executes the If this service 1is restricted by the group number and privileges of THE VAX/VMS SYSTEM ENVIRONMENT the process executing the RSX-11lM image are checked before is completed. An error status is returned if the issuing not in the appropriate group or does not have the privilege to affect the target process. ABORT TASK is an an RSX-11M directive restricted by UIC-based protection in VAX/VMS ignores the UIC specified when an RSX-11M image the service process is appropriate example of VAX/VMS. is built. An RSX-11M image can gain access to the UIC of its process by issuing a GET TASK PARAMETERS directive. The UIC is returned in two words of the GET TASK ® PARAMETERS buffer: The low-order byte of the group code the member code are returned in word 15 @ 8 Bits 0 through 7 of member code the group code and the high-order returned in word 15: UIC returned is for 8 7 byte 0 Bits 8 through 15 Bits 8 through 15 of group code of member code informational of 0 of group code The high-order byte of of the member code are image cannot use 7 Bits 0 through 7 15 The and the low-order byte 7, as under RSX-11M: purposes it to affect group protection or only. The RSX-11M file protection. An RSX-11lM image cannot assume that its default account name is related to its UIC. VAX/VMS provides a special directive that is used by File Control Services (FCS) and RMS-11] to access the actual account name. 2.3 RESOURCE USAGE LIMITS VAX/VMS controls a process's use of system resources by enforcing usage limits defined in the user's authorization file entry. All of the limits that can be defined for a process are described in the VAX-11/RSX-11M be relevant to User's Guide. an RSX-11M ® Number of () Number of bytes of buffered active The image following lists running buffered I/0 the quotas that may in VAX/VMS. requests system dynamic memory used for 1/0 ) Number of active direct ) Number of files open I/0 requests simultaneously By default, VAX/VMS places an RSX-11lM or native image that attempts to exceed a resource 1limit in a wait state until the function can be accomplished without exceeding the limit, for example, until other active I/0 requests have completed. Native images can disable and enable resource waiting. The DCL and MCR RUN command provide an THE VAX/VMS SYSTEM ENVIRONMENT option for «controlling detached processes. resource wait mode for subprocesses and If an RSX~11M image attempts to exceed a limit when resource waiting is disabled, the image receives a DSW code of IE.UPN (insufficient . dynamic memory) 2.4 PROCESS NAMES Each process in a VAX/VMS system identification and a process name. UIC is unique within a system. has a unique 32-bit process A process name qualified by its When a user initiates an RSX~11lM image that has a task name in its image label block (that is, a task name specified at build time), VAX/VMS assigns the task name as the process's name during image initialization. That name remains in effect until the image exits. Then, VAX/VMS restores the process name used prior to execution of the RSX-11M image. Because VAX/VMS does not incorporate the concept of an installed task, an RSX-11lM image cannot acquire a task name by any means other than task building. An RSX-11M image must have a task name in its label block to provide a name for its process if any of the following is to occur: ® The image is to receive data using the RECEIVE DATA AND EXIT directives e The image e The process containing the image is to be the target of directive action, for example, is to be requested or is to cooperate with other flags event RECEIVE DATA images using or common resumed The following RSX~11lM directives accept a task name as an argument. TASK e ABORT e CANCEL TIME BASED INITIATION REQUESTS e REQUEST e RESUME e RUN e SEND DATA VAX/VMS supports the RSX-11M convention of naming multiuser MCR tasks with a string that starts with three periods, for example, ...PIP. When VAX/VMS encounters an image with a task name of this type, it recognizes that the image can be run by more than one user simultaneously. name from using common the For task such images, data from other processes and event VAX/VMS does not create name or set up the mechanisms for to synchronize flags. 2-3 with a process it to receive other processes THE VAX/VMS SYSTEM ENVIRONMENT 2.4.1 Native Mode Considerations If an RSX-11M image is to issue directives that specify a process executing a native image as the target, the user must be aware of the difference in the allowable lengths of task names and process names. A task name has a maximum length of six characters. A process name has a maximum length of 15 characters. Therefore, if an RSX-11M image is to refer to a process running a native image, that process's name must not exceed six characters. An RSX-11lM image cannot express a process name that exceeds six characters. A process running a native image can create a subprocess or a detached process, assign it a process name, and designate an image that the process is to execute. Thus, a process can create a named subprocess or detached process that executes an RSX-11M image. Once the process is created, other processes can 1issue system service requests in native mode or directive requests in compatibility mode that designate the process as the target. The creator of a subprocess always is allowed to affect the subprocess. Other processes and subprocesses must have either group or world privilege to affect the subprocess. Subprocess and detached process creation are described in the System Services 2.5 VAX/VMS Reference Manual. EVENT FLAG CLUSTERS In VAX/VMS, event flags are contained in clusters of 32 flags each. A process automatically has two local event flag clusters and, optionally, can associate with up to two common event flag clusters. VAX/VMS does not provide a single system-wide set of common event flags. Instead, it creates common event flag clusters dynamically. Each cluster can be shared among processes wishing to communicate by means of event flags. Access to common event flags in VAX/VMS is protected using UICs. This fact has an operational implication: processes executing RSX-11M images that are to cooperate using common event flags must run in the same group. VAX/VMS emulates both local and common RSX-11M event flags to provide the event flag capability of RSX-11M. RSX-11lM images need not make any allowance for VAX/VMS handling of event flags. When VAX/VMS loads an RSX-11lM image into memory, it checks the task image label block for a task name. If it finds one, just prior to actual image execution, VAX/VMS creates a common event flag cluster named RSXCOMEFN and associates the process with it. If no task name was specified when the image was built or if the task name is in the form ...xxx, VAX/VMS does not allow the image to use common event flags. If a subsequent RSX-11lM image 1in another process meets the requirements for common event flags and is loaded, VAX/VMS compares group numbers. If the group numbers are the same, VAX/VMS associates the process with the existing common event flag cluster. If the numbers are different, VAX/VMS creates another common event flag cluster named RSXCOMEFN qualified by that group number and associates that process with it. THE VAX/VMS SYSTEM ENVIRONMENT None of the event flags to which reserved for VAX/VMS system use. an RSX-1lM image access has name, Any image, regardless of the presence, absence, or type of task .can use local event flags. Figure 2-2 illustrates the common clusters created for processes that communicate using event flag clusters. ) PROCA, PROCB, and PROCC running in group 200 ) PROCD and PROCE running in group 300 the one for processes VAX/VMS creates two event flag clusters: 200 and one for processes in group 300. is following group in [200,25] PROCA [200] {200,27) PROCB # RSXCOMEFN (32 flags) [200,28] PROCC (300,41} PROCD [300] {300,45) PROCE Figure 2-2 RSXCOMEFN (32 ftags) Group Association of Common Event Flag Clusters Native Mode Considerations 2.5.1 Native images can interact with RSX-11M images using event flags. the native image must consider the treatment of the RSX-11M However, Use of event flags for native mode images 1is image by VAX/VMS. detailed in the VAX/VMS System Services Reference Manual. A native mode image written to interact with a compatibility mode image using common event flags needs to be aware of the flag number conversion performed by VAX/VMS. For a process running an RSX-11M image, VAX/VMS uses the clusters, as e Cluster 0 (flags 0 through 31) e Cluster 1 three 1s reserved for system use coordinating compatibility mode activities for the process flag e first follows: Cluster 2 flag (flags 32 through 63) cluster (flags 64 through 95) cluster in 1local event is the process's common event is the process's s THE VAX/VMS VAX/VMS VAX/VMS ENVIRONMENT converts RSX-11M local event flag numbers common 64 SYSTEM event flag through 95. numbers event flag numbers 1 through 32 to 32 through 63. It converts. the RSX-11M through 64 to VAX/VMS event flag numbers 33 Each process using common event flags must event flag cluster containing the flags. automatically associates the image has a task associate with the For RSX-11M images, the process with a cluster named RSXCOMEFN if name; see Section 2.4, "Process Names." Any process executing a native image that wants must first associate with that cluster. to The process executing other processes using be 2.6 SYSTEM STATUS common VAX/VMS the the native common use flags in RSXCOMEFN . image must cluster. in the same group as CODES In VAX/VMS, the symbolic the following format. name for a system service status return has SS$_name When an image issues an RSX-11lM directive, VAX/VMS attempts to emulate the desired function and then returns a DSW code to indicate success or failure to the image. 1In most cases, VAX/VMS calls the system service that performs the equivalent of the requested RSX-11M function and converts the status code returned by the service to the equivalent RSX~-11M DSW DSW IS.SUC. In code some code. cases, For however, example, a the directive VAX/VMS request code results SS$_NORMAL in a becomes VAX/VMS error for which no exact RSX-11lM equivalent exists. This situation occurs when an image attempts to violate a VAX/VMS concept that has no RSX-11M equivalent. VAX/VMS handles the situation in one of the following ways. () By returning a default DSW code ) By returning a DSW code that is meaningful for the error but that could not be returned for the directive when running under RSX-11M Default return codes are used exists between VAX/VMS and that is equally related to A new DSW RSX-11M. no clear one-to-one - for example, relationship a VAX/VMS An is returned when a VAX/VMS error has no counterpart in example 1is IE.PRI which indicates that the image issue a directive for which its process does not have the privilege. For example, the image attempted to resume another process In in its cases after a group but directive does not failure, have group privilege. VAX/VMS returns an in the DSW that is more meaningful to I/O operations. In the high-order byte of the DSW contains 0. The DSW codes IE.DUN (for bytes rather code 1is the DSW ASSIGN LUN) than words. returned for DSW codes Chapter 4 code code attempted to appropriate some when RSX-11M codes; two DSW codes. as are examples RSX-11lM a byte images or word returned for by of codes that can determine testing the are error code these cases, IE.PRI and returned whether high-order as a DSW byte of 0. that can be with the individual each directive directive descriptions. are 1listed in THE VAX/VMS SYSTEM ENVIRONMENT 2.7 MEMORY MANAGEMENT VAX/VMS memory management facilities control the use of physical memory and virtual memory. VAX/VMS controls the use of physical memory by processes through implementation of two system concepts. ) Balance sets and ° Working The VAX/VMS 2.7.1 swapping sets and paging Summary Description details these concepts. Swapping The swapper determines which processes reside in main memory. All the resident processes are referred to as the balance set. Processes in the balance set compete for access to the central processor. VAX/VMS swaps processes from and to main memory to ensure that the highest priority processes are always available in memory for execution. The VAX/VMS swapper 1is considerably more sophisticated than the RSX-11M checkpointing function. It does, however, provide an equivalent mechanism to allow emulation of the RSX-11M ENABLE CHECKPOINTING and DISABLE CHECKPOINTING directives. The initial state of an RSX-11lM image in a process is to have swapping (checkpointing) enabled. This state is identical to the initial state of an image under RSX-11M. An RSX-11lM image that wants to wuse the DISABLE CHECKPOINTING directive must have the VAX/VMS privilege to set its swapping mode. Because VAX/VMS processes out partitioning of issues a GET standard exact controls the use of physical memory by swapping of and into a balance set, it does not support physical memory. As a result, when an RSX-11lM image PARTITION PARAMETERS directive, VAX/VMS returns a response content for of a system-controlled the information partition returned named is described GEN. in The Section 4,3.19. VAX/VMS 2.7.2 ignores the partition name in the image label block. Paging The virtual address space for a process consists of a number of 512-byte pages. VAX/VMS, under control of the system manager, assigns each process a limited number of pages of physical memory that the process can use when it is in the balance set. That limit is referred to as the process's working set. Normally, a process 1is allowed a gyreater number OL virtual pages tian physical pagyes. Thne VAX/VHS pager determines the pages of a process's virtual address space that are in physical memory (that is, in the working set) at any instance during process execution. VAX/VMS facilities for control of a process's virtual address space differ significantly from the RSX-11lM approach to a task's virtual memory. As a result, VAX/VMS does not support the RSX-11M memory management (PLAS) directives. Every RSX~-11M image has 65K bytes of virtual memory available Because the address space 1is virtual rather than physical, to it. RSX-11M THE VAX/VMS -SYSTEM ENVIRONMENT an image executes more efficiently by images can avoid overlaying; depending on VAX/VMS memory management to determine which pages are Further needed in physical memory and when they are needed. shareable as images RSX-1lM building by gained be efficiency can RSX-11M So doing results in (/MU). shared under VAX/VMS. 2.8 images partially be can that SYSTEM EVENTS A system event in VAX/VMS is an occurrence that favorably or adversely affects the ability of one or more processes in the system to execute. or state, For example, an executing process can put itself in a wait an event flag that makes another process a candidate for set it can RSX-11M to concept in similar are System events execution. In VAX/VMS, however, an image cannot request the significant events. No VAX/VMS equivalent for the DECLARE declaration of a system event. WAIT FOR SIGNIFICANT EVENT directives exists. and EVENT SIGNIFICANT Issuing either of these directives has no effect on VAX/VMS; status is returned to the issuing image. 2.9 success SYSTEM CLOCK On PDP-11 systems, the number of ticks per second varies depending on For the time-related frequency. its type of clock used and the This directives, VAX/VMS emulates a . 100-tick-per-second clock. which directives, following the of emulation affect may difference have time-oriented arguments. 2.10 TIME ® MARK ° RUN ° GET TIME PARAMETERS SOFTWARE PRIORITIES normal VAX/VMS priorities range from 0 through 15 for from 16 through 31 for time-critical priorities, further details on VAX/VMS handling of Summary Description. Because RSX-11M priorities in a process priorities meaningful (real-time) do fashion, not processes processes. see correspond VAX/VMS does and For the VAX/VMS to VAX/VMS not attempt to convert a task's priority, as specified in the image's task header, to a VAX/VMS priority. An RSX-11M image runs at a priority that is determined by the default priority in the user authorization file entry for the user initiating issues an ALTER PRIORITY directive, When an image the process. VAX/VMS performs no operation, and image execution continues at the image requiring high priority must An original process priority. high priority to meet the sufficiently has that process a 1in execute image's needs. THE VAX/VMS 2.11 SYSTEM ENVIRONMENT GLOBAL SECTIONS In VAX/VMS, global sections are disk files containing data or code that can be brought into memory and made available to processes for manipulation and execution. Global sections are created by executing images and by the system manager. When a global section is characteristics to it. created, A global characteristics. A ° Read-only or read/write ® Temporary permanent ) Group temporary processes VAX/VMS in the or or system global are remains to it; privileged gain to access create VAX/VMS imposes no process can have in the system only no processes are deletes it automatically. A permanent system until it is explicitly deleted. can assigns when VAX/VMS provides group protection process creator section can a the set of following wide section mapped its to a a permanent limit on for group system global the or global system global number long section global section. as mapped to remains. sections. A process Any must be which a section. of global sections to map. When VAX/VMS loads an RSX-11lM image that was task built specifying of the options COMMON, LIBR, RESCOM, or RESLIB, it sets up specified library or common for the image. When VAX/VMS 1loads RSX-11M image, library or If the it common global determines whether the already exists. section exists, it is either of global the A permanent global section created by the ° A temporary global section created by VAX/VMS previous If the group global LIBR, for device image VAX/VMS maps execution the RSX-11M image RESCOM, or RESLIB option either the 1library or and directory SYSSLIBRARY. Global sections read/write, and independent, to the are accessed as either position according system the as the manager a global result of section. a RESCOM COMMON or or and temporary. RESLIB LIBR option option. or located image logical images, the specification. the library name the The on either read-only or dependent or position group The global section name is either builder. by RSX-11M task builder ) are be the Global sections task to ° in to common must When VAX/VMS creates a global section for use section has the following characteristics. ® for section does not exist, VAX/VMS creates a temporary section for the 1library or common specified in the global COMMON, file case, RSX-11lM section one the the following. ) In either as it, file name specified specified in a THE VAX/VMS SYSTEM ENVIRONMENT The disk file for a read/write global section is data manipulation by processes that map to it. updated to reflect VAX/VMS does not incorporate the concept of an installed global The disk re-installed to obtain a fresh copy. that can be section file for a read/write global section is updated to reflect data written in the global section. Therefore, 1if it is necessary to maintain the original state of a read/write (common) global section, the user must keep a protected copy of the common file in a place than SYSSLIBRARY. other If the library or common area referred to is not found, VAX/VMS prints an error message on SYSSERROR specifying the name of the library or common. HIBERNATION 2.12 VAX/VMS defines a process state called hibernation in which a process A hibernating process in in the system but be inactive. can remain both is, that VAX/VMS is equivalent to a suspended task in RSX-11M; can be reactivated by the following: e A programmed request for activation ® Delivery of an AST or RESUME directive) (Wake system service Hibernating processes are quickly reactivated under VAX/VMS. and VAX/VMS also uses the Wake system service in the emulation of RUN As a result, the target of either directive must REQUEST directives. be a hibernating process or one that is active in the system. Both the DCL and MCR RUN commands provide the means of creating a subprocess or detached process to execute a specified image, scheduling the process for a future time, hibernation before execution. and placing that process in Before placing the process in hibernation, VAX/VMS 1loads the image, performs the device assignment for any preassigned devices, and loads any libraries or common areas, if needed. 2.13 IMAGE TERMINATION Any image running in VAX/VMS can terminate normally or abnormally. Normal termination occurs when the image terminates of its own accord. Abnormal termination occurs when the system or another process forces the image 2.13.1 to exit. Normal Termination When an RSX-11M image terminates normally, VAX/VMS performs the same image cleanup operations as it does for a native image. If an RSX-11lM image issues a TASK EXIT directive, VAX/VMS executes an Exit system service, and returns the termination status of SS$ NORMAL. RSX-11M images also can issue an EXIT WITH STATUS appropriate status. directive ~to specify the THE VAX/VMS SYSTEM ENVIRONMENT For both VAX/VMS and RSX-11lM images, the termination status is available to the command interpreter. Both the DCL and MCR command interpreters use the termination status when processing indirect files. DCL uses the termination status with the ON command for error handling. MCR uses the status with .ONERR handling. The VAX-11/RSX-11M User's Guide describes the use of indirect command files with the MCR command interpreter. The VAX/VMS Command Language User's Guide describes the use of DCL command procedures (indirect command files). 2.13.2 Abnormal Termination When a VAX/VMS either of the e The image incurs image can handle ® VAX/VMS a potentially following can occur. forces the fatal error condition, the condition image to terminate VAX/VMS images can react to fatal errors using the VAX/VMS condition handling mechanism. Through that mechanism, an image can provide one or more condition handling routines that are to be executed to handle an error (exception) condition. The condition handling mechanism provides a function that is comparable to, but considerably more flexible than, the RSX-11lM synchronous system trap (SST) mechanism. VAX/VMS condition handling is described in the VAX/VMS System Services Reference Manual. If an image incurring a condition handles it, the image can continue execution or exit normally, as described above. If the image does not handle the condition, the system terminates the image by issuing an Exit system service. The Exit system service initiates image-related cleanup operations and saves the termination status. That status is available to the command interpreter or the next image to execute in the process. Abnormal termination of an RSX~-11M image can occur of the following: e Violation of the hardware conventions in compatibility mode ® Issuance of an a instruction, other than for as a result of images EMT377, any running that causes trap e Use of an ® Occurrence illegal of an JMP or odd JSR address instruction format error e Violation of memory protection ® Request for an abort from another process e Attempt to exceed virtual memory usage limits An RSX-11M image can supply a synchronous system trap (SST) service routine to handle some of the errors listed above. If the address of an SST service routine for an error is supplied 1in the SST vector table and that error occurs, VAX/VMS continues image execution in the SST routine. The routine determines whether the image is to exit or continue. If no SST address is supplied, VAX/VMS terminates the image. THE VAX/VMS SYSTEM ENVIRONMENT If or the if error is one that cannot be handled by an SST no wvalid SST routine address is supplied, termination SYSSOUTPUT. status that Table errors 2-1 is lists can parentheses macro. message on the VAX/VMS causes be available the the command reasons for image following by the an routine issues a device assigned to SYSSERROR and the 1image to exit with a termination to handled service VAX/VMS SST interpreter. termination service routine. termination messages are and The indicates status defined by which codes in $RSXDEF THE VAX/VMS SYSTEM ENVIRONMENT ‘dei13a 9sD‘u"UISryWe9YIjA{dT3u-l/poXuSVnYA 2-13 *paMOTIR ou THE VAX/VMS 2.14 PARSING OF FILE Because of the SYSTEM ENVIRONMENT SPECIFICATIONS VAX/VMS specifications can RSX-11M parsing routines logical name from those differ cannot provide capability, used in defaults VAX/VMS RSX-11M. for such The file normal VAX/VMS file specifications. VAX/VMS provides a special directive that is issued by FCS and RMS-11 running under VAX/VMS so that they provide proper defaults in a manner that is transparent to the RSX-11M image. Any RSX-11M image that performs its own parsing also must call this special directive, as described in Appendix B. An RSX-11M image issuing such a directive uses the same sources for default information as it does under RSX-~11M, for example, the default file name block and directory string. When the directive is issued, VAX/VMS builds When VAX-11l returns it RMS to example, the 2.15 in VAX/VMS VAX/VMS uses Components that are VAX/VMS the necessary RMS data structures and calls VAX-11 I/0 SYSTEM its at own all I/O system levels of similar to equivalent I/O system services in duplicating the VAX/VMS I/0 RSX-11M system I/0 operations. provide functions in RSX-11M. For provide functions similar provided by RSX-1lM I/O directives. Differences between the systems arise in either of the following cases: functions example, those to two ) VAX/VMS implementation of a function varies from RSX-11M implementation to provide more flexibility or efficiency, for example, certain Queue I/0 Request function codes ) VAX/VMS implementation of a provided in RSX-11M and emulating RSX-11M I/0 Such differences affect directives. emulation ° ASSIGN ° GET ® QUEUE I/O REQUEST ° QUEUE I/0 REQUEST AND ° SEND DATA ° RECEIVE DATA o RECEIVE DATA Chapter aspects RMS. returns the expanded file specification, VAX/VMS the image 1in the format used by FCS and RMS-11, for resultant file name block and directory string. function or use of that of the concept function following I/0 not in I/O~related LUN LUN INFORMATION OR WAIT EXIT 3 presents an overview of the VAX/VMS of it to an RSX-11lM image. I/O system and relates CHAPTER 3 VAX/VMS I/0O SYSTEM Components of the VAX/VMS I/0 system range in orientation £from user-level I/0 requests to device-level I/0 drivers. The I/O system comprises the following components. ‘ ) VAX-11] RMS for user-level, ) f/O system services that provide the means for an ® Ancillary control processes file-oriented functions on to assign devices and device-independent I/0 image issue I/0 requests directly (ACPs) for performing disk and magnetic tape volumes ® I/0 drivers Figure 3-1 3.1 illustrates the relationship among these components. VAX-1ll RMS VAX/VMS record management services (VAX~1ll RMS) provide native VAX/VMS images with the capability to perform device-independent I/0. Images issue commands to open a file, get and put records or read and write blocks, and close the file. VAX-11 RMS, in turn, issues the I/0 system services that cause the driver or ACP to perform the function requested by the VAX-11 RMS is user. the VAX/VMS equivalent to FCS and RMS-11. It has no direct effect on and is inaccessible to an RSX~11lM image executing in compatibility mode. VAX/VMS does, however, call VAX-11l RMS to perform some I/0 services on behalf of an RSX-1lM VAX-11 RMS is described Reference Manual. in the VAX-1l image. Record Management Services VAX/VMS 1/0 SYSTEM VAX/VMS image VAX-11 RMS 1/0 system services or| ' 1 1/0 drivers - ACPs Peripheral devices Figure 3.2 VAX/VMS A native I/0 3-1 Components of VAX/VMS I/O System 1I/0 SYSTEM SERVICES image can call requirements VAX/VMS directly, I/0 that system 1is, services without to using describe VAX-11 RMS. request can be issued by a user image or by VAX-1ll RMS on behalf of user image. I/0 services allow a suitably privileged process request the following functions: ® Assign a channel ° Queue an I/0 to a device request and, and later deassign optionally, completion ° Create a mailbox ° Allocate a device ° Get ® Cancel information I/0O on a and and about later later delete deallocate a device channel it it wait it for 1its its The a to VAX/VMS 3.2.1 I/0 SYSTEM Assign I/0 Channel System Service Before a VAX/VMS image can request an I/0 operation, it must establish a path of reference from the process in which it is executing to the device on which the operation is to be performed. In VAX/VMS, this path of reference is obtained by calling the Assign I/0O Channel system service. This service returns a channel number (path designator) for the assigned device. The channel number remains valid until the image deassigns the channel or terminates. In addition to the channels assigned by an image, a process has channels assigned by the system. These channels are permanent for the duration of the process. They provide the path of reference for the process-permanent files used for system input (SYSSINPUT and SYSSCOMMAND), system output (SYSSOUTPUT), error messages (SYSSERROR), and any user-created under VAX/VMS, record-oriented An image can those that VAX-11 RMS process-permanent request I/O operations the system assigns to must files. user-created process-permanent terminal devices. be used for I/O For RSX-11lM files images appear as on channels that it assigns and on process-permanent files. However, operations to process-permanent files except those mapping to terminal devices. The Assign I/0 Channel system service is the VAX/VMS equivalent of the ASSIGN LUN directive. 3.2.2 Queue I/0 Request System Service Once the image has assigned a channel to a device, the image can request I/0 operations by calling the Queue I/O Request system service and specifying the channel number returned by the Assign 1I/0 Channel service as an argument. Additional arguments provide function-dependent and function-independent data required for the 1I/0 operation. When called, the Queue I/0 Request system service allocates and—builds an I/0.request packet that describes the operation to be performed as indicated by the arguments passed to it by the image. Once the packet is built, the Queue I/O Request system service places the packet in a queue of requests for the designated device. Requests are queued according to the priority of the process from which the the request. The driver for the device unit dequeues priority 3.2.3 and performs Create Mailbox image issued requests by them. and Assign I/0 Channel System Service The Create Mailbox and Assign I/0 Channel system service lets an image create a virtual device, called a mailbox, and assign an I/0 channel to it. Mailboxes provide the mechanism for protected interprocess Communication in VAX/VMS. Normally, ain image Cieates a mailboxX Lioim which it reads and to which other 1images in cooperating processes write. Access to the mailbox is restricted using the normal UIC-based protection according to system, owner, group, and world. An image performs I/0 operations on a mailbox using VAX-1l1 RMS S$GET and $PUT commands or the Queue I/O Request system service. A mailbox has no RSX-1l1M equivalent. However, VAX/VMS does use mailboxes 1in duplicating RSX-11M send/receive directives. If a logical name is assigned to an existing mailbox, an RSX-11lM image can issue I/O0O requests to the mailbox using the mailbox's logical name. An RSX-11M image cannot create a mailbox directly. Use of mailboxes for send/receive directives is detailed in Section 3.8.1, "Mailboxes for Send/Receive Directives." 3-3 VAX/VMS 3.2.4 Additional 1I/0 SYSTEM I/0 System Services The Allocate Device system service lets an image reserve a device for exclusive use by the process in which the image is executing. The device remains allocated until it is explicitly deallocated or until the process terminates. VAX/VMS automatically allocates any nonshareable device (for example, terminal or card reader) assigned by a process. It does not automatically allocate a shareable device (for example, disk). The concept of device allocation 1is the VAX/VMS equivalent to the RSX-11M concept of attaching a device. The Get Device Information name and characteristics channel. It is equivalent system service lets an image obtain the of the device assigned to a particular to the GET LUN INFORMATION directive in RSX-11M. The Cancel I/O Request system service lets an image cancel all 1I/0 requests pending on the specified channel. It is equivalent to the RSX~11M QUEUE I/0 REQUEST directive with a function code of IO.KIL. I/0 system services Reference 3.3 are described in the VAX/VMS System Services the I/0 request packet, the I/O driver request was queued initiates the actual for the hardware Manual. I/0 DRIVERS AND ACPs Using unit information in to which the operation that performs the requested function. Once the transfer is initiated, the driver returns control to the Queue I/O Request system service. the that The service returns the request status to its caller. When hardware operation completes, the hardware generates an interrupt causes the driver to be re-entered to ¢complete processing of the I/0 request. When the driver completes the I/0 request, it 1issues a software interrupt for the I/O post routine. The I/0 post routine sets up the mechanism that causes user-requested I/0 completion information to be passed to the image. For example, it fills in the I/O status block and passes information needed to set an event flag or queue an AST, if either is requested. If the driver understanding In that case, cannot of the perform the file-structured driver queues request volumes, the ACP because it intervention request for the TO THE VAX/VMS I/O System requires is appropriate needed. ACP to perform. 3.4 RSX-11M IMAGE INTERFACE RSX~11M images perform or the QIOS$ directive I/0 by level. issuing requests at the FCS/RMS-11 level The number of steps required to perform each I/0 operation varies depending on the 1level of the request. Figure 3-2 illustrates the interface between an RSX-11M image and the VAX/VMS 1/0 system. VAX/VMS RSX-11M image issues FCS or RMS-11 request 1I/0 SYSTEM OR RSX-11M image issues QI0$ Y Request goes to FCS or RMS-11 running in compatibility mode FCS or RMS-11 issues the appropriate Q10$ r L QI0$ traps to VAX/VMS Is QIO$ to process-permanent yes file | VAX/VMS issues VAX-11 RMS $GET or $PUT ? | VAX-11 RMS i1ssues VAX/VMS issues appropriate $QI0O appropriate $QI10 | VAX/VMS converts status code returned to appropriate DSW code VAX/VMS returns DSW code to image issuing Q10$ | Driver notifies VAX/VMS of 1/0 completion | VAX/VMS converts USB status and returns status, if IOSB is defined / VAX/VMS issues 1/0 done AST for image and/or sets event flag, if requested Figure 3-2 RSX-11M Image Interface to VAX/VMS I/O System VAX/VMS Images issuing routines FCS available and in RMS-11 1I/0 SYSTEM requests RSX-11M.l use Some the of same FCS and RMS-11 these routines have been modified to take advantage of VAX/VMS features, for example, parsing of file specifications that use the VAX/VMS logical name facility. To take advantage of the modifications, the RSX-11lM image must be rebuilt under VAX/VMS. The VAX/VMS modifications are compatible with RSX-11M versions of FCS and RMS-11. ) Both FCS and RMS-11 run in compatibility mode under VAX/VMS. When an RSX-11M 1image 1issues either an FCS or RMS-11 request, FCS or RMS-11 receives the request and reacts to it in the same mannner as it does when running in RSX-11lM. That is, FCS/RMS-1l1l issues the appropriate RSX-11M QIOS directive. From this point, the RSX-11M image issues e The QIOS steps involved are a QIOS$ directive: directive traps identical to those when any to VAX/VMS. ® VAX/VMS determines whether the QIO$ was to a process-permanent file, for example, TI or SYSSOUTPUT. 1If it is and that device is not a terminal, VAX/VMS issues a VAX-1l1 RMS SGET or SPUT request. Otherwise, VAX/VMS issues the VAX/VMS $QIO system service request corresponds to the ® Upon completion of appropriate DSW code e Upon completion of the I/0 operation, information in the I/O status. block declares an AST, if requested. If the routine to which RMS-11, that component the calling image. 3.5 that RSX-11M QIOS. the QIO request, VAX/VMS to the issuing image. VAX/VMS and sets the DSW code is returned 1is in turn makes the appropriate returns returns an event the status flag or either FCS status return or to DEVICE ASSIGNMENT VAX/VMS performs device assignment for RSX-11M images as part of image initialization when the 1image is 1loaded. It also performs device assignment during image execution as a result of an ASSIGN LUN directive. In making with the a device assignment for following steps, which an RSX-11lM image, VAX/VMS result in the device unit's proceeds physical name. ® VAX/VMS forms an ASCII string using the device name number supplied by the image. VAX/VMS uses the two plus the binary unit number supplied. The unit converted to ASCII base name; for example, if TT1 rather than TTO1l. 8. is No editing is performed on the supplied, that name 1is used l. Because the VAX/VMS Files-11 ACP does not RMS-11 block locking across processes is not RMS-11 does not relative indexed and allow file sharing organization under and unit characters number 1is for support block supported. As write-accessed VAX/VMS. a 1locking, result, files of VAX/VMS e I/0 SYSTEM VAX/VMS attempts to translate the ASCII string as a logical name using the Translate Logical Name system service. If the attempt to translate fails, VAX/VMS assumes that the image supplied an RSX-11lM physical device name. It converts the unit number to decimal. It builds a VAX/VMS physical device name using the image's original input and issues an Assign I/0 Channel system service using the VAX/VMS device name. VAX/VMS maps RSX-11M physical device names to VAX/VMS physical device names, as described in Section 3.6. If the name translations. is performed translation, translates, If VAX/VMS attempts up to two the maximum number of translations or if VAX/VMS one of assigns the a more (three) attempts results channel wusing the in no final equivalence name. For example, if INO is defined as a process's logical name for TTB3 and that process runs an RSX-11lM image which subsequently issues an ASSIGN LUN directive for INO, VAX/VMS forms an ASCII string for INO, translates the string to TTB3, and then assigns a channel to TTB3. 3.6 DEVICE MAPPING If the user does not assign the RSX-11M device name as the logical name for a VAX/VMS physical device unit, VAX/VMS automatically performs the translation to a physical device by converting the RSX-11M unit number to decimal and dividing it by 16 (decimal). The quotient is added to the ASCII value representing the character A (65). The result is the controller letter. The remainder becomes the VAX/VMS unit number. For example, RSX-11lM devices TT0 and DB18 become VAX/VMS devices TTAQ0 and DBB2, respectively. TTO to TTAO: Controller and unit = A + A+ DB18 to 0O = A + 0 0 = 65 controller 0 = unit number 16 = with a remainder of 0 DBB2: Controller and unit = A + 18 = A + 1 with a remainder of 2 16 A+ 1 =66 2 = =B unit = controller number VAX/VMS performs this conversion when assigning an I/0 device RSX-11M image. To convert back from a VAX/VMS VAX/VMS performs the reverse representing the ASCII character for an device name to the RSX-11M form, operation. It subtracts the value A (65) from the controller letter and VAX/VMS I/0 SYSTEM multiplies the result by 16 (decimal). It then adds the VAX/VMS unit number. The result is an RSX-11lM unit number that is appended to the 2-character device name. For example, the VAX/VMS device name LPB1 converts to the RSX-11lM device name LP17. LPBl1 to LP17: Unit =((B- A) * 16) + 1 = (1 * 16) + 1 = 17 VAX/VMS performs this conversion and stores it in the RSX-11M name 1list for the image. This device information result of a GET LUN INFORMATION directive. logical is returned as a The logical names TI, CL, CO, SY, and OV are exceptions to the rules for device name mapping. They always map to VAX/VMS logical names, as follows: RSX-11M Name VAX/VMS Equivalent TIO SYSSINPUT SIn SYSSOUTPUT $On CLO SYSSERROR SEn COoo0 SYSSCOMMAND $Cn SYO SYSSDISK mapped name mapped name \ SPn Assigned by manager WKn Assigned system Name Returned for GLUNS ! by system mapped name by system mapped name manager LBn Assigned manager ovo For the LUN used by the overlay run-time system, OV0 translates to provide access to the task image - file. Any other LUNs assigned to OV0 cause VAX/VMS to assign the device on which the image resides. 3.7 HANDLING OF QUEUE VAX/VMS provides functions at the functions include I/0 FUNCTION CODES both device-independent and device-dependent Queue I/0 Request service level. Device-independent read and write virtual block, read and write logical block, and read and write physical block. Device-dependent functions include operations such as the handling of control and escape sequences for terminal I/0O and positioning functions for magnetic tape, for example, rewind. VAX/VMS I/0 SYSTEM For most RSX-11M function codes, VAX/VMS has a corresponding function code or system service. For example, all disk and most magnetic tape function codes have corresponding functions in VAX/VMS. However, two areas exist where discrepancies between RSX-11M and VAX/VMS device handling may appear: e Handling of terminal devices e Handling of spooled devices Details concerning VAX/VMS handling of all RSX-11M device function codes are provided in Chapter 5. The implications of spooling for RSX-11M images is described in Section 3.10, "Spooled Devices." MAILBOXES 3.8 A mailbox is a record-oriented virtual device used in VAX/VMS for generalized communication among processes. VAX/VMS uses a mailbox to duplicate the RSX-~11M SEND DATA, RECEIVE DATA, and RECEIVE DATA OR EXIT directives. These directives are the normal means of intertask communication in the RSX-11M environment. A mailbox has UIC-based protection associated with it. The creator of the mailbox can specify read and write privileges for system, owner, group, and world. Because the concepts of execute and delete are not meaningful for mailboxes, the creator does not specify privileges for these functions. - When VAX/VMS creates a mailbox for emulating the send/receive directives, it specifies read access for the owner and write access for the group. The owner is the image issuing the receive directives and the group comprises the images issuing the send directives. Owner and group are identified by the UIC under which they execute. 3.8.1 Mailboxes for Send/Receive Directives When VAX/VMS loads a compatibility mode image, it determines whether the image has a task name by examining the image's task label block. The presence of a task name in the label block is an indication that the image can issue RECEIVE DATA or RECEIVE DATA OR EXIT directives to obtain data sent to it by other images. The system defines a process name that is identical to the task name in the label block. If the name is unique, just prior to actual image execution, the system creates a mailbox and associates it with the process. The mailbox is named as , follows: RCVDtaskname mL o L1 the m—— e - 4O —~rmm V2 £ A YYuUAQLLLATU mailbox privilege. must lavs WY be e mrawn YiEVUNM within v| A HUWIUNVTL Nl o~ [SY ¥ &~ 2 . HIAY SO I PO N [ N SOO ~ L A R form ...xxx, Figure 3-3 functions. for example, illustrates the =~ i\ the same group and have group or world VAX/VMS does not create a mailbox for an image having a task the A~ Y L TMY ...MAC. use of mailboxes for the send and name in receive VAX/VMS I/0 SYSTEM [group] ABC fi. [group] RCVDABC TM : ABC [group] RSX-11M Image (no name) ) 9 ' Figure 3.8.2 I/0 A mailbox number. 65535. to it. VAX/VMS 3-3 Use of Mailboxes for Send/Receive Directives to Mailbozxes has a device VAX/VMS unit name of MBAn. numbers are The value of 5-digit numbers n is the to unit number assigned by treated as devices under VAX/VMS, any channel to a mailbox using its logical record I/O to it. than the device images can accept unit in the range 0 When an image creates a mailbox, VAX/VMS assigns a Each time an image executes, the unit number to any mailboxes that the image creates can vary. Because mailboxes are image can assign a perform rather RSX-11M DATA K MAILBOX SEND TO RSX-11M “1 ) RECEIVE_[-{ Image ABC - RSX-11M name and The RSX~11lM image must use the logical name name (MBAn) to refer to the mailbox because only a unit number in the range 0 to 255. Both RSX-11lM images and VAX/VMS images can assign a mailbox; however, only VAX/VMS images can create a mailbox. Mailboxes assigned by an RSX-11M image must be either permanently available in the system or created by a native image. Assignment of a mailbox is treated the same as the assignment of other VAX/VMS devices for RSX-11M images. A mailbox can be shared by native images and RSX-11M images. As result, mailboxes provide a convenient means for native images communicate with RSX-11M images. The mailbox communication can be created by a native image or for emulating the send and receive directives. A native image emulation by VAX-11 RMS or can send messages to a mailbox issuing write requests to it. the Queue 1I/0 Request ~perations. 3-10 system used created created The image service for can for a to for such by VAX/VMS directive use either the 1I/0 VAX/VMS 3.9 1I/0 SYSTEM ACP FUNCTIONS RSX-11M Files-11 ACP functions correspond directly to VAX/VMS Files-11 ACP functions. The mapping is transparent to the RSX-11lM image, as described in Chapter 5. 3.10 SPOOLED DEVICES Under VAX/VMS, spooling occurs as a result of cooperation among the I/0 related system services, Files-11 ACP, VAX-1ll RMS, and output symbionts. Spooling in RSX-11lM requires interaction with the RSX-11M spooler. Use of VAX/VMS spooled devices is transparent to RSX-11M images. If an image assigns a device that is spooled (for example, LP) the resulting assignment is actually to an intermediate device, for example, a disk. If the image issues a GET LUN INFORMATION directive, the system returns characteristics that are consistent with the intermediate device containing the spooled files. Characteristics of the final output device (printer) are not returned to the RSX-11M image. \ If an image uses RMS-1l1 or FCS spooled when it is deaccessed. to access a spooled device, the file is Use of the QUEUE I/0 REQUEST directive to a VAX/VMS spooled device without preceding the request with an OPEN$ or appropriate ACP functions results in a privilege violation status return. Because the device to which the QUEUE 1I/O DIRECTIVE actually is directed is a file-structured device, the appropriate ACP functions (for example, access file) must occur before I/0 to the device can be performed. Use of RMS-11 or FCS PUTS$ requests ensures that the ACP functions occur. - 3.10.1 ECS Spooling The FCS spooling macro PRINTS$ and the services associated with it under RSX-11M are supported in VAX/VMS. Spooling in RSX-11lM is accomplished by a task named PRT... . When VAX/VMS detects a SEND DATA directive with PRT... as the target, it executes a Send Message to Symbiont Manager system service to spool the file. CHAPTER 4 DIRECTIVE DESCRIPTIONS This chapter is based on Chapter 4 of the RSX-11M Executive Reference VAX/VMS support of each RSX-11M Manual for RSX-11M Version 3.1. directive is described. Any differences in directive support under VAX/VMS are presented in the shaded portions of the individual ' directive descriptions. in this individual directive descriptions For ease of reference, are in alphabetic order according to the names of the RSX-11M chapter directive macro calls. DIRECTIVE CATEGORIES 4.1 This section groups related directives by the following functional categories. ) Process control directives ® Informational directives ° Event-associated directives ) Trap-associated directives ) 1/0 and interprocess communications directives The following sections summarize the directives within each category in tabular form. One table entry exists for each directive. Each table entry lists the differences in RSX-11M and VAX/VMS system environments that may affect directive emulation and refers to the sections in Chapters 2, 3, and 5 that describe these differences. 4.1.1 Process Control Directives The process control directives deal images within a process stopping starting and principally with VAX/VMS in other processes. or allows images to affect processes executing in the same group the (UIC) as requester. Each of these requests image's state unless an (except EXTEND TASK) results in a change of the 1image 1is already in the state being requested. Table 4-1 summarizes the process control directives. DIRECTIVE DESCRIPTIONS Process Macro Directive ABRTS ABORT TASK Table 4-1 Control Directives Name System Differences Protected by group Requires privilege Uses RQSTS REQUEST process Requested name image (Section 2.2). (Section (Section must 2.1). 2.4). be in a hibernating or active process (Section 2.12). Protected by group (Section 2.2). Requires privilege (Section 2.1). Uses process name (Section 2.4). RUNS RUN Requested image must be in a hibernating or active process (Section 2.12). Protected by group (Section 2.2). Requires privilege (Section 2.1). Uses process name (Section 2.4). SPNDS$ SUSPEND Must have ©process 2.4). name (Section RSUMS RESUME Protected by group (Section 2.2). Requires privilege (Section 2.1). Uses process name (Section 2.4). ALTPS ALTER PRIORITY No operation performed (Section 2.10). DSCPS$S ENCP$ DISABLE Requires CHECKPOINTING (Sections ENABLE Requires CHECKPOINTING (Sections EXTKS EXTEND TASK None. CSRQS CANCEL TIME INITIATION BASED Protected REQUESTS Requires Uses EXITS$S EXSTS TASK EXIT EXIT WITH STATUS set swap 2.7.1 set 2.7.1 by mode and 2.1). group name Pertains to (Section 2.13). Pertains to Informational 4-2 summarizes (Section (Section (Section 2.2). 2.1). 2.4). termination image termination Used to to signal subseguent Directives Informational directives provide the by the system; that is, the time and partition parameters. Table privilege image (Section 2.13). error condition image. 4.1.2 2.1). swap privilege process mode privilege and the issuing of day, informational image with data retained the image run parameters, directives. DIRECTIVE DESCRIPTIONS Table 4-2 Informational Directives Macro Directive Name GPRTS GET PARTITION PARAMETERS partition GTIMS GET TIME PARAMETERS Uses 100 ticks-per~second frequency GTSKS GET TASK PARAMETERS Partition 4.,1.3 System Differences Returns (Section parameters for GEN (Section 2.7.1). 2.9). 2.7.1). name is GEN (Section Event-Associated Directives The event and event flag directives provide the means for and intraprocess synchronization and signaling. interprocess Table 4-3 summarizes the event—associated directives. Table 4-3 Event-Associated Macro Directive Name SETF$ SET EVENT FLAG CLEFS CLEAR EVENT Directives System Differences No differences for 1local event flags. Common event flags are protected by group (Section 2.5) and require a task name in the image label block (Section 2.4). FLAG No differences flags. Common for 1local event event flags are protected by group (Section 2.5) and require a task name in the image label block (Section 2.4). RDAFS$ READ ALL EVENT FLAGS No differences flags. Common for local event event flags are protected by group (Section 2.5) and require a task name in the image label block (Section 2.4). WTSES WAIT FOR SINGLE EVENT FLAG No differences flags. Common protected el (=¥ ¥ L1 A A LT A. w oA AL for 1local event event flags are group (Section 2.5) by «“ o~ e~ L AN image label block WTLOS WAIT FOR LOGICAL OR OF EVENT FLAGS - A A 44 CAA N (Section . L) -~ as hAa - dd 2.4). No differences for local event " flags. Common event flags are protected by group (Section 2.5) and require a task name in the image label block (Section 2.4). (continued on next page) DIRECTIVE DESCRIPTIONS Table 4-3 (Cont.) Event-Associated Directives Macro Directive DECLSS DECLARE SIGNIFICANT Name System Concept does EVENT WSIGSS MRKTS CMKTSS EXIFS Differences (Section WAIT FOR SIGNIFICANT | No not exist in VAX/VMS 2.8). wait occurs; concept does EVENT exist MARK TIME Uses 100 tick-per-second (Section 2.9). CANCEL MARK TIME in VAX/VMS Protected by group REQUESTS Requires EXIT No differences flags. Common IF (Section privilege protected by not 2.8). clock (Section (Section 2.2). 2.1). for 1local event event flags are group (Section 2.5) and require a task name in the image label block (Section 2.4). Pertains to image termination (Section 2.13). 4.1.4 The Trap-Associated trap-associated facilities Directives directives inherent in the transfers of control (software under certain fault conditions. Table 4-4 summarizes the provide PDP-11 the hardware interrupts) trap-associated image trap to with system. the executing directives. Table 4-4 Trap-Associated Directives Macro SPRAS Directive Name System SPECIFY POWER SRDAS SPECIFY RECEIVE None. DATA AST SVDBS SPECIFY SST VECTOR TABLE Differences None. RECOVERY AST None. FOR DEBUGGING AID SVTKS$ SPECIFY SST VECTOR TABLE ASTXSS None, FOR TASK AST SERVICE EXIT None. DSAR$S | DISABLE AST None. RECOGNITION ENARSS ENABLE AST None. RECOGNITION SFPAS SPECIFY FLOATING PROCESSOR POINT EXCEPTION None. AST 4-4 the same They allow image DIRECTIVE DESCRIPTIONS 4.1.5 I/0 and Interprocess Communications Directives The I/0 and interprocess communications directives allow images to access 1I/0 devices at the driver interface level, to communicate with other processes in the system, and to retrieve the command 1line that initiated the image. Table 4-5 directives. summarizes the Table communications interprocess and 1I/O 4-5 1/0 and Interprocess Communications Directives Macro Directive Name ALUNS ASSIGN LUN System Differences to Subject translation to Pertains 3.5) (Section 1logical VAX/VMS name 3.5). (Section assignment device and mapping (Section 3.6). GLUNS GET LUN INFORMATION device intermediate Returns characteristics (Section 3.10). for spooled device Section also See 5.2. GMCRS GET MCR COMMAND LINE | None. QIOS QUEUE I/0 REQUEST See Chapter 5 QUEUE I/0 REQUEST See SEND DATA Uses mailbox (Section QIOWS SDATS differences in to Chapter 5 for differences in I/0 function codes. AND WAIT 3.8.1) that (Section group by protected is (Section Requires privilege 2.2). process name (Section Uses 2.1). case special as Also used 2.4). for PRT... RCVDS$ for I/0 function codes. (Section 3.10.1). Uses mailbox (Section RECEIVE DATA 3.8.1) by group protected is Requires privilege 2.2). process name Uses 2.1). that (Section (Section (Section 2.4). RCVXS RECEIVE DATA OR EXIT . (Section 3.8.1) that Uses mailbox (Section is protected by group 2.2). 2.1). (Section Requires privilege Requires 2.4). process (Section name DIRECTIVE DESCRIPTIONS 4.2 UNSUPPORTED DIRECTIVES VAX/VMS does ATTACH not support REGION CONNECT TO the directives INTERRUPT VECTOR ADDRESS WINDOW CREATE REGION (CRRGS) DETACH REGION (DTRGS) ADDRESS MAPPING CONTEXT GET REGION PARAMETERS GET SENSE MAP ADDRESS SWITCH BY SEND REFERENCE SPECIFY UNMAP (GMCXS$) (GREGS) (MAPS) REFERENCE (RREFS$) (SREFS) RECEIVE-BY-REFERENCE AST ADDRESS WINDOW returns RSX-11M image that issues RSX-11M, the CONNECT an error status of an user~-written I/0 drivers. receive device interrupts; CONNECT TO (SRRAS) (UMAPS) VAX/VMS Under (ELAWS) (GSSW$) WINDOW RECEIVE (CINTS) (CRAWS) WINDOW GET BY below. (ATRGS) CREATE ELIMINATE listed IE.SDP unsupported TO (invalid directive) directive. INTERRUPT VECTOR directive Under VAX/VMS, an RSX~-11lM therefore, VAX/VMS does not INTERRUPT VECTOR directive. is to any used by image cannot support the The VAX-11/780 processor does not have sense switches. Therefore, VAX/VMS handles the GET SENSE SWITCH directive in the same manner as RSX-11M does for a system during system generation. The remaining directives. memory 12 They management that disallowed It returns the directives are very are RSX-11M not supported differently access to sense DSW status IE.SDP. from memory management switches (PLAS) because a VAX-11/780 performs the way that a PDP-11 does. DIRECTIVE DESCRIPTIONS 4.3 SYSTEM DIRECTIVE DESCRIPTIONS Each directive description elements, as appropriate: includes all or most of the following Name: The function of the directive in VAX/VMS is described. Macro Call: The macro call is shown, each parameter is defined, and the defaults for optional parameters are given in parentheses following the definition of the parameter. Since zero is supplied for most defaulted parameters, only nonzero default values are shown. Parameters ignored by VAX/VMS and RSX-11lM are required for compatibility with RSX-11D and IAS. DSW Return Code: All return codes that are valid wunder VAX/VMS defined. In some <cases, a VAX/VMS return parentheses follows an RSX-11M status code. For IE.RSU -- Device allocated to another image The VAX/VMS code indicates the VAX/VMS error corresponding RSX-11M code to be returned. are listed status code example: and in (SS$_DEVALLOC) that caused the Some RSX-11M codes reflect several VAX/VMS codes. In this case, VAX/VMS returns the RSX-11lM code that it uses by default. Such codes are followed by the phrase "default error" in parentheses. For example: IE.IDU -- Device or unit unknown (default error) In some cases after a directive failure, VAX/VMS returns an error code that 1is more meaningful for an I/O operation. 1In these cases, the high-order byte of the DSW contains 0. Notes: The notes presented with some directive descriptions further explain the function, use, and/or consequences of these directives under VAX/VMS. Users should read the notes carefully to ensure proper use of directives. DIRECTIVE DESCRIPTIONS ABRTS 4.3.1 ABORT TASK The ABORT execution TASK directive instructs of the indicated process's itself or an intended for Macro image use as the system image. The to terminate the requester can abort executing in another process. an emergency or fault exit. ABORT TASK is Call: ABRTS tsk %@”9d;; y S « %;; 5 %g%s« m%m\ % % A%:’%g«»2 ‘MW“N sk VARIVMESorah D‘?%%%“m,a ‘name bTS oy5«%«@&* ‘$ DSW Return Codes IS.SUC -- Successful IE.INS -— Process IE.PRI = -- User %figfi%xafiffi‘%ifi‘“«*@tfm --»’-__ -- IE.SDP —-— unknown s aynaniSmenBry '%J@%i Part of the address space DIC (default error) nqt_pr1v11eg§d (SS$_NOPRIV) 0 IS FCTenE BLUBN: IE.ADP completion name or DPB DPB size xr;i’ iy is out of is invalid y (SSSUINBENEH the Lt BT AT@(%éifgi 1ssu1ng image's Notes: ® VAX/VMS executes a Force Exit system service specified process's image on behalf of the ABORT TASK directive. e The in @ image a issuing process the ABORT TASK directive must that meets either -— It is in the same group has group privilege. -- It has world to terminate image issuing as of the the following process to be be executing requirements: aborted error. It and privilege. The exit status is supplied by an exit handling routine handler). the the 1is assumed that the status returns a (exit severe DIRECTIVE DESCRIPTIONS 4.3 .2 ALTER PRI ORITY I I Macro Call: ALTPS tsk [tsk]l[,pril Active task name pri = New priority, a number from 1 to 250 (decimal) DSW Return Codes: IS.SUC -- IE.ADP -- IE.SDP =-- Successful completion Part of the DPB is out address space of DIC or DPB size is invalid the issuing image's DIRECTIVE DESCRIPTIONS ALUNS 4.3.3 ASSIGN LUN The ASSIGN LUN directive instructs the system to assign device unit to a logical unit number. An I/O channel is equivalent of an RSX-11lM logical unit number. PSS Sy ea : 7 i%é%/fi' ,g oB i/ N" @ga@,?% o £k 5 %@% g + et e Folftd Do i wllie Call: ALUNS DSW - ,\*,g»@’ gfl,@&@ . ous Y s W assig e T, S Ziadage ik o ddG A g i SR Macro 1»»?? a physical the VAX/VMS lun,dev,unt lun = Logical dev unt = = Device name Device unit Return unit number (two characters) number Codes: IS.SUC -- Successful completion Device or unit unknown (default I Vggid logical unié number val Lo ; : 4 /jr&\zgygé)@’ég o bk g e >fi X evice not mount IE.SDP -- of the error) ¢ ex v @§?%§o e %@ %%}%%‘@:@» £ /«@‘?@Af‘;ééa% rt R : EVNOTMOD! DPB is out address space DIC or DPB size is invalid o RS ge's Notes: ) VAX/VMS executes an e The assignment of RSX-11M device names devices is described in Section 3.5. e If the RSX-11M device name and logical wunit number are not assigned as the logical name of a VAX/VMS device, VAX/VMS maps behalf the of the image RSX-11M device Assign issuing name and I/O the Channel ASSIGN wunit system service on LUN directive. to number VAX/VMS to an physical appropriate VAX/VMS device name, controller, and unit number. To perform the mapping, VAX/VMS divides the RSX~11lM unit number by 16 (decimal). The quotient 1is added to the ASCII value representing controller unit the character A The designation. number. The following RSX-11M device A + 2 16 Corresponding number = DBA2 @ = name A+0 with DBA2. VAX/VMS and a is (65). remainder an unit example of number remainder device name, The result is the becomes the VAX/VMS of 2; = the conversion. DB2 that controller is, device letter, and unit If a LUN is reassigned, its previous assignment is deassigned. The deassignment causes I/0 to be cancelled on the old assignment. If the attempt to make a new assignment fails, the LUN remains deassigned. DIRECTIVE DESCRIPTIONS ASTXS 4.3.4 AST SERVICE EXIT The AST SERVICE EXIT execution of an AST If another immediately image's Macro directive service AST is effects state prior instructs routine. queued and the next AST. to the system to terminate ASTs are not disabled, VAX/VMS Otherwise, the system restores the the AST. Call: ASTXSS err DSW Return [err] = Error routine address Codes: IS.SUC -- Successful IE.AST -- Directive IE.ADP Part -- of image's IE.SDP DIC or completion not the issued DPB address DPB size or from stack an AST is out service of the routine issuing space is invalid Note: e When an AST occurs, information onto SP+06,012 SP+04 SP+02 SP+00 The stack must directive 1is the -- at minimum, of process prior of process prior DSW of in pushes, stack: O PS PC ~— -~ ~be VAX/VMS this executed. when following to AST to AST process prior state the to the AST AST SERVICE EXIT ‘-DIRECTIVE DESCRIPTIONS CLEF$ CLEAR EVENT FLAG 4.3.5 an instructs the system to clear The CLEAR EVENT FLAG directive indicated event flag and report the flag's polarity before clearing. Macro Call: efn CLEFS ~efn Event flag number = DSW Return Codes: IS.CLR =-- Successful completion; flag was already clear A set L§&§ETww§éww§gpcessful comoletlon!% §lag“was &\‘s"* ‘“3 0% NV ”WW@%?»\VA?;«m;X 3 - w%\ ol IE.SDP -- ; %‘%@é}«»»fi\gfl%@’w{@/%@3fi?‘fi’% @“?”& o :%%?‘g 2o e?é"£ iti o, 4» Mi@@% coified SlWe IE.ADP - Part of the DPB is out of the 1ssu1ng 1mage s address space DIC or DPB size is invalid Notes: behalf e VAX/VMS executes a Clear Event Flag system service on of the image issuing the CLEAR EVENT FLAG directive. e VAX/VMS converts the RSX-11lM event flag numbers to VAX/VMS The local RSX-11M event flag numbers 1 numbers. flag event 63. through 32 through 32 become VAX/VMS local flag numbers flag numbers 33 through 64 become event RSX-11M common The cluster flag event VAX/VMS flag numbers 64 through 95 in a named RSXCOMEFN. e Access to common event flags is protected by group number. e been have An image that wants to use common event flags must The DSW status IE.IEF is returned if built with a task name. cluster flag event common a have not an image that does associated with it attempts to clear flags 33 through 64. DIRECTIVE DESCRIPTIONS CMKT$S 4.3.6 CANCEL MARK TIME REQUESTS The CANCEL MARK TIME REQUESTS directive instructs the system all mark time requests that were made by the issuing image. Macro cancel Call: CMKTSS err DSW to Return [,,err] = Error routine Codes: IS.SUC =-- Successful IE.ADP -- Part of address IE.SDP address -- DIC or completion the DPB space is out of DPB size 1is invalid the issuing image's Note: ® VAX/VMS executes a Cancel Timer Request system specifying that all timer requests be .canceled for issuing the CANCEL MARK TIME REQUESTS directive. service the image DIRECTIVE DESCRIPTIONS CSRQ$ P 4l i > Macro Call: CSRQS tsk Sl o k B i g 3 B DSW Return Codes: Successful completion Specified process name unknown (default error) Privilege violation (SS$_NOPRIV) Part of the DPB is out of the issuing image's IS.SUC IE.INS IE.PRI IE.ADP --~ --- IE.SDP =-- DIC or DPB size is invalid address space Notes: e of behalf VAX/VMS executes a Cancel Wakeup system service on issuing the CANCEL TIME BASED INITIATION REQUESTS 1image the directive. e REQUESTS INITIATION BASED The image issuing the CANCEL TIME directive must be executing in a process that meets either of the following requirements: -- It is in the same group as the process for which are to be canceled and has group privilege. -— It has world privilege. requests - DIRECTIVE DESCRIPTIONS DECLS$S 4.3.8 DECLARE The DECLARE decla;e a Macro SIGNIFICANT EVENT SIGNIFICANT significant EVENT directive instructs the svstem Call: DECLSS [,err] err = DSW Return Error routine Codes: IS.SUC -- Successful IE.ADP ~-- Part of address IE.SDP address -- completion the DPB space DIC or DPB operation is performed size is out is invalid of the issuing image's Note: ® No and success is returned. to s DIRECTIVE DESCRIPTIONS DSARSS or IHARSS 4.3.9 DISABLE (or INHIBIT) AST RECOGNITION The DISABLE AST RECOGNITION directive instructs the system to disable recognition of wuser-level ASTs for the issuing image. The ASTs are gueued as they occur and are effected when the image enables AST recognition. When an AST service routine is executing, AST recognition also is disabled. The initial state of an image 1is to have recognition enabled. Call: Macro DSARSS [err] or IHARSS [err] err = Error routine address DSW Return Codes: IS.SUC IE.ITS IE.ADP ---- Successful completion AST recognition is already disabled Part of the DPB is out of the issuing IE.SDP -- DIC or DPB size address space is image's invalid Note: @ While disabled, ASTs are queued in a first-in/first-out list. DIRECTIVE DESCRIPTIONS DSCPS$S 4.3.10 DISABLE CHECKPOINTING dune Macro Call: DSCPS$S err DSW Return IS.SUC [err] = Error routine address Codes: -- Successful completion LIE.ITS -~ Swapping already disabled IE.ADP -- Part of address IE.SDP -- DIC or the DPB space DPB size is out is invalid of /] TIRGPRIGSRTPrIvITege WG LaE 160 (STNOBR, the e issuing image's Notes: e VAX/VMS executes a Set Swap Mode system service on behalf the image issuing the DISABLE CHECKPOINTING directive. e The image's The requesting ® mode. initial state has image must have swapping of enabled. the privilege to set its swap DIRECTIVE DESCRIPTIONS ENARSS 4.3.11 ENABLE AST RECOGNITION The ENABLE AST RECOGNITION directive instructs the system to recognize user-level ASTs for the issuing image; that 1is, the directive nullifies a DISABLE AST RECOGNITION directive. ASTs that were queued while recognition was disabled are effected at issuance. The initial state of an image is to have AST recognition enabled. : Macro Call: ENARS$S [err] err = Error routine address DSW Return Codes: IS.SUC IE.ITS IE.ADP -~-- Successful completion AST recognition is not disabled IE.SDP -- DIC or DPB size Part of the DPB is out of the address space 1is invalid issuing image's DIRECTIVE DESCRIPTIONS ENCP$S 4.3.12 ENABLE CHECKPOINTING ¥£ Macro Call: ENCPSS err DSW Return IS.SUC [€err] = Error routine address Codes: -~ Successful completion 1E-1TIS Zo.Swapping already enabled . .. . W”P&‘fifi%%wg%fi%szé%%e%wf& &@%@&fi§ffi§$%&@ 1V IE.ADP -- Part of address IE.SDP -- DIC or the DPB is out is invalid of the space DPB size issuing image's Notes: ® VAX/VMS executes a Set Swap Mode system service on behalf the image issuing the ENABLE CHECKPOINTING directive. e The initial The requesting ® mode. state of an image image must have has the swapping of enabled. privilege to set its ' swap DIRECTIVE DESCRIPTIONS EXIF$ 4.3.13 IF EXIT The EXIT IF directive instructs the system to terminate execution of the issuing image if the specified event flag is not set. VAX/VMS returns control to the issuing image if the specified event flag is set. Macro Call: efn EXIFS efn Event flag number = DSW Return Codes: not exit IS.SET -- Indlcated event flag is set; image did «@%@g =3}; ““"%@m@w&k%@ é?:f@%f fifme \a 5 A wi X m@@i « W@ iswg»,@?‘z gfi@ Mfi&fm»wg»»”?? efi:‘g(i;\; RA ,g;z;fi 3 @ ( ’ / S §\3‘ 5\@( 4& %%fig\%?@%«yfiigvé ik gg‘%figf«g&@; 9* &gfiig‘& St g g @%2% %{ e f«s‘%’é«» % R S 3 A‘\&woN«Q" ! o %&8 $¢ Lot el s&by ;r*«:w::@zé’m:@z&z»fiwLS SRR ST iéé‘ &“&\’%f;fiw%%«fé@g@2*»:;= ffi «fl"‘@% (D S B eSO %»,*%f AT o‘”,z,»i&w ‘%\\%5 BT s S o Q;m‘éf’i}; ""”‘@”Z‘N‘;w«g«%e¥ E, ,;%%&%@Yo E;g& ’3 ?1» %\»fi@@%\w@wg xw “’9*,ég Ol 14 2 %3‘**" oe;64& ‘%\1@ ¥ o“*2:@&@ ’fg »; i ol ?oSit%f:;;}% @“\%@f SA$M~%”*‘* 5@%Méé%&aT o@\@os@%; 0g“i f%i%%”Rgs%»"2‘%‘3& o ‘%@‘} fiw» :2%yjfiéfi*“;2L%ok95;?éw f m«* \swsssfi LN .3wt« S *‘%Y R K BR "3%~§">«“’?“&b%‘imzfim%4«" SVgo6*Gs“% Mw»\i @*(o: T%‘%@‘**?;fi‘{’ALtyU 84Q;g&:%&:5: 1ssu1ng image's IE.ADP -- Part of the DPB is out IE.SDP -- DIC or DPB size address space is of the invalid Notes: VAX/VMS converts the RSX-11M event flag numbers to VAX/VMS The local RSX-11lM event flag numbers 1 numbers. flag event through through 32 become VAX/VMS local event flag numbers 32 flag numbers 33 through 64 The RSX-11M common event 63. become flag numbers 64 through 95 in a flag cluster VAX/VMS common event named RSXCOMEFN. Access to common event flags is protected by group number. An image that wants to use common event flags must have been The DSW status IE.IEF is returned if built with a task name. cluster flag event common a have not an image that does associated with it attempts to test flags 33 through 64. X e k! o I PRs}P ffi o e so(T fh‘?°2<»%&:% V”\ f\fé@ under: VAX/VNS, ! ;@» e‘g* §s~e fas %+b £ R ST§ S e W0 US NG % @%@i&fi@ ?‘afi“’& T B oy H @ifi» ; s S 4 BT ;;@»R & SR‘;&&%RK3USRS S i AR T W Ry SR AR*: Sy&i %@"&‘* B A R RS PUAERRSR & % gét 5, i g $ 5L ATe ML o DIRECTIVE DESCRIPTIONS EXITS 4.3.14 The the TASK EXIT TASK EXIT directive issuing image. Macro instructs the system to terminate execution of Call: EXITSS err [err] = DSW Return Error routine address Codes: IE.ADP IE.SDP ~-. Part of address -- DIC or the DPB is out is invalid of the issuing image's space DPB size Notes: ® A return to the rejected. ® VAX/VMS issuing executes an image. The image occurs only if the directive Exit system service on behalf success status is returned. of is the DIRECTIVE DESCRIPTIONS EXSTS 4.3.15 EXIT WITH STATUS The EXIT WITH STATUS directive instructs the system to terminate execution of the issuing image and to accept from the image a status code indicating whether the termination is normal or abnormal. Call: Macro sts EXSTS sts [,err] exit status = EX$SUC -- Normal termination EXSWAR -- Warning (RSX$_EXITSTATUS) (RSX$_EXITSTATUS) EXSERR --~ Abnormal termination (RSX$_EXITSTATUS) EX$SEV -- Severe error termination (RSX$_EXITSTATUS) err = Error routine address DSW Return Codes: IE.ADP -- Part of the DPB is out of the issuing IE.SDP -- DIC or DPB size address space image's is invalid Notes: e A return to the image occurs only if the directive is rejected. ® VAX/VMS executes an Exit system service status of the image. specifying the exit DIRECTIVE DESCRIPTIONS EXTKS 4.3.16 EXTEND TASK The EXTEND TASK directive the issuing task by a blocks. If the directive makes the Macro Call: issuing EXTKS inc image's Return size = or its initial size. reduced the size number is to of be Codes: IS.SUC =-- Successful -- The issuing to 1less completion -- image tried words or Part of the address -- DIC or image than library or IE.SDP to A positive or negative number equal to 32-word blocks by which the image IE.ALG IE.ADP equal [inc] extended DSW instructs the system to modify the size of positive or negative increment of 32-word does not specify an increment value, VAX/VMS to attempted the size increase Dbeyond the common block DPB is out is invalid base of size reduce its its space DPB to of size of the its header; the size or beyond lowest issuing the 32K mapped image's Notes: e An image cannot extend itself past its 65K byte address space or, if libraries or common areas are present, past the base of the ® An lowest mapped image section. can library or extend itself common block. to the base of its read-only DIRECTIVE DESCRIPTIONS GLUNS 4.3.17 GET LUN INFORMATION The GET LUN INFORMATION directive instructs the system to fill a 6-word buffer with information about a physical device unit to which a LUN is assigned. Macro Call: lun,buf GLUNS Buffer / Logical unit number = lun buf = Address of 6-word buffer that is to receive the LUN information Format: wWD. 00 WD. 01 WDb. 02 Name of assigned device FA ned device in the low-order byte. G e O 46756 Lol IRdicaEE Ie e ee First device characteristics word: Bit Bit Bit Bit 0 1 2 3 Bit 4 Bit 5 it --~ ---=-- : Bit 15 -- Record-oriented device (l=yes) [FD.REC]* Carriage-control device (l=yes) [FD.CCL] Terminal device (l=yes) [FD.TTY] Directory device (l=yes) [FD.DIR] Single directory device (l=yes) [FD.SDI] Sequential device (l=yes) [FD.SQD] P et AR el o R e e Ft At Device (1=yes) es-11 Device mountable WD. 03, 04 device (l=yes) iiconhtents: VM - 170 2Us; SErrapit RB e WD. 05 DSW Return IS.SUC IE.ULN IE.ILU IE.ADP IE.SDP Standard device buffer size Codes: -~~-- --- Successful completion Unassigned LUN 1Invalid logical unit number Part of the DPB or buffer image's DIC or address DPB size space is is out of the issuing invalid * Bits with associated symbols have the symbols shown in square brackets. These symbols can be defined for use by an image by means of the FCSBTS$ macro. See the IAS/RSX-11 I/0 Operations Reference Manual. 4-24 DIRECTIVE DESCRIPTIONS Notes: VAX/VMS executes a Get Channel Information system service on behalf of the image issuing the GET LUN INFORMATION directive. VAX/VMS converts the name and unit number of the VAX/VMS device to which the LUN is assigned to an RSX-11lM device name and unit number before returning the LUN information. To convert VAX/VMS from a VAX/VMS device subtracts the value name to representing the RSX-11M the ASCII form, character A (65) from the value of the ASCII character representing the controller letter and multiplies the result by 16 (decimal). It then adds the VAX/VMS unit number. The final result is an RSX~-11M unit number that name. For example, the the RSX-11M device name TTA2 to the device (for appended to device the 2-character name TTA2 device converts to TT2: Unit =((A - A) If is VAX/VMS TT2. example, to * which LP), intermediate device 16)+2 = the LUN VAX/VMS (for (0 is * 16) 2 assigned returns example, + the = is 2 a spooled characteristics device of the disk). Mailboxes have 16-bit unit numbers. The low-order 8 bits are returned by GET LUN INFORMATION in word 1. Mailboxes must be referred to using a logical name rather than using the unit number returned. DIRECTIVE DESCRIPTIONS GMCRS$ GET MCR COMMAND LINE 4.3.18 The GET MCR COMMAND LINE directive instructs the system to transfer an It is the command line 80-byte command 1line to the issuing image. in either MCR or DCL be can it result, a As image. the invoke to used format. Call: Macro GMCRS DSW Return Codes: +n -— Successful completion; n is the number of data bytes transferred, excluding the termination character. IE.AST -- IE.ADP ~-- IE.SDP =-- however, The termination in the buffer the No command line exists for is, character issuing image; by a requested not was image the is, that already command other than RUN or the image has issued the GET MCR COMMAND LINE directive Part of the DPB is out of the issuing process's address space DIC or DPB size is invalid Notes: e The system processes all lines to: -~ Convert tabs to a single space -—~ Convert multiple spaces to a single space -~ Convert lowercase characters to uppercase -— Remove all trailing blanks The terminator <CR> is the last character in the line. e The command line can be the result of the following user-issued DCL commands: Format $ MCR name command-string $ MCR MCR> name command-string Example $ MCR PIP LP:=MYFILE $ MCR MCR>PIP LP:=MYFILE types of DIRECTIVE The command line MCR commands: can be DESCRIPTIONS the result of he Format following types of Example >name command-string >PIP LP:=MYFILE >hame >PIP followed by prompt PIP> The command line received as a result of the GET MCR COMMAND LINE directive varies depending on the format of the command typed. If the command contains a command string, for example, LP:=MYFILE, image. string When DCL an or that string 1If no string is length of zero. image MCR), executes the and its supplied, as command a result line is length VAX/VMS of a are available returns RUN zero-length. to the a command command (either DIRECTIVE DESCRIPTIONS GPRT$ 4.3.19 GET PARTITION PARAMETERS The GET PARTITION PARAMETERS directive instructs the system to fill an does’ w;» . 1nd1cated“3-word/buffer¢w1thypa;t1;1qn parameters. giw§;§j”“’jgéw not have DRELItIons.THEISEOrY, g * *“g%;i;%g@@*f% : : ;‘%4’: @i% 1w f § Mw‘%@f@f%&&w@%fiww ?» R 5% @%m %Mw%z gl he e By i g Faitas L bl e s: EASR corucncd i e : foos g "%&fiii»@%‘%,«‘%fi, 7 AR Macro Call: [prt] ,buf GPRTS Partition name Address of a 3-word prt buf The buffer NPT o . has the . 5 . following w@s\ Py buffer format: L g S S B SRR S Flt ate e fifi%@gz@&w%%%fi%@”ww %w§«%§@§@%&»&§%%%$@2&%%1% e% o»é‘ ?5, g"”o é@“&g&gTR € z°<?@?@sféw;gg“ *\g‘%’s@}@@fi} ofiwfi&:&f m"‘“{é%”z‘%m,{;%f; 5% g w e;Sy el e e s »@;gQoWf?b: %5 i«?‘* ‘f Iy ' % o é\ «;“% i *WG o T R S e DU ”’WA oé{gg %& o 3:1; ‘”‘?‘ #"g‘%&‘&T %’\é’‘*g"* % ‘*“"?&’é“%’fi?f’i"“ i 59?3}’%‘ B S G g‘f’*f G We« q % @ss S SR 7 % $ : ; 7 s el el e %% &%%%%% éfiw@@ iféw%é %s“f %W%M%P%fiffi’? ?*y”%“’3%@‘%%%}; s%ag:?g@;gz%;g;@v@z s G P "’fgs» S fi%g gi%’ g St At i ig@“i’;@i B %%Ea ' f"{f{‘&% 4»@3‘,« 4 v%v ‘é:g\@fi%‘,«M \éio f M;, i 2 @ Wfi? e @?W gD ik ”"ss? g "gé? % “%’W? S R b T T WS . Y “xSheede elDl *‘9 5 u“«é:%;z 4 é’éu“ *‘”/'w ¥k rf o Ly T % *\9 o ; ; Wy«(\%Wkr{?%?%’ %‘f? éf,&é; %"?fé?m @#’ ¥ g f&fif‘i;@; ‘ € % Log i &"é@ R b e o G @»99»a‘ ey e SR g”?é%‘% ,. %@ o ko o) SN ety o o ooy g» X «7«3@, w.5égg’g’%%fié% ’}% 4’:; A<{ AT SN ”\ wg S m? Z‘?fB&3 e \g%‘{3“S 2‘S2\%2@e‘2G Q"‘%‘)fi%\{«g@ 4 g& {‘% 3 i &) r E L @V ; % %"W #00 Al L s e” t b do ‘\ R S %»&»é& \%’ G , emB *@«f« STe PR o Y et%f Sy S ”“f;\é}“’eV’}M@"@é‘fifi%e m@%f VIO Bl L : DSW Return Codes: Successful indicating completion is indicated a mapped system. IE.ADP -~ IE.SDP -- by carry clear Part of the DPB or image's address DIC or DPB size buffer space is invalid and $DSW equal is out of the to issuing O DIRECTIVE DESCRIPTIONS GTIMS 4.3.20 GET TIME PARAMETERS The GET TIME PARAMETERS directive instructs the system to £fill an indicated 8-word buffer with the current time parameters. All time parameters are delivered as binary numbers. The value ranges are shown in decimal below. Call: Macro GTIMS buf buf = Address of The buffer has the 8-word following WD. Year WD. WD. WD. Month (1-12) Day (1-31) Hour (0-23) WD. WD. P S WD (since Minute Seco i R @,@i SR e, 9 & s ¥ S format: 1900) (0-59) (0-59) 5 Pic P S s Tae o e E i SWD Bl T buffer SN PRI e N £y £ Lt P R A AT oIR i D, 0 B T fi%gi%@%%@gw&@@@@w@w 0 Weloe \ & S & S nd} 5 o, DSW Return Codes: IS.SUC IE.ADP ~--- IE.SDP -- Successful completion Part of the DPB or buffer is out of image's address space DIC or DPB size is invalid the issuing Notes: ® ® VAX/VMS executes a Get Time system service " issuing the GET TIME PARAMETERS directive. VAX/VMS provides a 100 tick-per-second clock. for the image DIRECTIVE DESCRIPTIONS GTSK$ GET TASK PARAMETERS 4.3.21 The GET TASK PARAMETERS directive instructs the system to fill an indicated 1l6-word buffer with parameters relating to the issuing process. Macro Call: buf GTSKS buf = Address of a l6-word buffer The buffer has the following format: w‘?é@??z%%%@ég%§m§%g§® %)\,& it RO :/\; ;" ",@@% Saliiby fi?fig %@ggé%fi@gg’%*@% ‘fé‘@%\gww Sl w( «-%Aggg 30 @ffi& S partation oy WD. - Undeflned Undefined f@@%fifi &“wgé D' L (fiw ) v;@ YOR I v£ WA '}?*\?wf“”e wD. 08 ~-- WD. WD. WD. WD. 09 10 11 12 ---~-- WD. 13 o 5 bt p. S i, Undefined Undefined Address of task SST vector tables Size of task SST vector table in words -- Size in bytes of image's address window excluding llbrarles ey and i common /&»@Q’s?@ N areas A DSW Return Codes: IS.SUC IE.ADP IE.SDP =-- Successful completion Part of the DPB or buffer image's DIC or address DPB is space invalid is out of the issuing DIRECTIVE DESCRIPTIONS MRKT$ 4.3.22 MARK TIME The MARK TIME directive instructs the system to set an event flag and/or declare an AST after an indicated time interval. The interval begins when the image issues the directive. If an event flag is specified, the flag 1is cleared when the directive is issued and set when the interval elapses. If an AST entry point address is specified, an AST occurs when the interval elapses. Macro Call: MRKTS$ efn tmg tnt ast [efn] ,tmg,tnt[,ast] = Event = Time interval magnitude Time interval unit (1 through AST entry point address flag number 4) DSW Return Codes: IS.SUC IE ITI --MQ@N’ &%& Successful completion Invalid time parameter @s«e*’*’@w i X W«ms“‘@ I gg&g @gg N“&ff ‘«» *\v@‘? @« 523 2@%Q, M BB o e, fi%a 2 @\v %@% ;&;“’g&?j@ 5ég&2»LoQ%‘m Pegdg % TogNP @%“w?\ @3 <e;< \' v ¢ @ w«fjjmgw%i“anse @ ted Q@ewft%xe‘%“@ Qwr "N W@“? w%m ¢ o o \:< v g )&@3“ R X i@ og A (< v c . «sg’?@agfiféy‘g\g@ it ;3\g@: §§i% «&s;@\ »%JR W o ) a8 et e, IE UPN -- Insufflclent dynami -- Part of address -- DIC or IEZNOB s Inage IE.SDP IE.ADP s quota ek the DPB is space DPB size Ce ded is out (5857 EXQUOT of SREEREES the age s invalid Notes: e VAX/VMS executes a Set Timer system service on behalf @ If an AST entry point address is specified, the AST service routine is entered with the stack in the following state: process . issuing the SpP+08,14 SP+06 SP+04 - SP+02 — DSW of SP+00 - - ¢ PS PC of MARK TIME directive. of of Event process process prior prior process prior flag specified number in The event flag number must be AST SERV1ICE EXIT dlrectlve 1s the or to to the AST AST to AST 0 (if none was MARK TIME directive) removed from executed. the stack before an DIRECTIVE DESCRIPTIONS VAX/VMS returns the DSW code IE.ITI if the directive specifies an invalid time parameter. The time parameter consists of two components: the time interval magnitude (tmg) and the time interval unit (tnt). A legal magnitude value (tmg) is related to the value assigned to the time interval unit (tnt). The unit values are encoded as follows: 1 = Ticks (1/100 2 = 3 = Minutes 4 = of a second per tick) Seconds Hours The magnitude (tmg) is the number of units to be clocked. The following 1list describes the magnitude values that are valid for each type of unit. 1In no case can the value of tmg exceed 24 hours. If tnt = 0, maximum of If tnt If tnt = 1, 15 or 2, tmg can be any positive value with a bits. 3, tmg can have 4, tmg can have a maximum value of a maximum value of 1440(10). 24(10). VAX/VMS converts the RSX-11M event flag numbers to VAX/VMS event flag numbers. The local RSX-11M event flag numbers 1 through 32 become VAX/VMS local event flag numbers 32 through 63. The RSX-11M common event flag numbers 33 through 64 become flag numbers 64 through 95 in a VAX/VMS event flag cluster named RSXCOMEFN. An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that does not have a common event flag cluster assocliated with it attempts to set flags 33 through 64. VAX/VMS enforces a quota can have pending. on the number of ASTs that a process ‘ DIRECTIVE DESCRIPTIONS Qlo$ 4.3.23 QUEUE I/0 REQUEST The QUEUE I/O REQUEST directive instructs the request for an indicated physical device system to place an I/O unit into a queue of priority~ordered requests for that device unit. The unit is specified as a logical unit number (LUN). physical device If the directive call specifies an event flag, VAX/VMS clears the flag when the request is queued and sets the flag upon request completion. The I/0 status block is also cleared when the request is queued, and set to the final I/O status when the I/O request is complete. If an AST service routine entry point address is specified, the AST occurs upon I/0 completion, and the process's WAITFOR mask word, PS, PC, DSW (directive status), and the address of the I/O status block are pushed onto the stack. Macro Call: QIOS fnc,lun, [efn], [pri],[isb],[ast] [,prl] fnc lun efn pri = = = = 1I/0 function code Logical unit number Event flag number Priority; ignored, but must be isb = Address ast prl = Address DSW Return of I/0 status present \ block of AST service routine entry point Parameter list of the form <Pl,...,P6> = Codes: IS.SUC -- Successful completion IE.ULN -- Unass1gned LUN &»‘*’ %"”\s LT»‘& s Rt *’«g@ fi;?*&mfl‘»o % y it ;9%‘;‘ o ek ‘f?\“> "’95’»@ \(‘ ‘3‘<3®§ %‘“‘”3” b‘‘@‘f@“N olevent s oy%sx s‘ O & ifla %fi, = %@ ono Ei&&%%fi» S Seriln i &&»\é\fix%«” %‘f"«*\«s\%@% R%,iy A g&w«».,mw%é?v% % "%@’%} %fix iniothe s %g% "‘&‘sg@ b $‘s“‘%é\g@;&% %‘fig»«;@@3« k)@;fl%:«; g 5 Sty o) e i G - @ 5 Sibeg i gt v 3 e Bi, ¢ 4,g{%}iy %‘*&N% ‘;; oy Ge g@%% AT o %*2%@%3% i % W&? f\&‘; m@»%g\i%@%yg\i IE.UPN IE.ADP IE.SDP ¢ S SR o éfi DAt of DPB §?§§$§§§§f§% L9 s -~ Insuff1c1ent memory -- Part -- issuing image's DIC or DPB size the or «;fi“v‘? 5%«,?2éw"‘égfi»2“«{“’eEP3&*’2; 3&‘@% 5 e &@“%%*& (SS$ I/O %fi‘;&“‘i@;@‘a15 5, «fi‘e ‘%QY?";‘;&*\\};’:@ el5LARNEER, &i‘*fi*@‘%&\WG Sl INSFMEM) status block is out of the address space is invalid Notes: ® VAX/VMS executes a Queue I/O Request system service on e Chapter of the status image 5 issuing explains block return the QUEUE I/0 REQUEST directive. function codes, values. parameter meanings, behalf and I/0 DIRECTIVE DESCRIPTIONS If the directive call specifies an AST entry point address, the process enters the AST service routine with the stack in the following SP+16 SP+06 SP+04 SP+02 SP+00 state: - - SP+10 - 0 PS of process prior to AST PC of process prior to AST DSW of process prior to AST Address of I/O status block, or 2zero was specified in the QIO directive. if none The address of the I/0 status block, parameter, must be removed from SERVICE EXIT directive is executed. which is a trap-dependent the stack before an AST VAX/VMS pushes four words of zeros RSX-11M pushes three words with l-word event flag mask. in SP+16 undefined through SP+10. contents and a If the directive is rejected, the specified event flag is not guaranteed to be cleared or set. Consequently, if the process indiscriminately executes a WAITFOR directive and the QIO directive 1s rejected, the process may wait forever. Care should be taken to ensure that the directive was successfully completed. VAX/VMS converts the RSX-11lM event flag numbers to VAX/VMS event flag numbers. The local RSX-11M event flag numbers 1 through 32 become VAX/VMS local event flag numbers 32 through 63. The RSX-11M common event flag numbers 33 through 64 become flag numbers 64 through 95 in a VAX/VMS event flag cluster named RSXCOMEFN. Access to common event flags is protected by group number. An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that does not have a common event flag cluster associated with it attempts to set flags 33 through 64. VAX/VMS enforces a quota on the number can have pending. 4-34 of ASTs that a process DIRECTI - DESCRIPTIONS VE Qlows$ 4.3.24 QUEUE I/O REQUEST AND WAIT The QUEUE I/O REQUEST AND WAIT directive is identical to QUEUE 1I/0 REQUEST with one exception: if the wait variation of the directive specifies an event flag, VAX/VMS automatically effects a WAIT FOR SINGLE EVENT FLAG directive. If an event flag is not specified, however, VAX/VMS treats the directive as if it were a QUEUE 1I/0 REQUEST. Macro Call: QIOWS fnc,lun,efn, [pri],[isb],[ast] [,prl] fnc = lun = I/0 function code Logical unit number efn = Event flag pri = Priority; isb = Address of ast prl number ignored, but must be present I/O status block = Address of AST service routine entry point = Parameter list of the form <Pl,...,P6> DSW Return Codes: IS.SUC IE.ULN -=~- Successful completion Unassigned LUN Invalid LUN o i3 _INSF IE.SDP -~ issuing image's DIC or DPB size or 1/0 status address space is invalid Note: ® VAX/VMS system executes a Queue I/0 Request and Wait for Event Flag service on behalf of the image issuing the QUEUE I/O REQUEST AND WAIT directive. ® See the notes for the QUEUE I/0 REQUEST directive. " DIRECTIVE DESCRIPTIONS RCVD$ 4.3.25 RECEIVE DATA A 2~-word sending process name in Radix-50 block are returned in a 15~-word buffer. form and the 13-word data . Call: Macro RCVD$ [tsk] ,buf ; T T o %%SW’" et My IE.ITS -~ IE.ADP -- IE.SDP -- L No data currently available in mailbox or no (default error) the DPB or buffer is out of the issuing address space DIC or DPB size is invalid mailbox Part of image's Notes: ® VAX/VMS executes a read Queue I/0 Request system service on behalf of the process issuing the RECEIVE DATA directive. The I/0 operation reads data from a mailbox associated with the process by VAX/VMS when it loads the image. e The name of the mailbox that is, RCVDname. e The mailbox is is not created RCVD followed by the process until the name, image actually begins to execute. ® Because protection is specified as read access for the owner (receiving process) and write access for the group (sending processes), this directive is useful only for passing data between processes within the same group. e The image issuing the receive directives must have a name specified at task build time; that is, the image label block must contain a task name. VAX/VMS uses the presence of the task name as an indication that the image may wish to receive data and sets up the necessary mechanism. - DIRECTIVE 4.3.26 RECEIVE DESCRIPTIONS DATA OR EXIT el 5 1 *%@%&%fi@gi85¢ EP A 2-word sending process name in Radix-50 block are returned in a 15-word buffer. Macro form and the L ¢ 13-word data Call: RCVXS$ [tsk] ,buf ‘%?/ggfh ,Q%gg@?ég»@w&@ W%gfi = AoG é“%@@,’awfl : 5% is out kslgie B 3 . &, g Successful - @&;}«‘;}s%@éww Part -- of S £ TR0 el §s§§<§ 2N o e Sie i ST o @:\s ‘g%& 3 e DPB or N buffer image's address space DIC or R %fii‘g& b ! it completi : e % ~éwé§§§%@0§@§§@%§§§£A IE.SDP g PR DPB size is a Queue I/0O MRy of the issuing invalid Notes: ® VAX/VMS executes Request system service and, 1if process by appropriate, an Exit system service on behalf of the process issuing the RECEIVE DATA OR EXIT directive. The I/O operation reads data from VAX/VMS when ® ® The name that is, of it a mailbox loaded the the mailbox is RCVD RCVDname. The mailbox is not created Because processes), this If no data is system SS$_NORMAL. The image specified contain task name and a is the useful same mailbox, the image. process does not receiver access for for the the group for image to owner (sending passing VAX/VMS The data executes exit exits with a an status directives must have a that is, the image label provide the same interlock as it does in RSX-11M. the name, actually begins uses the presence that the image may wish to necessary mechanism. the exists, the VAX/VMS up mailbox by only the name. the group. for sets If read access from indication ® as service task with image obtained an This directive sender and the no directive as ® the write issuing the receive at task build time; must data specified and processes within Exit ® is process) between @ protection (receiving followed until execute, ® associated image. name block of the receive between success is the status. DIRECTIVE DESCRIPTIONS RDAF$ READ ALL EVENT FLAGS 4.3.27 The READ ALL EVENT FLAGS directive instructs the system to read allin 64a event flags for the issuing process and record their polarity 64-bit buffer. (4-word) Macro Call: RDAFS$ buf The buffer has the following format: WD. WD. WD. WD. 00 01 02 03 =---=-- Local flags 1 through 16 Local flags 17 through 32 Common flags 33 through 48 Common flags 49 through 64 DSW Return Codes: IS.SUC =-- Successful completion IE.SDP -- DIC or DPB size is invalid IE.ADP -- Part of the DPB image's address \ or buffer is out of the issuing space Notes: e VAX/VMS issues a Read Event Flags system service on behalf o 5&;@5@;&?&;&%&% the image issuing the READ ALL EVENT FLAGS directive. # % «é’fi”@ S o B v e s»%z@”%gf@zg@ggfi%;%&%&@ i 2 o &Aj%y b ot o AN e of 2 e VAX/VMS converts the RSX-11M event flag numbers to VAX/VMS1 The local RSX-11M event flag numbers event £flag numbers. through 32 become VAX/VMS local flag numbers 32 through 63. The RSX-11M common event flag numbers 33 through 64 become flag numbers 64 through 95 in a VAX/VMS event flag cluster named RSXCOMEFN. e Access to common event flags is protected by group number. e An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that does not have a common event flag cluster associated with it attempts to read flags 33 through 64. DIRECTIVE 4.3.28 REQUEST QUEST tivei nstriuWdtaS A Rrtedods direc 10 »\@gfi;:&é e TS, »‘%.A@‘}ma S \ E S W e et N Omas e i Chapter services REQUEST Macro DESCRIPTIONS for is a §8 ToRa RS Ut e Y TRt L SLY an g 6 B T images. frequently used “v“%fl%‘%&?«%%@%’% /“ ‘?«:wg;“%@ g?:z%@%%%fi%‘é’ ! i 2 describes the use of real-time o thesy AR %«% L EwA ake NN m:toactivate ia e 8D G subset of the the i N Hibernate and RUN %7 s % hibernati 7 i OE Wake system directive. Call: ROST$ PYYE tsk,[prt],[pri][,ugc,umc] A ESKEIEL VA YNS SR T R Y g prt = pri ) » 45 0 S LT o T Y S s Y Partition name; = Priority; %93%} %‘%@ z&% %&Fifi@; AR v} Processiname O R, ee m,@% GUE % zg (Pg %z«g@gm@m £ySN G SRS 2% G ignored ignored sw;: 3%% &;é@x" i gi@ %%i:i%%l; ‘g ’#fiz ‘f‘g;; 3@43%%% 4 o L g Y & inin s Jume PEET = DICMembetcode s signored @ ME e 0g\;aw°\m Pt ,@2@%»@@ W DALEA BN DSW Return Codes: IS.SUC =-- Successful IE.INS -- Process IE.UPN -- Insufficient IE.ADP -- Part completion name not known (default FEENPRIG =PIV ege vislat o (858 S NOBRTYY dynamic memory (SS$ error) INSFMEM) @ (TEANOD: iRProdeesi s eXcecaed igu i isS Sot of the address IE.SDP -- DIC or DPB is out is invalid of the EXQUDIRY issuing space DPB size image's Notes: ® VAX/VMS process @ The that ® ® executes a Wake system service issuing the REQUEST directive. requested is, process must either hibernating currently or be on behalf present active. in of the system; The image issuing the REQUEST directive must be executing process that meets either of the following requirements: -- It is in the same group privilege. -- It has world have as the requested process and in a has privilege. VAX/VMS maintains requests group the an been indicator to issued for determine an whether active any process. wake If the pending wake indicator 1is set and the process issues a fiibeinale request, the process remains active, and the pending wake indicator is cleared. A subsequent hibernate request causes the process to hibernate. DIRECTIVE DESCRIPTIONS RSUMS$ RESUME 4.3.29 * ; > . b aers B GeU bk e R * d PE Lt LRli, Macro Call: RSUMS tsk ,gx Wekshay 0 DSW Return Codes: IS.SUC -- Successful completion IE.INS -- Process name unknown (default error) %@gPRITPr1v1lqge v1olat10n (SS$_]NQPRIV) 1'{ /. .v *i§§§§§o %;%@°§@ fi'figfxe 1 (859 EXQUOTAY Imaget s e OD TEN of the DPB is out of the 1ssu1ng image S IE.ADP -- Part IE.SDP -- DIC or DPB size is invalid address space Notes: e e VAX/VMS executes a system service behalf of The image issuing the RESUME directive must be executing in —- It is in the same group as the process to be has group privilege. ‘ resumed the a and It has world privilege. VAX/VMS maintains an indicator to determine whether any wake requests have been issued for an active process. If the wake pending indicator is set and the process issues a hibernate request, the process remains active, and the wake pending indicator 1is cleared. A subsequent request causes the process to hibernate. e on process that meets either of the following requirements: —— e Wake process issuing the RESUME directive. hibernate (SUSPEND) If a RESUME directive is issued for an image that is active, the status returned is success. The process remains active. DIRECTIVE 4.3.30 : DESCRIPTIONS RON & B Q@%& The schedule time is specified delta tlme from issuance. If the smg, rmg, and omitted, RUN is the same as REQUEST except that RUN to become active one clock tick after the directive Macro in terfifi rnt parameters are causes the process is issued. Call: RUNS tsk,[prt],[pri],[ugc],[umc],[smg],snt[,rmg,rnt] Sk TR A W@? %%{ a magnltude rnt DSW Return IS.SUC Schedule delta unit (either 1, Reschedule interval magnitude Reschedule interval unit = 2, 3, or 4) Codes: -- Successful completion- INSFMEM) IE. ITI IE.ADP -— Invalid time parameter -~ Part of the address IE.SDP -- DIC or DPB is out is invalid of the issuing space DPB size 1mage S Notes: ® VAX/VMS executes a Schedule Wakeup system the process issuing the RUN directive. service e The target system. The image e process ® process must issuing the that meets It is in the same group privilege. -- 1t worid present in the behalf RUN directive must be executing of the following requirements: either -=— has be on group as the process to be run and in of a has privilege. VAX/VMS maintains an indicator to determine whether any wake requests have been issued for an active process. If the wake pending indicator is set and the process issues a hibernate request, the process indicator 1is cleared. request causes the remains process A active, subsequent to hibernate. and the hibernate wake pending (SUSPEND) DIRECTIVE DESCRIPTIONS Time Intervals VAX/VMS returns the DSW code IE.ITI if the directive specifies time parameter. A time parameter consists of two the time interval magnitude (smg or rmg) and the an invalid components: time interval unit (snt or rnt). A legal magnitude value (smg or rmg) is related to the value assigned to the time interval unit snt or rnt. The unit values are encoded as follows: 1 = Ticks (1/100 of a second per tick) Seconds 2 = 3 = Minutes 4 = Hours The The magnitude is the number of wunits to be clocked. following 1list describes the magnitude values that are valid 1In no case can the magnitude exceed 24 for each type of unit. hours. any positive If unit = 0,1, or 2, the magnitude can be If unit = 3, the magnitude can have a maximum value of If unit = 4, the magnitude can have a maximum value of value with a maximum of 15 bits. 1440(10). 24 (10). in time from the The schedule delta time is the difference issuance of the RUNS$ directive to the time the process is to be run. clock This time can be specified tick to 24 hours. in the range from one DIRECTIVE 4.3.31 DESCRIPTIONS SEND DATA 0L When an event flag is indicated flag is set Macro specified in for the sending the SEND process. DATA directive, the Call: SDATS tsk,buf[,efn] A %’yw“ i G ; e ,,A% 5Wgz{«%%4 e BB % . g/ fn »m“m»*g"vi%»“’w&«wf\ Rl fl“‘»’“"’wf«%«gWM%é% s = dress of 13-word data buffer $ efn DSW Return = Event flag number Codes: IS.SUC IE.INS --- Successful completion Recelver process name “@z‘g&fig *w R G unknown %émfié Mg b@é@wBSS ZEXQUOT (default error) swz sufflclent memory (SS$ INSFMEM) ( \6« i9iTege ioTation (SSSTNORRIVY : UPN e 25@;\«*«&si“:m* w “ 45»*»"»”@“g«‘“2*: ;»z::% “‘”@@fi fiii“ V3{s"”&"’(3“Q Gfizfié i 3:% %¥»g,s »“‘»“’\\,p“‘g:ve4 4"’% “”% A“‘%’;“ &1 T St@fww ster e e i ¥ 5 4 v;% “‘é &6%\ %\»«6\\@ iy 7, f@gz % st 536”;9%{; {Z@ (\%‘Z&é& *«)\9 ,& 3 L % *§ Q‘ <‘§§«§§§ 6}\@\ o;?‘%j’ ;;Q& S i\»\»«*«{;z*&% i % ] g *fs Q&V“ %3 13 5 p? « i @\:@»‘4&A “ ;)\."?“w ew\é TPNy'»*@?'?E 55& S "\Yiy 2,v»«,«3"s el % “’&,&%%v, gl “*&g&sfisw‘m%«\m«\fs%«;\g SO ?’&W Q;sfi!»gf»;x»o‘*\Z%"‘v‘*Se e rer g A o‘”\fi»@g«g IE.ADP =-- Part 3?WDPB or data block is 3ut of b Eh m\fwvg%%‘%Z«s,‘% wfifisfis&g RN iy image's IE.SDP -- DIC or address DPB size space is invalid Notes: ® VAX/VMS executes a write Queue behalf of process issuing the I/0 operation writes to specified process name, e The sending process the mailbox ® e process because The target specified and a mailbox that must be is, in protection denies I/0 Request access the SEND named system service DATA directive. RCVD followed by on The the RCVDname. the same group allows the to world. the process must be executing at task build time; that as the group write an image that is, the image receiving access to had a label must task name block contain a task name. VAX/VMS uses the presence of the name as an indication that the image is going to receive data and sets up the necessary mechanism. An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that does not have a common event flag cluster associated with it attempts to set flags 33 through 64. DIRECTIVE DESCRIPTIONS SETF$ SET EVENT FLAG 4.3.32 The SET EVENT FLAG directive instructs the system to set an event flag and report the flag's polarity before it is set. indicated Call: Macro efn SETF$ efn Event flag number = DSW Return Codes: Flag was clear Flag was already set -IS.CLR I§stT -= i /V sa\2mg» iy \‘z%, «@m SRSy i £ W%@%‘{é@%@%@& RIS Nv @)g“ éwfigéw%% §’ $@°@&»v@@@x&@«»\ @D %@@&Qfi %%?e,%é% G b} " %fi :. o %ma) 4 f‘%m%fi%i f%.ADP -=""Part of the DPB is out of the 1ssu1ng IE.SDP -- address space DIC or DPB size is : invalid Note: e VAX/VMS executes a Set Event Flag system service on behalf the image issuing the SET EVENT FLAG directive. ® VAX/VMS converts the RSX-11M event flag numbers to VAX/VMS event flag numbers. The local RSX-11M event flag numbers 1 through 32 become VAX/VMS local flag numbers 32 through 63. The RSX-11M common event flag numbers 33 through 64 become flag numbers 64 through 95 in a VAX/VMS event flag cluster named of RSXCOMEFN. @ Access to common event flags e An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that is not associated with a common event flag cluster attempts to set flags is protected by group number. 33 through 64. DIRECTIVE DESCRIPTIONS SFPAS 4.3.33 SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST The SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST directive instructs the system either to -enable or disable delivery of floating point processor exception ASTs. When an AST service routine entry point address is specified, future floating point processor exception ASTs occur for the issuing process, and control is transferred to the indicated location at the time of the AST's occurrence. When an AST service entry point address is not specified, future floating point processor exception ASTs do not occur until the image issues a directive that specifies an AST entry point. Macro Call: SFPAS ast DSW Return [ast] = AST service routine entry point address Codes: IS.SUC IE.UPN IE.ITS IE.AST =-=-~--- IE.ADP ~- IE.SDP -- Successful completion Insufficient dynamic memory AST entry point address is already unspecified Directive was issued from an AST service routine or ASTs are disabled Part of the DPB is out of the 1issuing task's address space DIC or DPB size is invalid Notes: e SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST - requires dynamic memory. e VAX/VMS queues floating point processor exception ASTs when a floating point processor exception trap occurs for the task. No future floating point processor exception ASTs are queued for the process until the first one queued has actually been effected. e ‘ The floating point processor exception AST service routine entered with the task stack in the following state: is SP+12 - Event SP+10 - PS of SP+06 - PC of flag mask word task prior to AST task prior to AST SP+04 - DSW of task prior to AST SP+02 - Floating exception code SP+00 - Floating exception address The image must from the executed. @ remove stack the before floating exception code and an directive AST This directive cannot be issued when ASTs are disabled. SERVICE from an AST EXIT service address routine is or DIRECTIVE DESCRIPTIONS SPND$S 4.3.34 SUSPEND The SUSPEND directive instructs the system to place the process in a state of hibernation. An image can suspend only the process in which it is executing. The suspended process can be restarted by another process that issues a RESUME directive for it. Call: Macro [err] SPNDSS err DSW Return = Error routine address Codes: 1S.SUC -- Successful completion STEGINS S ProCe s hEEiNg IE.ADP IE.SDP -- -- Part of the DPB address space is out of the DIC or DPB size is issuing image's invalid Notes: ® VAX/VMS executes a Hibernate system service on behalf process issuing the SUSPEND directive. e A suspended process allocated to it. retains control of VAX/VMS makes no the system attempt to of the resources free these resources. ® VAX/VMS maintains an indicator to determine whether any wake requests have been issued for an active process. If the wake pending indicator is set and the process issues a hibernate request, the process remains active, and the wake pending indicator is cleared. A subsequent hibernate request causes the process e ® to hibernate. If a SUSPEND directive resume requests, -- The status -- The process -~ The wake the is issued by an following returned is occurs. image that has pending success. remains active. pending indicator is cleared. A process can be resumed only by specifying its process name; therefore, a process is not allowed to suspend itself unless it has a process name.’ DIRECTIVE DESCRIPTIONS SPRAS 4.3.35 SPECIFY POWER RECOVERY AST The SPECIFY POWER RECOVERY AST record either of the following: e That and power-recovery ASTs for the address to which to recovery ® That AST occurs power~-recovery ASTs desired When an power AST service recovery control to When AST an recovery routine ASTs occur the system to desired, powerfail the no entry point for the issuing address issuing process are is specified, process. VAX/VMS longer future transfers specified address whenever a powerfail recovery occurs. service entry point address is not specified, future power ASTs do not occur until an AST entry point is again Call: SPRAS [ast] ast DSW for instructs the issuing process are transfer control when a the specified. Macro directive = Return AST service routine entry point address Codes: IS.SUC -- Successful IE.ITS -- AST IE.AST -- Directive or IE.ADP -- entry ASTs Part of address IE.SDP -- DIC or completion point was address issued are disabled. the DPB is from is out is invalid of already AST the issuing space DPB size unspecified an service routine image's Notes: ® VAX/VMS executes a Set Power Recovery AST system service for the image issuing the SPECIFY POWER RECOVERY AST directive . ® ASTs are disabled executes. They while remain the AST disabled recovery until issues an AST SERVICE EXIT directive. @ The process enters the powerfail AST task stack in the following state: No SP+06,12 SP+04 - 0 P8 SP+02 - PC SP+00 —- DSW of trap-dependent of process of process process parameters service pricr prior to to prior accompany service the routine service routine routine with AST AST to AST a power-recovery therefore, the AST SERVICE EXIT directive can be executed the stack in the same state as when the AST was effected. ® This directive cannot be when ASTs are disabled. issued 4-47 from the an AST service : AST; with routine or DIRECTIVE DESCRIPTIONS SRDAS SPECIFY RECEIVE DATA AST 4.3.36 The SPECIFY RECEIVE DATA AST directive instructs the system to either of the following conditions: record That receive-data ASTs for the issuing image are desired, e and the address to which to transfer control when data has been placed in the image's mailbox - (RCVDprocessname) issuing That receive-data ASTs for the e task are no longer desired When the directive specifies an AST service routine entry point address, receive-data ASTs for the image occur whenever data has been VAX/VMS transfers (RCVDprocessname). placed in the image's mailbox control to the specified address. When the directive omits an entry point address, VAX/VMS disables receive data ASTs for the issuing image. Receive data ASTs do not occur until the image issues another SPECIFY RECEIVE DATA AST directive that specifies an entry point address. Call: Macro [ast] SRDAS ast AST service routine entry point address = DSW Return Codes: Successful completion I1S.SUC ~-- --- AST entry point address is already unspecified Directive was issued from an AST service routine IE.ADP -- Part of the DPB is out of the issuing image's IE.SDP -- IE.ITS IE.AST or ASTs are disabled space address DIC or DPB size is invalid Notes: ® The task enters the receive-data AST service routine with task stack in the following state: SP+06,12 - SP+04 SP+02 SP+00 the 0 - PS of process prior to AST - PC of process prior to AST - DSW of process prior to AST receive-data AST; No trap-dependent parameters accompany a the AST SERVICE EXIT directive must be executed therefore, with the stack in the same state as when the AST was effected. @ This directive cannot be issued from an AST service routine or when ASTs are disabled. ’ DIRECTIVE VAX/VMS use of implements the the SPECIFY RECEIVE DATA set AST enable message to the mailbox. mailbox, an AST is given by a Also subsequent refer DESCRIPTIONS to I/0O function When to the AST SERVICE Section DATA directive. QIO 4.3.25 a message image. The EXIT directive. for information AST for through an the unsolicited 1is sent to the AST is re-enabled on the RECEIVE DIRECTIVE DESCRIPTIONS SVDB$ SPECIFY SST VECTOR TABLE FOR DEBUGGING AID 4.3.37 The SPECIFY SST VECTOR TABLE FOR DEBUGGING AID directive instructs the system to record the address of a table of SST service routine entry points for use by an intra-image debugging aid (ODT, for example). To deassign the vector table, the parameters adr and len omitted are from the macro call. When an SST service routine entry is specified in both the table by used and the table used by a debugging !id, the trap occurs image the for the debugging aid, not for the image. Macro Call: [adr] [,1len] SVDBS$ adr len = = Address of SST vector table Length of (that is, number of entries in) the table in words The vector table has the following format: WD. WD. 00 01 ~--- 0dd address or nonexistent memory error Memory protection violation WD. 03 -- Execution of an IOT instruction WD. WD. WD. WD. WD. 02 04 05 06 07 =-- --- -- =-- T-bit trap or execution of a BPT instruction Execution of an illegal or reserved instruction Execution of a non-RSX EMT instruction Execution of a TRAP instruction Not used A table entry with a value of 0 indicates intend to process the corresponding SST. that the image does DSW Return Codes: Successful completion IS.SUC -- -- DPart of the DPB or table is out of the issuing IE.SDP ~-- DIC or DPB size is invalid IE.ADP image's address space not DIRECTIVE DESCRIPTIONS SVTK$ 4.3.38 SPECIFY SST VECTOR TABLE The to SPECIFY record SST VECTOR TABLE the address of a for use by the issuing image. To deassign the vector from the macro call. table, FOR TASK FOR TASK directive instructs table of SST service routine the parameters adr and len When an SST service routine entry is specified in both by the 1image and the table used by a debugging aid, for the debugging aid, not for the image. Macro the system entry points are the the omitted table used trap occurs Call: SVTKS [adr] [,1len] Address adr len The vector WD.00 WD.01l WD.02 WD.03 WD.04 WD.05 WD.06 WD.07 Length words table --------- has of of the SST vector (that is, following table number of entries in) the table format: 0Odd address or nonexistent memory error Memory protection violation T-bit trap or execution of a BPT instruction Execution of an IOT instruction Execution of an illegal or reserved instruction Execution of a non-RSX EMT instruction Execution of a TRAP instruction Not used A table entry with a value of 0 indicates to process the corresponding SST. that the image does not want ) DSW Return IS.SUC IE.ADP IE.SDP in Codes: --- Successful completion Part of the DPB or table -- image's address DIC or DPB size is space is invalid out of the issuing DIRECTIVE DESCRIPTIONS WSIGSS 4.3.39 WAIT FOR SIGNIFICANT EVENT WSIGSS err [err] Error = routine address DSW Return Codes: IS.SUC IE.ADP =--~ Successful completion Part of the DPB is out of the address IE.SDP -~- space DIC or DPB size is invalid issuing image's DIRECTIVE DESCRIPTIONS WTLOS 4.3.40 WAIT THE WAIT to @block FOR indicated it Macro OF flag EVENT EVENT gf from one of the 1 through 16 17 through 32 --- Flags Flags 33 49 not wait through through if the directive. directive issuing Flags Flags does FLAGS FLAGS the --- issues image instructs uftil the VAX/VMS following groups. system sets an 48 64 any of the indicated flags is already set Call: WTLOS grp,msk Desired group of event flags A 16-bit flag mask word grp msk DSW OR execution event process when LOGICAL the GR 0 GR 1 GR 2 GR 3 The FOR LOGICAL OR OF Return Codes: Successful comgleggon e ’%;i'i\‘*@’mafif%fiwf \ a::inticthe Bed 27%@é§®v oy "«‘:%f ézxg@ @ a@%“@ &@?m v IE ADP & %§géi gtit; @htl@3’1: '9"&?» Sl @’@@% M 5o @t % @fi%ywfi”@i@ Sover,mmoQ@ngg %%‘?gfie sws@g & é GiSEoess g%} -- Part of the address IE.SDP b% & e T 52 - 29 g td g 5%&@3@% % commo %:E&ffmmaim@w ‘not: f\@é\é&’v Hssa Chatediiiii s -- DIC or DPB is out is invalid for Loglcal of the issuing image's space DPB size Notes: ® VAX/VMS executes service on OF ® EVENT VAX/VMS event behalf FLAGS of the image OR of issuing the Event WAIT Flags FOR the RSX-11M event numbers. The local flag numbers RSX-11M event system LOGICAL directive. converts flag a Wait to flag OR VAX/VMS numbers 1 through 32 become VAX/VMS local event flag numbers 32 through 63. The RSX-11M common event flag numbers 33 through 64 become flag numbers 64 through 95 in a VAX/VMS event flag cluster named RSXCOMEFN. ® Access to ® Use common of task-built name ® using common event name. the event It DCL or flags is protected flags requires is suificient not MCR RUN the Lo by group 1mage number. to establish have a a process command. The DSW status IE.IEF is returned if an image that does not have a common event flag cluster associated with it attempts to wait for flags 33 through 64. DIRECTIVE DESCRIPTIONS WTSES$S WAIT FOR SINGLE EVENT FLAG 4.3.41 to block The WAIT FOR SINGLE EVENT FLAG directive instructs the dsystem flag is the execution of the issuing image until the indicate eventexecuti on image issued, is ve directi the when set is flag set. If the continues. Macro Call: efn WTSES$ efn Event flag number = DSW Return Codes: i ; frisc i ] fial b m?;%,@»; < Sirds S g S S L8 3 «@/gx@%&«@ it % .ADP ~-- IE.SDP -- Puig it g sty Bt el e S B S o <numbe 49 sl da 9 ok Y % I5 % AY L, £&:5 i 5] g 2l RS e e o e S BPOCEE RO A R Bl P RS R R i R IS ST S bies s $d $28 5 0 sl Sl & 2. &, s e LR Gt b x il e O > TRLS T 5 ~, Gig Q@;;’}?,:i@@%m@?}sfiswwéé i “ Vi Bl it N F o§§§§ v e i iy/L33 % o4range sithe 27104 55 Lot Yo et Co i 4 5 7 g S g @3@§@‘~@§'@ &5 i i3 el £ S Tha Gl e e Pl Bay s SR TG d eV el i A BTlGae s a:w e e NIR O o oo QA T s o »Qé"@@y T B eNk Sl j Part of the DPB 1is out : address space O the issuing . . 1mage’'s . 1 DIC or DPB size is invalid . . . . VAX/VMS executes a Wait for Logical OR of Event Flags system service for the image issuing the WAIT FOR SINGLE EVENT FLAG directive. e VAX/VMS converts the RSX-11M event flag numbers to VAX/VMS The local RSX-11M event flag numbers 1 event flag numbers. local event flag numbers 32 through VAX/VMS become 32 through The RSX<11M common event flag numbers 33 through 64 63. become flag numbers 64 through 95 in a VAX/VMS event flag cluster named RSXCOMEFN. e Access to common event flags is protected by group number. e An image that wants to use common event flags must have been built with a task name. The DSW status IE.IEF is returned if an image that is not associated with a common event flag cluster attempts to wait for flags 33 through 64. CHAPTER 5 I/0 DRIVERS VAX/VMS issuing images Queue consists @ e request services directly from I/O drivers and ACPs by I/O Request macro instructions. FEach macro instruction the following types of arguments. of An I/0 code Function-independent event ® function flag parameters, number Function-dependent parameters Pl for example, through I/0 channel and P6 VAX/VMS I/0 function code names have the following format. I0$_function Many function with them. codes have subfunction modifiers Subfunction modifier names have that the can be following associated format. IOS$M_subfunction The following modifiers. are examples of VAX/VMS function codes and subfunction I0$_WRITELBLK IO$_READPROMPT!IO$M_NOFILTR IOS_READVBLK I0$_DELETE!IO$M_DELETE When an RSX-11lM directive, executes a The I/O function I/0 a Queue I/O request is Usually, As image VAX/VMS 1is performed RSX-11M result, the I/O running Request a VAX/VMS the system processed by issues equivalent service by the on image VAX/VMS correspond to is not aware a QUEUE native behalf VAX/VMS standard requests RSX-11M systems. under determines of 1I/0 I/0 the system device driver similar VAX/VMS of any REQUEST function and image. and the or ACP. requests. differences in the However, if an image issues an I/0 request that depends on idiosyncracies of the RSX-11M I/O system that are not present in the VAX/UMS T/0 system, the reguected I/C cperation may not occur exactly as.expected. 1In that event, the user should consult the information in this chapter. Each RSX-11M I/0 function-independent When VAX/VMS receives equivalent VAX/VMS request consists of a function code, parameters, and function-dependent parameters. a QUEUE I/0 arguments for REQUEST directive, it forms the each RSX-11M parameter specified in the directive. Because VAX/VMS issues queue I/0 requests using VAX/VMS 1/0 system, it must convert RSX-11M queue I/0 requests to native format for processing by the appropriate driver or ACP. 5-1 the the I/0 DRIVERS VAX/VMS handling of RSX-11M function-independent parameters, for example, efn, 1lun, and ast, is described in Chapters 2 and 3 and Section 4.3.23, "QUEUE 1I/0 REQUEST." This chapter’ describes how I/0 function codes and I/0 function-dependent handles VAX/VMS parameters. 5.1 SUPPORTED DEVICES VAX/VMS supports RSX-11M I/0 functions for devices supported by both that is, for disks, terminals, line printers, RSX-11M and VAX/VMS; The VAX/VMS 1I/0 card readers, magnetic tapes, and the null device. User's Guide lists the devices supported by VAX/VMS. that If an RSX-11M image performs I/O to a device VAX/VMS does not support and that does not require special-case software, the I/O request is handled as if it specified a disk device. The I/0 function code and parameters (Pl through P6) are handled just as they are for No subfunction bits are used. disk. 5.2 GET LUN INFORMATION DIRECTIVE The GET LUN INFORMATION directive returns the same device-independent information under VAX/VMS as it does under RSX-11M Version 3.1. The format of the information returned for all devices is presented in the description of the GET LUN INFORMATION directive (Section 4.3.17). the of format the describes The VAX/VMS I/0 User's Guide device-dependent information returned. 5.3 STANDARD I/O FUNCTIONS The standard RSX-11M I/0 functions -- attach, detach, and cancel I/0; read and write virtual block; and read and write logical block -- are The sections that follow supported for all devices in VAX/VMS. provide additional information about attach, detach, and cancel 1/0. Attach and Detach I/0 Device 5.3.1 (IO.ATT and IO.DET) A nonshareable. VAX/VMS categorizes devices as shareable and for example, a disk, can be accessed by many users shareable device, Nonshareable devices, without affecting the integrity of the data. for example, terminals, allow access from only one process at a time. When an image assigns a channel to a nonshareable device, VAX/VMS 1In implicitly allocates the device for exclusive use by the process. Because the RSX-11M sense, it attaches the device for the process. VAX/VMS performs implicit allocation, images do not have to explicitly allocate and deallocate nonshareable devices during execution. If an image must have exclusive access device can be allocated to a in either of two ways. shareable device, the 1. By an image issuing an Allocate Device system service 2. By a user typing an allocate command to a command interpreter Use of the allocate command has an advantage over use of the Allocate Device system service. It eliminates the need for error recovery by the image if the device is not available for allocation. 5-2 I/0 DRIVERS Tasks to running prevent in RSX-11M frequently attach another task from using them. terminals These and devices other are devices shareable in an RSX-11M system. When an RSX-11M image running under VAX/VMS issues a QUEUE I/O REQUEST to attach a device, VAX/VMS performs no operation and returns a success status to the image. If the target device 1is nonshareable, VAX/VMS allocates the device when the image assigns a LUN to it. 1In effect, therefore, the device 1is attached. If the device is shareable, it remains unallocated after the directive status is returned. When an RSX-11M image requires allocation of a shareable device, the device must be allocated from a terminal or an indirect command file by using an allocate command. The RSX-11M function code IO.ATT and IO.DET have meaning for terminals under VAX/VMS, as described in Section 5.8, "Terminal Driver." For example, issuing an attach or detach causes a cancel CTRL/O function. 5.3.2 Cancel I/0 Requests (I0.KIL) When an RSX-11M image issues a kill I/O request for a VAX/VMS device, VAX/VMS- executes a Cancel I/O on Channel system service. This system service cancels all I/0 issued from the designated channel. This differs from the RSX-11M approach in that RSX-11M causes all I/0O from the issuing task to the device to be canceled. When a cancel 1I/0 request 1is issued for a disk device, no operation is performed. VAX/VMS returns a success status to the image. When the Cancel I/0 on Channel system service executes, the driver immediately. Queued I/O requests are canceled however, I/0 that the necessarily canceled. driver 1is currently 5.4 I/0 STATUS BLOCK AND STATUS RETURNS When the VAX/VMS status it notifies immediately; processing is not completes an I/0 operation, it returns a code indicating of the request in an I/0O status block. When an RSX-11M issues a request, VAX/VMS returns status information in an 1I/0 image status Figure block that has the standard RSX-11M 5-1. Word 0 Byte 1 Byte 0 0 ex.cept for Status code terminal read Word 1 Figure 5-1 Format of format, as illustrated in @« Number of bytes transferred RSX-11M I/O Status Block under VAX/VMS The return code can be IS.SUC or any of the error status codes listed in Table 5-1. The status code 1IS.SUC corresponds to the VAX/VMS status code SS$_NORMAL. VAX/VMS equivalents for RSX-11M error codes also are provided in Table 5-1. I/0 DRIVERS the in except zero The high-order byte of word 0 always contains a that request, read terminal a For requests. read case of terminal I/O byte indicates the line terminator, as described in 5.8.13, Section "Perminal Read Status Returns." The second word of the I/O status block contains the number of bytes read or written. Table 5-1 I/0 Status Return Codes RSX-11M Status Return Code Meaning Equivalent VAX/VMS Return Code is aborted. IE.ABO SS$_ABORT Operation IE.ALN SS$_FILALRACC File already is accessed. IE.BAD SS$_BADFILENAME The file name specified SS$_BADPARAM One of the function-dependent parameters Pl through P6 is invalid on a file operation. IE.BDR SS$_BADIRECTORY The directory specified IE.BHD SS$_BADFILEHDR The file header SS$_FILESTRUCT Invalid IE.BLK SS$_ILLBLKNUM Illegal block number specified. IE.BVR SS$_BADFILEVER The file version number IE.CKS SS$_BADCHKSUM Bad IE.CLO SS$_FILELOCKED File IE.DAA SS$_DEVALLOC is bad. is bad. is bad. file structure. is bad. checksum. is locked. Device is allocated to another process. IE.DAO SS$_BUFFEROVF The block of data being read has overs&lowed its buffer. o SS$_MBTOOSML Message is too big for the mailbox. is too large for buffer. SS$_DATAOVERUN Record IE.DFU SS$_DEVICEFULL The volume is full. IE.DNA SS$_DEVNOTALLOC The device is not allocated. IE.DNR SS$_DEVNOTMOUNT The device is not mounted. IE.DUP SS$_DUPFILENAME The file name supplied duplicates an existing file name. (continued on next page) I/0 DRIVERS Table 5-1 (Cont.) I/0 Status Return Codes RSX~-11M Status Return Code ‘ Equivalent VAX/VMS Return Meaning Code IE.EOF SS$_ENDOFFILE End IE.EOT SS$_ENDOFTAPE Physical reached. IE.EXP SS$_FILNOTEXP File has not expired. IE.HFU SS$_HEADERFULL The IE.IES SS$_BADESCAPE The data being read was terminated with an invalid of file file escape - has been reached. of tape has end header is full. sequence. IE.IFC SS$_ILLIOFUNC Function device. IE.LCK SS$_ACCONFLICT File access conflict. IE.NLN SS$_FILNOTACC File is accessed. IE.NOD SS$_EXQUOTA is illegal not The request one of the quotas, for attempted process's e.g., to The specified exist. file does SS$_NOMOREFILES No files IE.OFL SS$_DEVOFFLINE The device IE.PES SS$_PARTESCAPE Partial escape IE.PRI SS$_NOPRIV Process does IE.RER SS$_FCPREADERR IE.RSU SS$_ACCVIO remain. sequence. not have requested function. perform the the File control primitives incurred a read error. Mailbox is full. ALTempL L0 enable for IE.SPC not line. to another access SS$_FILENUMCHK off privilege when IE.SNC is exceed I/0 SS$_NOSUCHFILE additional the I/0 buffered limit. IE.NSF been File The mode more for CTRL/C privileged already has it. number image memory virtual check. attempted that enabled was address not to access in its space. (continued on next page) I/0 DRIVERS Table 5-1 (Cont.) I/0 Status Return Codes RSX-11M Status Return Code Meaning Equivalent VAX/VMS Return Code IE.SQC QS$_FILESEQCHK File sequence check failed. IE.TMO SS$_TIMEOUT Device timeout occurred. KE.WAT SS$_BADATTRIB IE.WER SS$_WRITERR File control primitives incurred a write error. IE.WLK SS$_WRITLCK The device IS.PND none Request pending. IS.SuC SS$_NORMAL Successful operation. File attribute descriptors bad. is write locked. are I/0 DRIVERS 5.5 DISK DRIVER Table codes 5-2 and provides the VAX/VMS disk correspondence between RSX-11M disk function codes and resultant actions. Table Disk 5-2 Function Code Function RSX~11M function Correspondence Code VAX/VMS Code or Action Attach Device IO.ATT No operation in VAX/VMS. Detach Device IO.DET No operation in VAX/VMS. Cancel I/O IO.KIL Cancel Requests I/0 on Channel system service. No operation for disks. Read Logical Block IO.RLB IO$_READLBLK' Write IO.WLB I0$_WRITELBLK IO.RVB I0$_READVBLK Read Logical Virtual Block Block Write Virtugl Block IO.WVB I0$_WRITEVBLK Read Physical Block IO0.RPB IO$_READPBLK IO.WPB IO$_WRITEPBLK Write Physical Block with deleted data mark IO.WDD Not Load I0.LOV Write Physical Block Overlay supported Special form in of VAX/VMS. IO.RLB performed only on OV: (overlay device). An IO.RVB Pack Acknowledge I0.STC Table Parameter Starting (staddy Buffer buffer size High block (bklh) Low block Function RSX-11M to OV. is performed not of RSX-11M 5-3 Correspondence Pn | VAX/VMS Pn Pl ’ (size) P2 P2 number P4 P3 (high P5 P3 (low half (blkl) assigned function-dependent Pl number address Parameter LUNs IO$_PACKACK Table 5-3 provides the correspondence parameters to VAX/VMS arguments. Disk on half of of longword) longword) I/0 DRIVERS 5.6 MAGNETIC TAPE DRIVER Table 5-4 provides the correspondence between RSX-11M magnetic tape function codes and VAX/VMS magnetic tape function codes and resultant actions. 5-4 Table Magnetic Tape Function Code Correspondence RSX~-11M Code VAX/VMS Code or Action Attach Device IO.ATT No operation in VAX/VMS. Detach Device IO.DET No operation in VAX/VMS. Cancel I/O Requests IO.KIL Cancel I/0O on Channel Read Logical Block I0.RLB I0$_READLBLK Write Logical Block IO.WLB IO$_WRITELBLK Read Virtual Block IO.RVB I0$_READVBLK Write Virtual Block I0O.WVB IO$_WRITEVBLK Write End-of-File Mark I0.EOF IO$_WRITEOF Read Logical Block IO.RLV IO$_READPBLK!IO$M_REVERSE Rewind Unit I0.RWD I0$_REWIND Rewind and Turn Unit I0.RWU I0$_REWINDOFF Mount Tape and Set Characteristics I0.SMO I0$_SETMODE. Parity and density are the charac- Function system service. Rever se Off Line teristics that can be set. Sense Tape Character- I0.SEC I0$_SENSEMODE Space Blocks I0.SPB I10$_SPACERECORD Space Files I0.SPF I0$_SPACEFILE Set Tape Characteristics I0.STC I0$_SETMODE. Parity and density are the istics characteristics that can be 5-8 set. I/0 DRIVERS Table 5-5 provides the correspondence parameters to VAX/VMS arguments. Magnetic Parameter Starting (stadd) Tape Table 5-5 Parameter Function buffer address of RSX-11M function-dependent Correspondence RSX-11M Pn VAX/VMS Pl Pl P2 P2 Characteristic bits (cb) of I0.SMO and IO.STC Pl Pl Number of blocks to Pl space Pl past (nbs) of Pl Pl Buffer size (size) IO .SPB Number of EOFs to space past (nes) of IO.SPF Pn I/0 DRIVERS 5.7 LINE PRINTER DRIVER Table 5-6 provides the correspondence between RSX-11M line printer function codes and VAX/VMS function codes or resultant action. Table 5-6 Line Printer Function Code Correspondence RSX~-11M Code | VAX/VMS Code or Action Function Attach Device IO.ATT No operation in VAX/VMS. Detach Device IO.DET No operation in VAX/VMS. Cancel I/0 Requests I0.KIL Cancel I/0 on Channel system Write Logical Block I0O.WLB I0$_WRITELBLK Write Virtual Block IO.WVB I0$_WRITEVBLK Write Physical Block I10.WPB I0$_WRITEBLK See See 5.7.1. Section 5.7.1. , service. of Table 5-7 provides the correspondence parameters to VAX/VMS arguments. Line Printer Section Table function-dependent RSX-11M 5-7 Parameter Correspondence Parameter Function RSX-11M Pn VAX/VMS Pn Starting buffer address Pl Pl P2 P2 P3 P4 (stadd) Buffer size (size) Vertical format control character (vfc) Programming Hints 5.7.1 ® VAX/VMS line printers are not shareable. e VAX/VMS line printers normally are spooled. allocates a line printer when a channel VAX/VMS is assigned. implicitly A spooled printer VAX/VMS does not allow a allocated to the print symbiont. is the has it unless device spooled a allocate process to privilege to do so. An RSX-11M image is not allowed exclusive use of a spooled device (for example, printer) unless the process in which it is running has the necessary privilege and the device reserve to the allocate command has been issued prior to image execution. I/0 DRIVERS If a printer I0.WLB and results as See allocated in the or not requests spooled, for it RSX-11M operating 3.10, "Spooled Devices," requirements for spooled device. issuing IO.WLB If Section is IO.WVB an RSX-11M image a spooled device, intermediate device. issues the a GET LUN the RSX-11M produce exactly the image's a discussion of same system. for and IO.WVB requests INFORMATION directive information returned is that for the to a for the I/0 DRIVERS 5.8 TERMINAL DRIVER 5-8 Table the illustrates of correspondence the RSX-11M through P6 to their VAX/VMS Pl parameters function-dependent the provides 5-9 Table devices. terminal for equivalents Table correspondence of RSX-11M function codes to VAX/VMS functions. 5-10 lists the subfunction bits applicable for each RSX-11M function provides notes describing VAX/VMS handling of these and code terminals. subfunctions for VAX/VMS places restrictions on the I/O functions that can be performed on TI, CO, and CL because they are mapped to process-permanent files. user—-created to I1/0 on restrictions same "Programming Hints," 5.8.15, Section files. the places It process-permanent describes these restrictions. Table Terminal Parameter 5-8 , Correspondence RSX~11M Pn VAX/VMS Pn Pl Pl P2 P2 P3 P4* P3 P3 P4 P5 for P5 P6 Vertical format control character (vfc) for read P6 none Parameter Function Starting buffer address (stadd) Buffer size (size) Vertical format control character (vfc) on write Timeout count read (tmo) on with prompt Prompt address (pradd) read with prompt Prompt size read (prsize) with prompt for with prompt P4 VAX/VMS For all read functions except IO.RPB and IO.RST, the * parameter specifies RETURN, ESCAPE, and CTRL/Z as terminators. For IO.RPB, no characters are terminators. For IO.RST, P4 is O specifying that all characters with a value less than an ASCII space are terminators except form feed, vertical TAB, backspace, delete, and TAB. I/0 DRIVERS Table Terminal Function Function Attach Detach Cancel Read RSX-11M Device Device Code | VAX/VMS IO.DET I/0 Requests Logical Virtual Correspondence IO.ATT Read Logical Block Write 5-9 Code IO.KIL | Block Block Code Terminal not cancel on write. next Terminal cancel on write, CTRL/O Cancel I/0 on system service. I0.RLB I0$_READLBLK I0O.WLB IOS$_WRITELBLK I0.RVB I0$_READVBLK Virtual Block IO.WVB I0S_WRITEVBLK Read Physical Block IO0.RPB I0S_READPBLK IO.WAL IO$_WRITEPBLK Pass All CTRL/O not detached. Forces next Channel Read Logical after Prompt Block I0.RPR I0S$_READPROMPT Get Multiple Characteristics SF.GMC Get I/0 Channel Information service. Set Multiple Characteristics SF.SMC I0$_SETMODE Get Support I0.GTS Standard Terminal NOTE The remaining device-specific function codes are the equivalent of the logical OR of a subfunction bit and one of the standard function codes IO.ATT, IO.RLB, or Bit IO.WLB. See Table Correspondence." 5-10, Action attached. Forces Write Write or "Subfunction data Device system returned. I/0 DRIVERS Table Subfunction 5-10 Bit Correspondence APPLICABLE SUBFUNCTION BITS X = Corresponds directly to VAX/VMS n = Indicates function., correspondingly-numbered note. EQUIVALENT WITH FUNCTION { SUBFUNCTION BIT | TF.AST|TF.BIN|TF.CCO}|TF.ESQ|TF.RAL| STANDARD TF.RNE|TF.RST|{TF.WAL| TF.WBT TF.%OF FUNCTIONS: IO.ATT 1 2 IO.DET IO.KIL IO.RLB 3 JIO.RVB 4 X IO.RPB X X IO.WLB X X 2 IO.WVB 4 IO.WPB DEVICE~-SPECIFIC IO.ATA FUNCTIONS: IO.ATT!TF.AST (see Note I0.CCO 2 1) IO.WLB!TF.CCO X 2 SF.GMC I0.GTS IO.RAL IO.RLB!TF.RAL (see Note TIO.RNE X IO.RLB!TF.RNE 3 I0.RPR 2 IO.RST X 3) 3 IO.RLB!TF.RST 2 3 SF.SMC IO.WAL IO.WBT I0.WLB!TF.WAL X IO.WLB!TF.WBT X (See Note NOTES: 2 X 2) 1. No 2. Subfunction bit attach performed. Enables ignored for CTRL/C ASTs for one of the Function TF.ESQ, TF.XON only. See Section 5.8.1. following reasons. Reason These are characteristics of the terminal line and cannot be controlled on a per-request basis. TF.WBT The write breakthrough function is not supported in VAX/VMS. See Section 5.8.8. TF.BIN 3. Sets the VAX/VMS 4. RSX-11M virtual Function is not function modifier supported in VAX/VMS. IOS$SM NOFILTR. See Section 5.8.4.1. functions do not accept these subfunction bits. I/0 DRIVERS 5.8.1 IO.ATT Function When an RSX-11M image performs no operation terminal, as described Device." to VAX/VMS does, cancel CTRL/O on issues an IO.ATT for a terminal, VAX/VMS to alter the attached/detached status of the in Section 5.3.1, "Attach and Detach I/0 however, the next issue a request operation to to the the terminal terminal driver if that operation is a write. The VAX/VMS terminal driver subfunction modifier to cancel CTRL/O is IO$M_CANCTRLO. The RSX-11M terminal driver also forces a cancel CTRL/O (TF.CCO) on a write operation that follows An an IO.ATT attach. function issued for TI, CO, or CL becomes a no-op. 5.8.1.1 enable IO.ATT!TF.AST and IO.ATA Functions - In VAX/VMS, an to receive an AST when a user presses CTRL/C at a the AST occurs, the image can respond to the CTRL/C. When image can terminal. The RSX-11M function codes IO.ATT!TF.AST and IO.ATA are equivalent. an RSX-11M image executing in VAX/VMS issues either of these codes, VAX/VMS issues a request to the terminal driver to enable the When image for operation ® ® a in CTRL/C two AST. This function differs from the RSX-11M respects: RSX-11lM enables for typed. VAX/VMS enables VAX/VMS retains -in a typeahead no read Terminal an AST if only any for a unsolicited CTRL/C character unsolicited input characters other buffer. Under RSX-11M, characters 1is outstanding. Driver chapter of For more the VAX/VMS is AST. than CTRL/C are lost if information, see I/0 User's Guide. the 5.8.1.2 IO.ATT!TF.ESQ Function - In VAX/VMS, certain features that are characteristic of a terminal 1line are set by issuing a set terminal mode request (IO$_SETMODE) to the driver. Terminal characteristics cannot be altered for the duration of an I/0 request by specifying a modifier to the request; nor can they be modified as a function of terminal allocation. The ability to recognize escape sequences must be on set a terminal using line is a characteristic IO$_SETMODE or a set command. of the terminal and In RSX-11M, the subfunction bit TF.ESQ is used with either of the attach function codes (IO.ATT or IO.ATA) to indicate that the image recognizes any escape sequences generated at the designated terminal. When from VAX/VMS receives an I/O request containing the TF.ESQ subfunction an RSX-11M image, it ignores that subfunction bit. The terminal characteristics remain unaltered. —-— [~ Ralo -5 oV vuvmf ~ multiple 5.8.2 Scguences, characteri stics an RGX-11M image should (SF.SMC). issue a set IO.DET Function When an RSX-11M image performs no operation terminal, as described Device." VAX/VMS does, to request cancel CTRL/O on issues an to alter IO.DET the for a terminal, VAX/VMS attached/detached status of the in Section 5.3.1, "Attach and Detach I1/0 however, issue a request to.the terminal driver the next operation to the terminal if that I/0 DRIVERS The VAX/VMS terminal driver subfunction operation is a write. The RSX-11M terminal modifier to cancel CTRL/O is IO$M_CANCTRLO. a write operation that on (TF.CCO) CTRL/O cancel a forces also driver follows a detach. An IO.DET function issued for TI, CO, or CL becomeé a no-op. IO0.KIL Function 5.8.3 An IO.KIL function issued for TI, CO, or CL becomes a no-op. IO.RLB, IO.RAL, IO.RNE, and IO.RST Functions 5.8.4 The function codes IO.RLB, IO.RAL, IO.RNE, and IO.RST all allow an image to read a logical block from a terminal. When VAX/VMS receives a read logical block request from an RSX-11M image, it 1issues an There is a direct I0$_READLBLK request on behalf of the image. RSX-11M function The BLK. IO$_READL and IO.RLB between dence correspon codes IO.RAL, IO.RNE, and IO.RST are the equivalents of the logical OR The following sections describe of I0.RLB and a subfunction bit. VAX/VMS handling of subfunction bits used with read logical block ‘ requests. 5.8.4.1 TIO.RLB!TF.RAL and IO.RAL - In VAX/VMS, the default terminal driver operation on a read request 1is to intercept and interpret TAB, control characters, for example, However, image native a two has CTRL/U, CTRL/R, options interception of control characters by the driver. for and DELETE. restricting the It can specify the subfunction modifier IO$M_NOFILTR on a read e (either function I0$_READPROMPT) CTRL/U, CTRL/R, to I0$ READLBLK, prevent” the or DELETE. driver I0$ READVBLK, from It can issue a read physical block (IO$_READPBLK) e or intercepting request prevent the driver from interpreting any characters. to Normally, an RSX-11M image that issues a read passing all data regquest actually of the possible control subset to receive only a RSX-11M image, it issues wants characters; that is, it wants to receive CTRL/U, CTRL/R, and DELETE. As a result, when VAX/VMS receives an IO.RLB!TF.RAL or IO.RAL request from an a IO$_READLBLK!IO$M_NOFILTR on behalf of the image. request specifying The VAX/VMS equivalent of the RSX-11M read passing all data function I0$ READPBLK corresponds is read physical block (IO$_READPBLK). directly to the RSX-11M function code IO.RPB. IDO.RPB has been added to the legal set of function codes that can be issued by an RSX-11M image to allow execution of the read passing all data function under An RSX-11M image that wants to perform a read passing all VAX/VMS. An data function under VAX/VMS must be modified to issue an IO.RPB. without runs system operating image issuing IO.RPB under the RSX-11M receiving an error; that is, IO.RPB is a legal function. I/0 DRIVERS NOTE In RSX-11lM, an I0.RPB request IO.RLB request with equivalent to subfunction an bit set. work both on IO.RAL VAX/VMS or the image to have the a IO.RPB and RSX-11M systems. VAX/VMS requires physical block. is appropriate privilege to read a 5.8.4.2 IO.RLB!TF.RNE and IO.RNE Functions The RSX-11M function codes IO.RLB!TF.RNE and IO.RNE are equivalent. Either one corresponds directly to the VAX/VMS function code I0$_READLBLK or I0$ READVBLK with a no echo function modifier (IO$M_NOECHO). - 5.8.4.3 IO.RLB!TF.RST and IO.RST Functions The RSX-11M function codes IO.RLB!TF.RST and IO.RST are equivalent. Either one corresponds directly to the VAX/VMS function code I0OS_READLBLK with a function modifier of IO$M_TRMNOECHO and a record termination parameter (P4) of 0. IOSM_TRMNOECHO prevents echoing of the line terminator. A record termination parameter of 0 causes all characters with a value less than an ASCII space to be terminators except form feed, vertical TAB, backspace, and TAB. 5.8.5 IO0O.RPR Function The IO.RPR function code corresponds directly to IOS$_READPROMPT function code. However, the RSX-11M (vertical control subfunction bits character) If an IO.RPR function to ignored. TF.RNE, and IO.RLB. VAX/VMS same as it is for subfunction bit TF.BIN. TF.XOF if it is specified. correspond is TF.RAL, process is does also VAX/VMS issued permanent for TI, files, 5.8.5.1 IO.RPRI!TF.XOF Function - In are characteristic of a terminal terminal mode request (IO$_SETMODE) CO, the handling IO.RPR is VAX/VMS parameter of the exactly the not support use of ignores the subfunction the bit or CL prompt and is these devices ignored. VAX/VMS, certain features that 1line are set by issuing a set to the driver. A subfunction characteristic to be changed. Terminal modifier indicates the characteristics cannot be by specifyving a modifier VAX/VMS TF.RST with the P6 altered for the to the regucst; duration of an I/O regquest ncr can they be modified as a function of terminal allocation. The ability to control XON/XOFF on a terminal 1line 1is a characteristic of the terminal and must be set using IO$_SETMODE. In RSX-11M, the subfunction bit TF.XOF is used with IO.RPR issue a to control XON/XOFF at the designated terminal. When VAX/VMS receives an I/0 request containing the TF.XOF subfunction from an RSX-11M image, it ignores that subfunction bit. The terminal characteristics remain unaltered. To control XON/XOFF, an characteristics request RSX-11M image (SF.SMC). should set multiple I/0 DRIVERS 5.8.6 IO.RVB Function VAX/VMS the The IO.RVB function code corresponds directly to for RSX-11M in supported are bits subfunction No I0S_READVBLK. IO0.RVB. 5.8.7 IO.RPB Function See the discussion of IO.RAL in Section 5.8.4.1. 5.8.8 I0O.WLB, I0.CCO, and IO.WBT Functions The function codes IO.WLB, I0.CCO, and IO.WBT all allow an image to When VAX/VMS receives a write write a logical block to a terminal. an issues it image, logical block request from an RSX-11M is a direct correspondence between There IO0OS$ WRITELBLK request. and I0.WLB and IO$_WRITELBLK. The RSX-11M function codes 1I0.CCO, IO.WBT are the equivalents of the 1logical OR of IO.WLB and a subfunction bit. The sections that follow describe VAX/VMS handling of subfunction bits on write logical block requests. 5.8.8.1 IO.WLBI!TF.CCO and IO.CCO Functions - The RSX-11M function Either one corresponds codes IO.WLB!TF.CCO and I0.CCO are equivalent. with a function function WRITELBLK 1IO$ VAX/VMS the to directly modifier of 5.8.8.2 through IO$M_CANCTRLO. IO.WLB!WBT and IO.WBT Functions - In VAX/VMS, the write break function is implemented using the Broadcast system service. IO.WLB!WBT or RSX-11M function codes As a result, neither of the When an IO.WBT corresponds directly to a VAX/VMS driver function. a issues VAX/VMS requests write break through, RSX-11M image A normal write logical block the driver. to I0$_WRITELBLK function function occurs. 5.8.9 IO.WVB Function VAX/VMS the The RSX-11M function code IO.WVB corresponds directly to VAX/VMS handles the subfunction bits I0$_WRITEVBLK. function code subfunction allowed with IQO.WVB in the same manner as it handles the I/0 operation is a write virtual resulting The IO.WLB. for bits block, however. Functions - The I0.CCO!TF.WAL and IO.WAL, 5.8.9.1 IO.WLB!TF.WAL, The RSX-11M function codes IO.WLB!TF.WAL and IO.WAL are eguivalent. RSX-11M function IO.CCO!TF.WAL adds the cancel CTRL/O subfunction to RSX-11M image issues a write all data an When request. IO.WAL an to request IO$_WRITELBLK!IOSM_NOFORMAT an issues request, VAX/VMS the to interpretation without transferred be to block data the cause specified buffer. VAX/VMS requires an image to have the appropriate privilege to write a to this privilege have image must RSX-11M An block. physical successfully issue an IO.WAL redquest. 5-18 I/0 DRIVERS 5.8.10 IO.WPB Function The RSX-11M function code IO.WPB function code IO$_WRITEPBLK. No 5.8.11 I0.GTS corresponds directly subfunction bits an RSX-11M 4-word buffer to the VAX/VMS applicable. Function VAX/VMS has no system generation options included in the terminal driver. When are image issues an information that control IO0O.GTS request, that describes of the features VAX/VMS returns a the VAX/VMS terminal driver features. Because these features cannot be altered, the same information always is returned. Table 5-11 lists the terminal support information returned under VAX/VMS. That information includes all of under RSX-11M with the following Word 0, Word bit 1 F1.BTW 2 14 Break Fl.BUF F1l.UTP bit 15 F1l.VBF Checkpointing during terminal input Input characters buffered in task's address space Variable-length terminal buffers Returned through write 5-11 Terminal Meaning Support When Set on long (IO.GTS) O 0 F1.ACR F1.UIA 4 Fl.CCO 5 F1.ESQ Automatic CR/LF lines Unsolicited-input-character AST Cancel CTRL/O before writing Recognize escape sequences in input 6 7 F1.HLD F1.LWC 8 9 10 Fl.RNE F1.RPR F1.RST 11 12 F1.RUB F1.S¥YN 13 F1.TRW Hold screen mode Lower-to-uppercase Read with no echo solicited conversion Read after prompting with special terminators CRT rubout CTRL/R terminal synchronization Read Read all and write all 1 0 1 F2.SCH F2.GCH Set characteristics QIO Get characteristics QIO Words 2 and 3 An Table by Get Mnemonic "~ 3 Word returned zero: bit bit Information Bit the features that can be exceptions, which are always IO.GTS Undefined in (SF.SMC) (SF.GMC) RSX-11M \ function issued for TI, CO, or CL returns no information. I/0 DRIVERS SF.GMC Function 5.8.12 When an RSX-11M image issues an SF.GMC request, VAX/VMS executes a Get Channel Device Information system service and returns the I/0 appropriate information to the RSX-11M image in the standard format. Table 5-12 lists the terminal characteristics that can be returned for SF.GMC requests. The RSX-11lM characteristic TC.PRI is never returned by VAX/VMS because VAX/VMS does not incorporate the concept of a privileged terminal. Table 5-12 Terminal Characteristics for SF.GMC and SF.SMC Requests RSX-11M Bit Name TC.ESQ Corresponding VAX/VMS Name Meaning if Set TM$M_ESCAPE Terminal can generate escape sequences TC.HLD Terminal is in hold screen mode TMSM_HOLDSCREEN TC.NEC Terminal is in no echo mode TMS$SM_NOECHO TC.SCP Terminal is a scope TM$M_SCOPE TC.SLV Terminal is slave TM$SM_NOTYPAHEAD TC.SMR Uppercase conversion is disabled TMS$SM_LOWER TC.TTP Terminal type None For the characteristic TC.TTP (terminal type), VAX/VMS always returns the value T.UNKO (octal 16) indicating that the terminal type is not An SF.GMC function known. issued for TI, CO, or when CL corresponds to a process permanent file becomes a no-op. 5.8.13 the device SF.SMC Function When an RSX-11M image issues an SF.SMC I0$_SETMODE request. Table function, VAX/VMS 1issues an provides the correspondence among 5-12 RSX—=11M terminal characteristics bit names and VAX/VMS subfunction modifiers used with the function code IO$_SETMODE. An RSX-11M image or cannot set terminal type (TC.TTP) using a SF.SMC function. A DCL when the device MCR SET command can be used to set the terminal type. An SF.SMC function issued for TI, CO, or CL corresponds to a process permanent file becomes a no-op. 5.8.14 Terminal Read Status Returns The content of an I/O status block used for terminal requests is the same as that used for all QIO operations except for terminal read operations. For terminal read operations, the high-order byte of the first word contains a code that indicates the character or sequence I/0 DRIVERS that terminated the can be returned. ® 5.8.15 read operation. Any one of IS.CR Read terminated by IS.ESC Read terminated by ALTMODE IS.ESQ Read terminated by - Other 0 Read Programming VAX/VMS terminator terminated See Section 3.10, requirements for If a following codes RETURN an escape sequence character by full buffer Hints terminals can spooled the be spooled. "Spooled issuing Devices," for IO.WLB and a discussion of IO.WVB reguests device. an RSX-11M image issues spooled device, the intermediate device, that TI, CO, and follows: to CL. map a GET LUN INFORMATION directive information returned is for is, for VAX/VMS RSX-11M Pseudo-Device process-permanent SYSSINPUT SYSSCOMMAND CL SYSSERROR files files VAX/VMS Process-Permanent TI they map to function codes are terminals. that can be forthe a disk. CO Process~permanent the to a controlled and as Files SYSSOUTPUT using VAX-11 VAX/VMS, therefore, used to access these RMS unless limits the I/O files to read and write functions only. All subfunction bits are ignored. Functions other than read and write are illegal and result in the I/0 status code IE.IFC (illegal function for this device) being returned. For RSX-11M appear When as process-permanent requests can The device -—- images, user-created record-oriented be files process-permanent unit recerd terminal -- 132-byte buffer -- carriage control -- no for files devices. map to TI, CO, terminals, queue issued. characteristics lowercase terminal and CL are as I/O follows: I/0 DRIVERS 5.9 CARD READER DRIVER Table 5-13 provides the correspondence between RSX-11M card functions and VAX/VMS function codes or resultant actions. Card Reader Function Table 5-13 Function Code Correspondence RSX-11M Code VAX/VMS Code or Action Attach Device IO.ATT No operation Detach Device IO.DET No operation Cancel IO.KIL Cancgl I/0 Request reader I/0 on Channel system service Read Virtual Block IO.RVB IOS$READVBLK Read Logical Block I0.RLB I0$_READLBLK Read Logical Block IO0.RBD IO$_READLBLK!IO$M_BINARY The two function-dependent parameters (Pl and P2) for RSX-11M card reader functions correspond directly to Pl and P2 of VAX/VMS card reader functions. I/0 DRIVERS 5.10 NULL DEVICE VAX/VMS supports the use of a null device by RSX-11lM images. As under RSX-11M, a read request to the null device results in an end-of-file status return (IE.EOF), and a write request results in success status return (IE.SUC). I/0 to the null device is treated like I/0 to an unsupported device as described in Section 5.1, "Supported Devices." I/0 DRIVERS 5.11 DISK AND MAGNETIC TAPE ACPs I/0 operations involving file-structured devices (disk and magnetic tape) often require ACP intervention. Normally, RSX-11M images perform I/0 using RMS-11 or FCS; they do not issue QUEUE I/O REQUEST directives directly to an ACP. Any ACP intervention needed 1is requested by RMS-11 or FCS and occurs transparently from the image's point of view. It 1is possible, however, for images to request ACP functions directly by issuing a QUEUE I/O REQUEST directive and specifying an ACP function code. The information in this section is relevant only to RSX-11lM images that issue ACP functions directly, for example, create file and enter file name. Other RSX-11M images running under VAX/VMS can rely on RMS-11 or FCS to request appropriate RSX-11M ACP functions during image execution. VAX/VMS ACP functions are expressed using six function codes and function modifiers. The six function codes follow. e IOf_CREATE -- Create file e IOS$S_ACCESS -- Access file e IO$ _DEACCESS e IOS_MODIFY -- Modify file e IOS$ DELETE e IOS_ACPCONTROL -- Deaccess ~- Delete three file file -- ACP control The three function modifiers, access, and delete functions, e IOSM_ACCESS -- Open e IOSM_CREATE -- e IOSM DELETE -- Delete which can follow. file on Create a be user's file applied to the create, channel identification file By using a function code and a function modifier together, an image can request multiple ACP operations in one I/0 request. For example, I0$_CREATE!IOSM ACCESS requests the ACP to create a file and to access the file on the specified channel. 1IOS$_DELETE!IOSM DELETE causes a file's directory entry and file header to be deleted; that 1is, the file 1is deleted. I0$_DELETE with no function modifier causes the file's directory entry In addition to identification to be deleted. function codes and modifiers, VAX/VMS ACPs use a file block (FIB) as the main means of communication between the requester and the ACP. The function-dependent parameter Pl for all ACP requests 1is the address of a descriptor for the associated FIB. The FIB contains much of the information passed to an ACP by an RSX-11M image in Pl through P6. Figure 5-2 illustrates a FIB. The VAX/VMS 1/0 User's Guide provides a detailed description of the contents of a FIB and describes the ACP functions supported by VAX/VMS. I/0 DRIVERS 31 24 23 16 15 8 7 0 | FIB$B_WSIZE FIBSL_ACCTL | 1 FIBSW_FID | FIBSW_DID | | FiB$L_wcCC | FIBSW_EXCTL FIBSW_NMCTL | FIBSL _EXSZ | | FIBSL_EXVBN | FIBSB_ALALIGN FIBSB_ALOPTS I | I FIBSW_ALLOC ] I I I Figure RSX-11M ACP 5-2 functions File are Identification expressed codes: e IO.CRE -- ® IO.ACR -- Access for read ® IO.ACW -- Access for write e IO.ACE ~-- Access for extend e IO.EXT -- Extend file e JIO.WAT -~ Write ® IO.RAT -- Read ® IJIO.DAC -- Deaccess ® IO.DEL -- Delete ® IO.FNA -- Find ®¢ IO.RNA -- Remove ¢ IO.ENA -~ Enter e IO.APC -- ACP Create file attributes attributes file file file name file name file control name using Block the Format following function I/0 DRIVERS request When an RSX-11M image issues an ACP issues an under ACP Queue I/0O Request system service. VAX/VMS, VAX/VMS the request It obtains the data to fill in the FIB and function-dependent parameters for from two sources: the Function-dependent parameters supplied by QUEUE I/0 REQUEST directive Data structures pointed to by for example, image function-dependent the file name block in the parameters, Once the requested function is performed, VAX/VMS fills in the RSX-11M data structures with the same information that is returned to image's the image when executing under the RSX-11M operating system. 5.11.1 General Correspondence of Parameters Table 5-14 identifies the relationship of RSX~11M function-dependent parameters to VAX/VMS function-dependent parameters and FIB fields. Table ACP Parameter RSX-11M Pn Parameter Function Fi;e identification 5-14 Correspondence Pl VAX/VMS Equivalent FIBSW_FID (value) (pointer) polnter P5 (reformatted) Attributé list pointer P2 Extend control P3 (high byte) Delta size in blocks P3 (low byte) FIBSW_EXCTL and P4 FIBSL EXVBN FIBSL_EXSZ extend Window size P5 (low byte) FIBSB_WSIZE Access control P5 (high byte) FIBSL ACCTL File name block pointer | P6 5.11.2 for truncate only or P2 for (name string) and P4 (result string) IO.CRE Function 1IO0$_CREATE!IOSM_CREATE Eqguivalent Function Code: Notes: If the extend size is supplied in the low byte of P4, it is stored in FIBSL_EXSZ. P3 and in I/0 DRIVERS ® The high-order byte of in FIBSW_EXCTL: FIB$V_EXTEND FIBSV_ALCON FIBSV_ALCONB FIBSV_FILCON FIBSV_ALDEF = = = = P3 (extend control) is used to set bits EX.ENA EX.ACl EX.AC2 EX.FCO = EX.ADF @ The file identification is copied from FIBSW_FID and in the address pointed to by P1 (FID pointer). e Information in the VAX/VMS attribute list is derived RSX-11M attribute list, if one is supplied. from ® The extend the I/0 and 5.11.3 IO.DEL with Equivalent size status in blocks block. is returned in bytes 1, 2, returned the 3 of EX.ENA=0 Function Code: IO$_DELETE! IOSM_DELETE Note: e 5.11.4 The file identification FIBSW_FID. I0.DEL with Equivalent Function pointed to by Pl is copied into to by Pl is copied into EX.ENA=1 Code: IOS$_MODIFY Notes: e The file identification FIBSW_FID. e FIBSV_TRUNC ® The e 5.11.5 is set in pointed field extend size supplied in incremented by 1 and stored FIB$W_EXCTL. the in low byte of FIBSL EXVBN. P3 and in P4 is The file round-up in blocks is returned in bytes 2 and 3 of the 1I/0 status block. File round-up is the number of blocks added to the specified file size to reach the next cluster boundary. I0.ACR Equivalent Function Function Code: IO$_ACCESS!IOSM_ACCESS Notes: @ The file identification FIBSW_FID. pointed to by Pl 1is copied into I/0 DRIVERS The high byte of P5 (access control) bits in stored in Information in the VAX/VMS attribute list is derived from RSX-11M attribute list, if one is supplied. the FIBSL ACCTL: FIBSV_NOWRITE = AC.LCK FIB$V_CURPOS FIB$V_UPDATE = AC.POS = AC.UPD FIBSV_REWIND is used to = AC.RWD The window size provided by the low byte of P5 is FIB$B_WSIZE. 5.11.6 set I0.ACW and IO.ACE Functions Equivalent Function Code: IO$_ACCESS!IOSM_ACCESS Notes: The file identification FIBSW_FID. The high byte of P5 pointed to (access control) by Pl 1is is used to copied set into bits in stored 1in from the FIBSL_ACCTL: FIB$V_DLOCK = AC.DLK FIBSV_REWIND FIB$V_CURPOS FIBSV_UPDATE = AC.RWD = AC.POS = AC.UPD FIBSV_NOWRITE = AC.LCK In addition, VAX/VMS sets FIBSV_WRITE. The window size provided by the low byte of P5 is FIBSB WSIZE. Information in the VAX/VMS attribute list is derived RSX-11M attribute list, if one is supplied. 5.11.7 I0O.DAC Function Equivalent Function Code: I0$_DEACCESS Notes: The file identification FIBSW_FID. pointed to by Pl 1is copied Information in the VAX/VMS attribute list is derived from RSX-11M attribute list, if one is supplied. into the I/0 DRIVERS 5.11.8 IO0.EXT Function Equivalent Function Code: IO$_MODIFY Notes: e The file identification FIB$W_FID. e The high byte FIB$W_EXCTL: of P3 pointed (extend = EX.ENA FIBSV_ALCONB FIB$V_FILCON = EX.AC2 = EX.FCO The extend size supplied stored in FIBSL_EXSZ. e The 5.11.9 amount and by 3 which of the is Pl is used to copied set into bits in P4 is = EX.ADF e 2, by = EX.ACl FIBSV_ALDEF 1, control) FIBSV_EXTEND FIB$V_ALCON to the I/O in the low byte of P3 file is extended is returned status and in in bytes block. IO.WAT Function Equivalent Function Code: IO$_MODIFY Notes: e The file identification FIBSW_FID. e Information RSX-11M 5.11.10 pointed to by Pl list is is copied * in the attribute VAX/VMS list, if attribute one is derived from into the supplied. IO.RAT Function Equivalent Function Code: IO$_ACCESS Notes: e e The file identification FIBSW_FID. Information RSX-11M 5.11.11 pointed in the VAX/VMS attribute list, if to by Pl attribute one is list is supplied. is copied derived from into the IO.FNA Function Equivalent Function Code: IO$_ACCESS Notes: e The file identification is copied in the address pointed to by Pl. ¢ The directory identification block into FIBS$W_DID. is from FIBSW _FID copied from and the returned file name I/0 DRIVERS The file name étring supplied in the request 1is from the Radix-50 file name in the file name block. If the bit resultant The type. block, and constructed a NB.WLV is set in N.STAT of the file name block, is constructed from the Radix-50 name and string version number is stored in N.FID+4 of the name is supplied as input to the IO$_ACCESS call.: zero of If NB.WLV is not set, a resultant string is length supplied. The file name string returned is the resultant string returned It is converted back by the Queue I/O Request system service. to Radix-50 and returned to the file name block. are Control bits in field N.STAT of the file name block to set bits of FIB$W_NMCTL: FIBSV_ALLNAM FIBSV_ALLTYP FIBSV ALLVER FIB$V:WILD used = NB.SNM = NB.STP = NB.SVR NB.SNM!NB.STP!NB.SVR The file name block field N.NEXT is used to set FIBSL_WCC. The resulting value of FIBSL WCC is returned in N.NEXT. 5.11.12 IO.RNA Function Equivalent Function Code: IO$_DELETE Notes: The file identification is copied from FIBSW_FID and in the address pointed to by Pl. The directory identification is block into FIBSW_DID. from copied returned file the name a block, If the bit NB.WLV is set in N.STAT of the file name from the Radix-50 name and is constructed resultant string name the of The version number is stored in N.FID+4 type. block, and is supplied as input to the IO$_ACCESS call. of =zero request is If NB.WLV is not set, a resultant string 1length is supplied. The file name string supplied in the constructed from the Radix-50 file name in the file name block.: The file name returned is the resultant string returned by the Queue I/0 Request system service. It is converted back to Radix-50 and returned to the file name block. Control bits in field N.STAT of the file name block to are used set bits of FIB$W_NMCTL: FIBSV_ALLNAM FIBSV_ALLTYP FIBSV ALLVER FIB$V:WILD = NB.SNM = NB.STP = NB.SVR NB.SNMINB.STP!NB.SVR The file name block field N.NEXT is used to set FIBSL WCC. The resulting value of FIB$SL WCC is returned in N.NEXT. 5-30 I/0 DRIVERS 5.11.13 IO.ENA Function Equivalent Function Code: IOS$_CREATE Notes: The file identification into FIBSW_FID. is copied The directory identification block into FIBSW_DID. The file from the is from the copied from file the name file block name name string supplied in the request 1is constructed Radix-50 file name in the file name block. The file name returned is the resultant string returned by the Queue I/O Request system service. It is converted back to Radix-50 and returned to the file name block. 5.11.14 IO.APC Equivalent Function Function Code: contains the IO$_ACPCONTROL Notes: P3 byte of P3 1is subfunction identification. zero-extended and stored at The low-order FIBSW_CNTRLFUNC, which overlays FIB$W_EXCTL. The RSX-11M ACP subfunction have direct equivalents in VAX/VMS, as follows. RSX-11M Subfunction FF.NV FF.POE FF.RWD FF.RWF FF.SPC VAX/VMS FIBSC codes Subfunction NEXTVOL FIBSC POSEND FIBSC REWINDVOL FIBSC REWINDFIL FIB$SC_SPACE For the FF.SPC subfunction, P4 is sign-extended and stored at FIBSL_CNTRLVAL, which overlays FIBSL _EXSZ. A negative value for P4 specifies the number of blocks to space backward. A positive value indicates the number of blocks to space forward. APPENDIX A VAX-11/780 COMPATIBILITY MODE INSTRUCTION SET Table A-1 lists the compatibility mode VAX-11/780 Table A-1 Compatibility Mode Opcode (octal) 000002 000006 0001DD 00020R 000240-000277 0003DD 000400-003777 100000-103777 004RDD .050DD .051DD .052DD .053DD .054DD .055DD .056DD .057DD .060DD .061DD .062DD .063DD 0065SS 0066DD 1065Ss 1066DD 0067DD 070RSS 071RSS 072RSS 073RSS 074RSS 077RNN .1SSDD .2SSDD .3SSDD .4SSDD .58SDD instruction set Instruction on Set Mnemonic RTI RTT JMP RTS Condition SWAB codes Branches Branches JSR CLR (B) COM (B) INC (B) DEC (B) NEG (B) ADC (B) SBC (B) TST(B) RCR (B) ROL (B) ASR (B) ASL (B) MFPI (See MTPI (See MFPD MTPD SXT MUL nIv ASHC XOR SOB MOV (B) CMP (B) BIT (B) BIC (B) BIS (B) ADD 16SSDD SUB below.) below.) (See note below.) (See note below.) ASH 06SSDD note note VAX-11/780. VAX-11/780 COMPATIBILITY MODE INSTRUCTION SET NOTE The MFPI, MTPI, MFPD, and MTPD, instructions execute exactly as they would on a PDP-11 in user mode with Instruction and Data space overmapped. the ignore More specifically, they PUSH like act and level access previous and POP instructions referring to the current stack. VAX/VMS provides emulation of the FPP floating point instructions. APPENDIX PARSE B DIRECTIVE The parse directive allows an RSX-11M image to wuse VAX/VMS file specifications that are not fully qualified because of the use of logical names. Use of this directive replaces the operation of the FCS .PARSE, .PRSDR, and .PRSDV routines and the RMS-11 SPARSE routine for RSX-11lM An RSX-11M issuing a images running in VAX/VMS. image requests the parsing of a parse directive that supplies the file specification by addresses of a file name default information. VAX/VMS block and data structures containing uses the information supplied by the image and information contained in the RSX-11M logical name table and the system logical name table to build the primary and default strings that VAX-11 RMS requires to perform the actual parsing. VAX-11 RMS returns the expanded name to VAX/VMS. VAX/VMS, 1in turn, uses the expanded name to fill in the appropriate RSX-11M data structures, for example, returned directory string and file name block. The result is that the image receives the information in the normal RSX-11lM formats. The image can request four full different file types of parsing: @ Parsing of the specification @ Parsing of the device ® Parsing of the file name using the default the major source of input (dfnb mode) ® RMS-11 mode name only (normal mode) (device-only mode) file name block as of parsing B.1l NORMAL MODE PARSING When the mode parameter is equal to 0, VAX-1ll RMS parses the full file specification. VAX/VMS builds the primary string required as input VAX-11 RMS by concatenating fields of the dataset descriptor, to as follows: @ Device e Directory e Filename.type;version It builds block and @ the default string from fields of the default £file from the default directory descriptor, as follows: Device from the LUN or default file name block name PARSE Default e directory from DIRECTIVE ‘the image's default directory descriptor Filename.type;version from the default file name block e VAX-11 RMS returns to the RSX-11M image a filled-in file name block The directory and directory string descriptor in the file name block. string is returned at the address specified in the descriptor. B.2 DEVICE-ONLY PARSING VAX-1l1l RMS parses only the When the mode parameter is equal to 1, It uses the device and directory portion of the file specification. a for does it as strings default and primary the for same sources normal parsing operation. B.3 DEFAULT FILENAME BLOCK PARSING When the mode parameter is equal to 2, VAX/VMS uses the Radix-50 name in file the default file name block to build the ASCII file name for the primary string. For the default string, VAX/VMS takes the device name from the default from the default takes the directory name It file name block. from the version and type, name, file the and descriptor, directory default file name block. The DSW return codes for default file name block parsing are the same as for normal mode parsing. B.4 RMS-11 MODE OF PARSING VAX-11 RMS parses the file When the mode parameter is equal to 3, The format for same method used by RMS-11. the specification using the DPB is slightly different from that used for modes 0, described B.5 below. DIRECTIVE CALL AND DPB FORMATS The parse directive is called using DIR$, as follows: DIRS #pardpb The DPB has the following format for modes 0, 1, and 2. pardpb: .BYTE 145.,7 .WORD .WORD .WORD .WORD mode 1lun dspt dfnb .WORD .WORD .WORD dfdd fnb rtdd 1, and 2, as PARSE mode = 0 for normal parsing RMS-1]1 DIRECTIVE mode, using mode. See parsing file device name sections = logical unit number. dspt = address of the data dfnb = address of the default dfdd = address of the descriptor for the string. See the first note below. fnb = address of the file rtdd = address of the descriptor has the pardpb: See following the format .BYTE 145.,7 «WORD mode .WORD .WORD +WORD pript did name for follow for 3 for for a descriptor. name first 2 or block. directory returned directory block. for note mode default the below. 3. lun .WORD .WORD 0 fnb .WORD expnam ;this The definitions of mode, lun, DPB format provided above. and word is fnb are ignored. the same as those pript = address of the primary input descriptor. did = address of the default input descriptor. expnam = address to DSW Return set only, block, that lun string. DPB for the description. The 1 default of the descriptor for return the expanded name. the block for the in which (default error) Codes: IS.SUC IE.BAD ~--- Success 1Invalid IE.NSF -- Directory mode missing not found or bad parameter (RMS$_DNF) IE.BDI -- Bad directory syntax IE.BNM -- Bad file (RMSS_ (SYN, FNM,LNE, TYP,VER) ) name IE.DNR ~- Device not ready IE.DUN -- Device not available IE.NSF ~-- File IE.BDV ~-- Bad (RMS$S_DIR) (RMS$ _DNR) (RMS$ _CHN) found (RMSS$ _FNF) device specification (RMSS _DEV) not Notegc: ® All the descriptor input parameters must following format. .WORD size .WORD address RSX-11M using code does this to VAX/VMS not determine and support directive take this can whether it appropriate be a 2-word directive. test is for an An action at RSX-11M illegal executing run under time. block with image directive DSW RSX-11M or INDEX A Cancel Wakeup 4-14 Abnormal 2-11 image Abnormal termination of images, termination, BASED RSX-11M 2-11 ABORT TASK directive, ABRTS directive, 4-8 ALLOCATE emulation command, Allocate Device 3-4 Allocation, 5-2 implicit, 5-2 2-3, 4-8 CANCEL TIME INITIATION 5-8 magnetic system service, 5-8 (SF.GMC and SF.SMC), 3-6 assignment of, 3-6, 2-8, CLEAR EVENT 4-9 FLAG system service, 4-12 emulation of CLEAR EVENT FLAG directive, (ACPs), 3-4, 5-24 functions, 3-11 Assign I/O Channel system service, 3-3, 4-10 Co, assignment of ASSIGN LUN 4-10 of, COMMON, 2-9 Common areas, 3-6, Compatibility mode AST Condition handling, set, EXIT directive, 4-11 ASTXS directive, 4-11 Attach I/O device (IO.ATT), 1-1, and Map service, 4-6 swapping, WINDOW directive, CREATE 2-7 Section and I/0O on Channel service, Cancel 3-4, REGION directive, CSRQ$ directive, DECLS directive, (IO.KIL), DECLARE 5=3 CANCEL MARK TIME directive, CANCEL REQUESTS INITIATION directive, DETACH 2-3, Device REQUESTS directive, 4-15 SIGNIFICANT EVENT REGION directive, allocation, Device assignment, Cancel Timer Request system service, 4-13 emulation of CANCEL MARK TIME 4-6 4-14 directive, 2-8, 4-15 Detach I/O device (IO.DET), 5-2 4-13 TIME BASED REQUESTS 4-14 I/0 D system 5-3 I/0 request Assign system service, C Cancel system 2-9 Mailbox Channel 3-3 set 2-11 1-5 4-6 Create Balance instruction A-1 CREATE ADDRESS Create directive, 3-8 2-9 Control region, 5-2 REGION 4-12 CLEF$ directive, 4-12 Clock, system, 2-8 CMKTS$ directive, 4-13 ASSIGN LUN directive, 2-14, 3-6, 4-10 Assignment of devices, 3-6 ATTACH 3-8 CLEAR EVENT FLAG directive, 4-12 ALUNS directive, 4-10 Ancillary control processes SERVICE REQUESTS ' tape, terminal 5-20 CL, 4-9 ALTPS directive, directive, of service, directive, 4-14 Channel, 3-3 Characteristics bit handling, 5-2 ALTER PRIORITY directive, emulation system CL, 4-13 3-6, 3-8 co, 3-6, 3-8 TI, 3-6, 3-8 Device Index-1 3-4 3-6, attachment, 3-4 4-6 4-10 INDEX Directives 3-8 ASSIGN LUN directive, 4-10 sp, sy, WK, 3- O ov, 00 00 LB, wWwww GET LUN information directive, 4-25 3-8 Device-independent 1/0, Devices supported, 5-2 3-1 summary of, 4-5 MAP ADDRESS WINDOW, 4-6 MARK TIME, 2-8, 4-31 QUEUE I/0 REQUEST, 2-14, 3-4, 3-11, 4-33, 5-1, 5-3 QUEUE I/0 REQUEST AND WAIT, 2-14, 4-35 RECEIVE DATA, 2-14, 4-38 3-9, 4-36 RECEIVE DATA OR EXIT, ALTER PRIORITY, 2-8, 4-9 ASSIGN LUN, 2-14, 3-6, 4-10 AST SERVICE EXIT, 4-11 ATTACH REGION, 4-6 CANCEL MARK TIME REQUESTS, 4-13 CANCEL TIME BASED INITIATION REQUESTS, 4-14 CLEAR EVENT FLAG, 4-12 CONNECT TO INTERRUPT VECTOR, 4-6 CREATE ADDRESS WINDOW, 4-6 CREATE REGION, 4-6 DECLARE SIGNIFICANT EVENT, 2-8, 4-15 DETACH REGION, 4-6 DISABLE AST RECOGNITION, 4-16 DISABLE CHECKPOINTING, 2-7, 4-17 ELIMINATE ADDRESS WINDOW, 4-6 emulation of, 1-3 ENABLE AST RECOGNITION, 4-18 ENABLE CHECKPOINTING, 2-7, 4-19 summary of, 4-3 EXIT IF, 4-20 EXIT WITH STATUS, 4-22 EXTEND TASK, 4-23 GET LUN INFORMATION, 2-14, 3-4, 4-24, 5-2 GET MAPPING CONTEXT, 4-6 GET MCR COMMAND LINE, 4-26 GET PARTITION PARAMETERS, 2-7, interprocess communications, READ ALL EVENT FLAGS, Devices, 5-2 shareable, 5-2 Directives, 4-8 ABORT TASK, 4-8 event-associated, (Cont.), INHIBIT AST RECOGNITION, 4-16 4-28 GET REGION PARAMETERS, 4-6 GET SENSE SWITCHES, 4-6 GET TASK PARAMETERS, 2-2, 4-30 GET TIME PARAMETERS, 2-8, 4-29 I/0, summary of, 4-5 informational, summary of, 4-2 2-14, 3-9, 4-37 REQUEST, 2-10, 4-39 RESUME, 2-10, 4-40 RUN, 2-8, 2-10, 4-41 SEND DATA, 2-14, 3-9, 3-11, 4-43 SET EVENT FLAG, 4-44 SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST, 4-45 SPECIFY POWER RECOVERY AST, 4-47 SPECIFY RECEIVE DATA AST, 4-48 SPECIFY RECEIVE-BY-REFERENCE AST, 4-6 SPECIFY SST VECTOR TABLE FOR DEBUGGING AID, 4-50 SPECIFY SST VECTOR TABLE FOR TASK, 4-51 SUSPEND, 4-46 task execution control, summary of, 4-5 TASK EXIT, 2-10, 4-21 trap-associated, summary of, 4-4 UNMAP ADDRESS WINDOW, unsupported, 4-6 4-6 use restricted by protection, 2-2 WAIT FOR LOGICAL OR EVENT FLAGS, 4-53 WAIT FOR SIGNIFICANT EVENT, 2-8, 4-52 WAIT FOR SINGLE EVENT FLAG, 4-54 DISABLE AST RECOGNITION directive, 4-16 DISABLE CHECKPOINTING directive, 2-7, 4-17 Disk driver, IO.ATT, 5- IO.DET, 55- I0.KIL, I0.LOV, Index-2 5- 5-7 NN Device name mapping, (Cont.) INDEX Disk driver (Cont.) F (Cont.), IO.RLB, 5-7 IO.RPB, 5-7 IO.RVB, IO.WDD, IO.WLB, I0O.WPB, IO.WVB, Drivers, FCS (file control services), 3-1, 3-6 FCS spooling, 3-11 File identification block, 5=25 format, 5-25 Floating point instructions, emulation of, 1-4 5-7 5-7 5-7 5-7 5-7 5-7 card reader, 5-22 disk, 5-7 line printer, 5-10 magnetic tape, 5-10 null device, 5-23 DSARS directive, 4-16 DSCP$ directive, 4-17 DSW return codes, 2-6, Force directive, ENABLE see G GEN partition, GET GET Get TASK PARAMETERS, PARAMETERS, Channel 4-30 Information system service, 3-4, 4-25 emulation of GET LUN INFORMATION directive, 4-25 4-18 4-19 GET LUN codes GET MAPPING CONTEXT directive, INFORMATION directive, 2-14, Error status returns (IOSB), 5-3 Event flag clusters, 2-4 common, 2-4 local, 2-4 protected by group number, 2-4 Event—-associated directives, 4-3 EXSERR (error), 4-22 EXSSEV (severe error), 4-22 EX$SUC (normal), 4-22 EXSWAR (warning), 4-22 EXIFS$ directive, 4-20 EXIT IF directive, 4-20 Exit system service, 4-20 emulation of, EXIT IF directive, 4-20 4-37 3-4, 4-24 4-6 GET MCR COMMAND LINE directive, 4-26 GET PARTITION PARAMETERS directive, GET GET 2-7, 4-28 REGION PARAMETERS tive, 4-6 SENSE SWITCHES directive, GET TASK PARAMETERS directive, 2-2, GET TIME 4-30 PARAMETERS 2-8, 4-29 Global sections, permanent, directive, 2-9 2-9 protection by group, temporary, 2-9 use for commons and 2-9 GLUNS directive, 4-24 TASK EXIT directive, 4-21 EXIT WITH STATUS directive, 4-22 GMCRS$ directive, GPRTS$ directive, 4-26 4-28 EXITS$ directive, 4-21 EXTEND TASK directive, GTIMS GTSK$ directive, directive, 4-29 4-30 4-23 direc-— 4-6 DATA OR EXIT directive, 4-28 PARTITION 4-28 codes, RECEIVE I/0 function codes WINDOW CHECKPOINTING directive, DSW return 4-8 Function~-dependent parameters, 5-1 4-18 2-7, 4-19 ENARS directive, ENCPS$ directive, Error see 4-7 RECOGNITION directive, service, for physical device name mapping, 3-7 Function codes, directive, 4-6 Emulation of directives, 1-3 Emulation of floating point instructions, 1-4 ENABLE AST system Formula E ELIMINATE ADDRESS Exit emulation of ABORT TASK Index-3 2-9 libraries, INDEX H HALT instruction, Hibernation, (Cont.) IO0.KIL, 3-4, 5-3 disk, 5-7 line printer, 5-10 magnetic tape, 5-8 I0.LOV (disk), 5-7 I0.RAL (terminal), 5-16 1-2 2-10 IO.RAT (ACP), 5-29 I0.RLB, I/0 I/0 I/0 I/0 channel, 3-3 directives, 4-5 drivers, 3-4, 5-1 function codes (standard), 5-2 IO.ATT, IO.DET, I0.KIL, 5-2 IO.RNE (terminal), 5-17 5-2 I0.RPB, 5-3 disk, 5-7 terminal, 5-18 IO.RPR (terminal), IO.RST (terminal), 5-17 5-17 of, 5-4 Image termination, 1-4 disk, 5-7 magnetic tape, 3-2 2-10 : concept of, 1-4 Implicit device allocation, 5-2 Informational directives, INHIBIT AST RECOGNITION, 4-2 4-16 Instruction set, 1-1 compatibility mode, A-1l Interprocess communications directives, 4-5 summary of, IO.ACE (ACP), IO.ACR (ACP), IO.ACW (ACP), I0.APC (ACP), IO.ATA, IO.ATT, 4-5 5-28 5-27 5-28 5-31 IO.WAT I0.WBT I0.WDD (ACP), 5-29 (terminal), (disk), 5-7 5-18 disk, 5-7 line printer, 5-10 magnetic tape, 5-8 terminal, 5-18 IO.WPB (disk), 5-7 5-15 5-2 IO.WVB, disk, 5-7 line printer, 5-10 magnetic tape, 5-8 terminal, 5-15 I0.CCO (terminal), 5-18 IO.CRE (ACP), 5-26 I0.DAC (ACP), 5-28 IO.DEL (ACP), 5-27 I0.DET, 5-8 terminal, 5-18 IO.RWD (magnetic tape), I0.RWU (magnetic tape), I0.SEC (magnetic tape), I0.8MO (magnetic tape), I0.SPB (magnetic tape), I0.SPF (magnetic tape), I0.STC (magnetic tape), IO.WAL (terminal), 5-18 IO0.WLB, 5-15 terminal, 5-8 5-30 I0.RVB, 2-14 system services, Image, tape), (ACP), I/0 system, I/0 5-8 IO.RNA I/0 status block, 3-4, 3-6, 5-3 I/0 status returns, 5-4 summary disk, 5-=7 magnetic tape, terminal, 5-16 I0.RLV (magnetic disk, 5-7 line printer, 5-10 magnetic tape, 5-8 terminal, 5-18 IOSB status returns, L 5-2 disk, 5-7 line printer, 5-10 magnetic tape, 5-8 terminal, 5-15 IO.ENA I0.EOF (ACP), 5-31 (magnetic tape), IO.FNA, 5-29 I0.GTS (terminal), 5-~19 LIBR, 2-9 Libraries, 2~9 Limits, 2-2 resource 5-8 use, 2~2 Line printer driver, Logical devices, 3-3 SYS$COMMAND, 3-3 SYSSERROR, 3-3 Index-4 5 5 5 5 5 5 5 INDEX (Cont.) Logical devices (Cont.), SYSSINPUT, 3-3 SYSSLIBRARY used with commons and libraries, 2-9 SYS$ouTPUT, Logical names Paging, 2-7 Parameters, 3-3 for mailboxes, 3-10 function-dependent, 5-1 function-independent, 5-1 Parsing file specifications, 2-14 directive Magnetic tape, 5-8 characteristics bit handling, 5-8 driver, 5-8 Mailbox creation, 3-10 Mailbox name for send/receive, 3-9 Mailbox unit numbers, 3-10 Mailboxes, 3-3, 3-9 deleted during TASK EXIT, 4-21 use for RECEIVE 4-43 ADDRESS Map Global WINDOW directive, 4-6 (DCL) directive, Privileged HALT, RESET, privileges, of, process name, Q £la Process~permanent command, Overlays, 4-37 use with CANCEL TIME BASED INITIATION REQUESTS, use with REQUEST, 4-39 use willh RESUME, 4-40 b LD use with RUN, 2-4 4-41 by privilege, use with DISABLE POINTING, CHECK- 4-17 use with ENABLE CHECK- 2-11 1l-4 3-3 by group number and privilege, use with ABORT TASK, 4-8 TV aam N files, 4-8 by group number, use with SEND DATA, 4-43 use with RECEIVE DATA, 4-36 use with RECEIVE DATA OR o) ON 1-4 2-10 Protection, 2=-5 ‘ 2-3 2-1 subprocess, 2-10 virtual address space of, 1-5 Names, 2-3 process, 2-3 Native mode considerations, event 4-1 1-4 EXIT, 2-5 directives, 2-3 qualified by UIC, Process LINE 2-7 1-2 1-2 Process names, 4-31 MRKTS$ directive, 4-31 Multiuser MCR tasks, 2-3 naming of, 2-3 Multiuser task images, 1-4 commen 2-1 instructions, control concept 4-26 conver- 1-2 Process 4-26 Memory management, name PRINTS, 3-11 Priorities, 2-8 Privilege, 2-1 detached, 2-8, B-1 sion, 3-7 Physical devices supported, 5=2 PLAS (nonsupport), 1l-4, 2-7 system Command, GET MCR COMMAND 2-14, 2-7 lack of, 2-7 Physical device Process, Section service, 2-9 MARK TIME directive, MCR GEN, use with UIC, DATA directive, 4-36 use for RECEIVE DATA OR EXIT directive, 4-37 use for SEND DATA directive, MAP for, Partitions, POINTING, UIC-based, PRT... Index-5 task, 4-19 2-1 3-11 4-14 INDEX Q QIOS directive, 4-33 QIOWS directive, 4-35 QUEUE I/0 REQUEST AND WAIT directive, 2-14, 4-35 Queue I/O0 Request and Wait for Event Flag system service, 4-35 emulation of QUEUE I/0 REQUEST AND WAIT, 4-35 QUEUE I/O REQUEST directive, 2-14, 5-1, 3-4, 3-11, 4-33, 5-3 Queue I/0 Request system service, 4-33 emulation of, QUEUE I/O REQUEST directive, 4-33 RECEIVE DATA, 4-36 RECEIVE DATA OR EXIT directive, 4-37 SEND DATA directive, 4-43 Read Event Flags system service, emulation of, EXIT IF directive, EVENT directive, 4-20 FLAGS 4-38 Reasons for termination, 2-13 RECEIVE BY REFERENCE directive, 4-6 RECEIVE DATA directive, 2-14, 4-36 RECEIVE DATA OR EXIT directive, 2-14, 3-9, 4-37 REQUEST directive, 2-3, 4-39 RESCOM, 2-9 2-3, 2-10, 4-40 Resume Process system service, 4-40 emulation of the RESUME directive, 4-40 Return codes, see DSW return codes RMS-11, 3-1, 3-6 RQSTS directive, 4-39 RSUMS directive, 4-40 RSXCOMEFN event flag cluster, 2-4, 2-6, 4-21 RUN directive, 2-3, 2-8, 2-10, 4-41 S Schedule Wakeup system service, 4-41 4-41 RCVDS$ directive, 4-36 RCVDname mailbox, 3-9 RECEIVE DATA directive, 4-36 RECEIVE DATA OR EXIT directive, 4-37 SEND DATA directive, 4-43 RCVXS$ directive, 4-37 RDAFS directive, 4-38 READ ALL EVENT FLAGS, 4-38 3-9, Restrictions, hardware, 1-2 software, 1-2 RESUME directive, emulation of RUN directive, R READ ALIL (Cont.) RESET instruction, 1-2 Resident libraries, 2-9 RESLIB, 2-9 Resource use limits, 2-2 Resource wait mode, 2-3 2-10, SDATS directive, 4-43 SEND DATA directive, 2-3, 2-14, 3-9, 3-11, 4-43 Set AST Enable system service, 4-16 emulation of, DISABLE AST RECOGNITION directive, 4-16 ENABLE AST RECOGNITION directive, 4-18 SPECIFY RECEIVE DATA AST directive, 4-48 SET EVENT FLAG directive, 4-44 Set Event Flag service, 4-44 emulation of SET EVENT FLAG directive, 4-44 Set Swap Mode system service, emulation of, DISABLE AST RECOGNITION directive, 4-16 ENABLE CHECKPOINTING directive, 4-19 Set Timer system service, emulation of MARK TIME directive, 4-31 SETFS$ directive, 4-44 SF.GMC (terminal), 5-20 SF.SMC (terminal), 5-20 Shareable devices, 5-2 Shareable regions, 1-4 Shareable task images, 1-4 Index~-6 4-31 INDEX Significant events, 2-8 Software priorities, 2-8 Terminal SPECIFY FLOATING POINT PROCESSOR EXCEPTION AST, 4-45 SPECIFY POWER RECOVERY AST directive, SPECIFY 4-47 RECEIVE directive, SPECIFY DATA AST 4-6 SST VECTOR TABLE FOR DEBUGGING AID directive, 4-50 SPECIFY SST VECTOR TABLE TASK directive, 4-51 SPND$ directive, Spooling, 3-11, 5-10, directive, 4-47 SRDAS directive, 4-48 Standard I/O function codes, returns (IOSB), read, 5-20 tive, SVDBS of 4-46 directive, CO, (ssT), SYS$COMMAND, 3-3, 3-8, 5-21 SYSSDISK, 3-8 SYSSERROR, 3-3, 3-8, 5-21 SYS$INPUT, 3-3, 3-8, 5-21 SYSSLIBRARY, 2-9 SYssouTpPUT, 3-3, 3-8, System clock, 2-8 System events, 2-8 service, 5-21 Trap-associated UIC based UIC, 2-1 protection, 2-1 format for VAX/VMS, 2-1 parsing, for ETERS, 2-2 UNMAP see ADDRESS 4-6 5-3 DSW return resource label Process Teérminal GET use limits, VAX-11 RMS, 3-1 VAX-11 RMS, 3-3 use with process, Virtual process-permanent 2-3 space, control region, lack of PLAS 1-5 1-5 support, of, 2-7 2-7 paging, 2-7 program region, 1-5 W FOR LOGICAL for OR OF directive, EVENT 4-53 Logical OR of Event system service, 4-53 emulation of, WAIT FOR LOGICAL OR OF EVENT name characteristics handling, 5-20 Terminal driver, 5-12 1-4 1-4 address FLAGS block, 2-2 files, 3-3 VAX/VMS system concepts, image, 1-4 codes, 4-21 PARAM- WINDOW directive, 5-3 2-10, TASK ' Flags directive, 4-4 Unsupported directives, 4-6 User authorization file, 2-1 Wait image Task name, 2-2 returned WAIT Task directives, U T EXIT CL, management Cancel I/O on Channel, System status codes, 2-6 TASK and assignment of, 3-8 Trap instructions, 2-11 4-50 directive, 4-51 Swapping, 2-7 Synchronous system trap 2-11 mapping to 2-6, 1-7 2-10 status, 2-10 SUSPEND direc- SVTKS System 3-6 TI, 5-3 Subfunction modifiers, 5-1 Subprocess, 2-10 SUSPEND directive, 4-46 Suspend Process system service, 4-46 emulation code, FOR 5-21 5-2 terminal TI, returns, 2-10 4-46 SPRAS Status normal, Termination 4-48 SPECIFY read status 5-20 Termination, abnormal, 2-11 Termination RECEIVE-BY-REFERENCE directive, (Cont.) WAIT bit FOR FLAGS, 4-53 SINGLE EVENT 4-54 WAIT FOR SIGNIFICANT directive, Index-?r 2-8, EVENT 4-52 FLAG, INDEX WAIT FOR SINGLE EVENT FLAG directive, 4-54 Wake system service, 2-10 emulation of REQUEST direc- (Cont.) Working set, 2-17 WSIGS$ directive, 4-52 WTLOS directive, WTSES directive, Index-8 4-53 4-54 VAX-11/RSX-11M Programmer's Reference Manual AA-DO020A-TE READER'S NOTE: COMMENTS This form is for document comments only. DIGITAL will use comments submitted on this form at the company's discretion. Problems with software should be reported on a Software Performance Report (SPR) form. If you require a written reply and are eligible to receive one under SPR service, submit your comments on an SPR form. Did you find errors in this manual? If so, Did you find this manual understandable, Please make suggestions for improvement. Is there sufficient documentation on specify by page. usable, associated and well~-organized? system programs required for use of the software described in this manual? what material is missing and where should it be placed? indicate UOoC0000o Please the Assembly type of user/reader that you most nearly represent. language programmer Higher-level language programmer Occasional programmer User with little (experienced) programming experience Student programmer Non-programmer interested Name in computer concepts Date Organization Street City If not, State Zip Code or Country and capabilities - — DoNot Tear- Fold Hereand Tap¢ — — Qgital — — — — — — — I _.._..__.___l No Postage Necessary if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE RT/C SOFTWARE PUBLICATIONS TW/A14 DIGITAL EQUIPMENT CORPORATION 1925 ANDOVER STREET TEWKSBURY, MASSACHUSETTS Do Not Tear - Fold Here — e e e et —— e —— — — — Cut Alano Datted Line - 01876
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies