Network_Access_Method_Ver_1_Host_Application_Programming_Ref_Man_60499500W_Apr87 Network Access Method Ver 1 Host Application Programming Ref Man 60499500W Apr87
Network_Access_Method_Ver_1_Host_Application_Programming_Ref_Man_60499500W_Apr87 Network_Access_Method_Ver_1_Host_Application_Programming_Ref_Man_60499500W_Apr87
User Manual: Pdf Network_Access_Method_Ver_1_Host_Application_Programming_Ref_Man_60499500W_Apr87
Open the PDF directly: View PDF .
Page Count: 356
Download | |
Open PDF In Browser | View PDF |
60499500 CONTRpL DATA NETWORK PRODUCTS NETWORK ACCESS METHOD VERSION 1 HOST APPLICATION PROGRAMMING REFERENCE MANUAL /g^N CDC® OPERATING SYSTEM: NOS 2 REVISION RECORD Revision A B C D (12/01/76) (04/01/77) (07/01/77) (04/28/78) E F G H (08/15/78) (12/18/78) (01/15/79) (08/10/79) J (12/11/79) K (04/18/80) L (10/31/80) M (05/29/81) N (02/26/82) P (01/14/83) R (09/30/83) S (09/19/84) T (09/30/85) U (12/16/85) V (07/31/86) W (04/23/87) Description Original Release. PSR level 439. Revised to PSR level 446 for technical corrections. Revised to PSR level 452 for technical corrections. Completely revised for NAM Version 1.1 release at PSR level 472 to include support of remote and foreign NPUs, asynchronous and HASP TIPs, virtual terminals, IAF, and TVF. Revised at PSR level 477 for technical corrections. Revised at PSR level 485 for technical corrections. Revised at PSR level 485 for additional technical corrections. Revised to reflect release of NAM Version 1.2. Included are descriptions of the binary debug log file and postprocessor, special editing support, and QTRM. Revised to reflect addition of connection duplexing, upline block truncation, block header break markers, QTRM connection switching, and various technical corrections. Revised at PSR level 517 to reflect the addition of 714 printer support, and various technical corrections. Revised at PSR level 528 to reflect the addition of QTRM support of application-toa p p l i c a t i o n c o n n e c t i o n s , t h e u s e r - i n t e r r u p t c a p a b i l i t y, a n d v a r i o u s t e c h n i c a l corrections. Revised for NAM Version 1.3 release at PSR level 541 to include 2780/3780 terminal support, changes to supervisory messages, PRU interface, and various technical corrections. Revised at PSR level 559 to reflect release of NAM Version 1.4, which supports NOS Version 2.0 and includes the disable flag parameter on the LST/HDX/R supervisory message and miscellaneous technical corrections. Revised at PSR level 580 to reflect release of NAM Version 1.5 and CCP Version 3.5, which run only under the NOS Version 2 operating system. This manual, which was previously known as the NAM Reference Manual, is no longer applicable to products operating under NOS 1. It has been reorganized to document information needed by a general networks user, who must consider NAM as well as CCP when writing a network application. This is a complete reprint. Revised at PSR level 596 to reflect release of NAM Version 1.6 and CCP Version 3.6, supporting multiple-host networks. This is a complete reprint. Revised at PSR level 617 to reflect release of NAM Version 1.7 and CCP Version 3.7 to document support of a 3270 bisynchronous terminal class and miscellaneous technical corrections. Revised at PSR level 642 to reflect release of NAM Version 1.8 and CCP Version 3.8. This manual was previously known as the NAM Version 1/CCP Version 3 Host Application Programming Reference Manual. Miscellaneous technical changes are included. Revised at PSR level 647 to reflect release of NAM Version 1.8, CCP Version 3.8, and CDCNET Version 1.0. Miscellaneous technical corrections are included. Revised at PSR level 664 to reflect release of NAM Version 1.8, CCP Version 3.8, and CDCNET Version 1.1. Miscellaneous technical, corrections are included. Revised at PSR level 678 to reflect release of NAM Version 1.8, CCP Version 3.8, and CDCNET Version 1.2. Miscellaenous technical corrections are included. REVISION LETTERS I, 0, Q, AND X ARE NOT USED ©COPYRIGHT CONTROL DATA CORPORATION 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987 All Rights Reserved Printed in the United States of America i i Address comments concerning this manual to: CONTROL DATA CORPORATION Technology and Publications Division P. 0. BOX 3492 SUNNYVALE, CALIFORNIA 94088-3492 or use Comment Sheet in the back of this manual 60499500 W /-*a^. LIST OF EFFECTIVE PAGES New features, as well as changes, deletions, and additions to information in this manual are indicated by bars in the margins or by a dot near the page number if the entire page is affected. A bar by the page number indicates pagination rather than content has changed. Page Front Cover Title Page i i iii/iv v v i vii/viii ix thru xii xiii/xiv XV 1-1 1-2 thru 1-6 1-7 1-8 1-8.1 1-8.2 1-9 thru 1-14 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2^9 2-10 2-11 2-12 thru 2-14 2-15 thru 2-18 2-19 2-20 2-21 2-22 thru 2-25 2-26 2-27 2-28 2-29 2-30 thru 2-33 2-34 2-35 2-36 thru 2-39 3-1 3-2 thru 3-6 3-7 thru 3-10 3-11 3-12 3-12.1/3-12.2 3-13 thru 3-16 3-17 3-18 thru 3-21 3-22 3-23 3-24 3-25 3-26 3-27 3-28 60499500 W Revision W W V u V V V T R U V V U U T U R R T R T R T R U T S U V U S T W T W T W V U T U V U V V U T V T V W W T V W W Page 3-29 3-30 3-30.1 3-30.2 3-31 3-32 thru 3-44 3-45 3-46 3-47 thru 3-50 3-51 thru 3-53 3-54 thru 3-57 3-58 3-59 3-60 3-61 3-62 thru 3-68 3-68.1 thru 3-68.6 3-69 thru 3-79 3-80 3-81 4-1 4-2 4-3 4-4 4-4.1/4-4.2 4-5 thru 4-10 4-10.1 4-10.2 4-11 thru 4-15 4-16 4-17 thru 4-19 5-1 5-2 5-3 5-4 5-5 5-6 5-7 thru 5-11 5-12 5-13 5-14 5-15 5-16 5-17 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 thru 6-15 6-16 Revision V V V V V T V V T V T V V U W V V U V U R R W W W V V V T V T R V W R R T R T R T T R T T V T T S S R R T W R V R V Page 6-17 7-1 thru 7-15 7-16 7-17 thru 7-24 7-25 7-26 thru 7-38 8-1 8-2 thru 8-12 8-13 8-14 thru 8-34 8-34.1 8-34.2 8-34.3/8-34.4 8-35 thru 8-66 A-l thru A-3 A-4 A-5 thru A-19 A-20 thru A-23 A-24 thru A-32 A-33 thru A-36 A-3 7 A-3 8 A-3 9 A-40 thru A-46 A-47 A-48 B-l B-2 B-2.1/B-2. 2 B-3 B-4 B-5 B-6 B-7 thru B-9 C-l thru C-l3 D-l D-2 Index-1 thru -6 Comment Sheet/Mail Back Cover Revision R R T R T R R V w V V V V T R S R S T R T T S R S R W H W T T V V T U V V V W iii/iv rj i^k r> ^ 0*\ PREFACE This manual supplies reference information to both Network Access Method (NAM) Version 1.7 and Commu nications Control Program (CCP) Version 3.7 users, typically either programmers or analysts who are writing a network application or who would like to learn more about how the various portions of the n e t w o r k fi t t o g e t h e r. /fP^>N- This manual describes how application programs interface to the computer network. The NAM 1/CCP 3 Te r m i n a l I n t e r f a c e r e f e r e n c e m a n u a l d e s c r i b e s h o w the terminal user gains access to these applica tions. Also, this manual familiarizes the reader with the network processing unit (NPU) and the Communications Control Program (CCP). Knowledge of the NPU and CCP, however, is not necessary to write an application program. NAM and CCP operate under control of the NOS 2 operating system for the CONTROL DATA® CYBER 180 Computer Systems; CYBER 170 Computer Systems; CDC ® CYBER 70 Computer System models 71, 72, 73, and 74; and 6000 Computer Systems. NAM is the subset of the host computer software that provides communication between an application program in the host computer and other applica tion programs or devices accessing the network's resources. The Communications Control Program is software that resides in a 255x series network processing unit that allows a device to access the host computer over communications lines. WHO SHOULD READ THIS MANUAL This manual is directed at a programmer or analyst who is familiar with subsystem applications programming, compiler and assembler programming conventions, terminal communication protocols, other network software products, and the programming requirements of supported devices. HOW THIS MANUAL IS ORGANIZED Section 1 introduces the NAM and CCP software. Section 2 describes the protocols governing infor mation exchanged for communication between NAM and each application program, and between application programs and their connections. Section 3 describes the synchronous and asynchronous supervisory mes sages used by application programs. Section 4 describes the language and internal interfaces required by an application program. Section 5 dis cusses the application interface program statements used by NAM to access the network and to send and receive messages. Section 6 discusses the structure and execution of an application program job as a b a t c h o r s y s t e m o r i g i n t y p e fi l e . S e c t i o n 7 contains a FORTRAN program using AIP; section 8 describes QTRM. Section 9 describes network failure and techniques of recovery. Additional reference information for the Communica tions Control Program can be found in other network product and operating system publications. Use table 0-1 to locate this information. TABLE 0-1. LOCATION OF CCP REFERENCE INFORMATION Manual That Contains Information Information CCP overview, concepts, and functions Character sets CCP glossary Mnemonics Statistics Halt Codes 60499500 S NOS Version 2 Adminis tration Handbook NAM 1/CCP 3 Te r m i n a l Interfaces Reference Manual NOS Version 2 System Analysis Handbook Communicat ions Control Pro gram Version 3 Diagnostic Handbook NOS Version 2 Opera tions Handbook Communications Control Program Internal Maintenance Specif icatlont TABLE 0-1. LOCATION OF CCP REFERENCE INFORMATION (Contd) Manual That Contains Information NOS Version 2 Adminis tration Handbook Information NAM 1/CCP 3 Te r m i n a l Interfaces Reference Manual NOS Version 2 System Analysis Handbook Communications Control Pro gram Version 3 Diagnostic Handbook NOS ' Version 2 Opera tions Handbook Communications Control Program Internal Maintenance S p e c i fi c a t l o n t Diagnostics Customer Engineering error messages Dump information NPU operating instructions Memory map Naming conventions NPU dumping, loading, and initializing details tAvailable from Software Manufacturing Distribution (SMD), 4201 Lexington Ave. North, Arden Hills, Minnesota 55112 RELATED PUBLICATIONS Related material is contained in the publications listed below. Other manuals may be needed, such as the hardware, firmware, or emulator software refer ence manual for the devices serviced by a given program. Also, communication standards and device operating literature can be useful. The Software Publications Release History gives the titles and revision levels of software manuals available for the Programming System Report (PSR) level of NOS 2 and its product set installed at your site. The following manuals are of primary interests vi Publication Publication Number Network Products Network Access Method Version Network Definition Language Reference Manual 60480000 Network Products Network Access Method Version 1/ Communications Control Program Version 3 Terminal Interfaces Reference Manual 60480600 NOS Version 2 Reference Set, Volume 1 Introduction to Interactive Usage 60459660 NOS Version 2 Reference Set, Volume 3 System Commands 60459680 NOS Version 2 Reference Set, Volume 4 Program Interface 60459690 60499500 S The following manuals are of secondary interest: /^^ 60499500 S Publication Publication Number Communications Control Program Version 3 Diagnostic Handbook 60471500 COMPASS Version 3 Reference Manual 60492600 COBOL Version 5 Reference Manual 60497100 CYBER Cross System Version 1 Build Utilities Reference Manual 60471200 CYBER Cross System Version 1 Macro Assembler Reference Manual 96836500 CYBER Cross System Version 1 Micro Assembler Reference Manual 96836400 CYBER Cross System Version 1 PASCAL Reference Manual 96836100 FORTRAN Version 5 Reference Manual 60481300 Hardware Performance Analyzer (HPA) User Reference Manual 60459460 Message Control System Version 1 Reference Manual 60480300 NOS Version 2 Diagnostic Index 60459390 NOS Version 2 Installation Handbook 60459320 NOS Version 2 Manual Abstracts 60485500 NOS Version 2 Administration Handbook 60459840 NOS Version 2 Operations Handbook 60459310 NOS Version 2 Analysis Handbook 60459300 Network Products Remote Batch Facility Version 1 Reference Manual 60499600 Software Publications Release History 60481000 TAF Version 1 Reference Manual 60459500 2551-1, 2551-2, 2552-2 Network Processor Unit Hardware Reference Manual 60472800 2560 Series Synchronous Communications Line Adapter Hardware Maintenance Manual 74700700 vii Publication Number Publication 2561 Series Asynchronous Communications Line Adapter Hardware Maintenance Manual 74700900 2563 Series SDLC Line Adapter Hardware Maintenance Manual 74873290 CDC manuals can be ordered from Control Data Corporation, Literature and Distribution Services, 308 North Dale Street, St. Paul, Minnesota 55103. This product is intended for use only as described in this document. Control Data can not be responsible for the proper functioning of undescribed features or parameters. viii 60499500 R CONTENTS N O TAT I O N S xiii 1. NETWORK PRODUCTS: AN OVERVIEW 1-1 Computer Network 1-1 Communications Network 1-2 Services Network 1-2 Software Components of the Network 1-2 Network Access Method 1-2 Peripheral Interface Program 1-4 Network Interface Program 1-4 Application Interface Program 1-4 Q u e u e d Te r m i n a l R e c o r d M a n a g e r 1 - 4 N e t w o r k D e fi n i t i o n L a n g u a g e P r o c e s s o r 1 - 4 Network Supervisor 1-5 Communication Supervisor 1-5 Network Va l i d a t i o n Facility 1-5 Network Utilities 1-5 Network Dump Analyzer 1-5 Load File Generator 1-5 Debug Log File Processor 1-6 Hardware Performance Analyzer 1-6 NAM Application Programs 1-6 CDC CYBER Cross System Software 1-6 Network Processing Unit and Communications Control Program 1-6 Network Processing Unit 1-6 | Communications Control Program 1-7 Base System Software 1-7 | System Autostart Module 1-7 Service Module 1-8 Host Interface Program 1-8 Te r m i n a l Interface Program 1-8 Link Interface Program 1-8 Block Interface Program 1-8 In-Line and On-Line Diagnostics 1-8 NPU Console Debugging Aids 1-8 Performance and Statistics Programs 1-8 | The Packet Switching Network (PSN) 1-8 NAM Concepts 1-8 Virtual Te r m i n a l s 1-9 Logical Connections 1-9 Owning Consoles 1-10 Network Access Method Operation 1-10 Application Program Concepts 1-12 Connection Processing Flow 1-12 Supported Te r m i n a l s 1-12 2. I N F O R M AT I O N PROTOCOLS 2-1 Information Flow 2-1 Structure Protocols 2-1 Physical Protocols and Network Blocks 2-1 Logical Protocol and Physical Blocks 2-1 Network Data Blocks 2-2 Transmission Blocks 2-4 I n t e r a c t i v e Te r m i n a l I n p u t C o n c e p t s 2 - 4 Line Mode Operation 2-4 Block Mode Operation 2-4 Physical and Logical Lines 2-5 End-of-Line Indicators 2-5 Multiple Logical Lines in One Message 2-5 End-of-Block Indicators 2-6 I n t e r a c t i v e Te r m i n a l O u t p u t C o n c e p t s 2 - 7 Batch Device Data 2-7 60499500 S Application-to-Application Input and Output Concepts 2-7 I n f o r m a t i o n I d e n t i fi c a t i o n P r o t o c o l s 2 - 7 A p p l i c a t i o n P r o g r a m M e s s a g e Ty p e s 2 - 7 Application Block Types 2-7 Block Buffer Areas 2-8 Block Header Area 2-8 Block Te x t Area 2-8 Connection I d e n t i fi e r s 2-9 Application Connection Number 2-9 Application List Number 2-9 Data Message Content and Sequence Protocols 2-10 I n t e r a c t i v e V i r t u a l Te r m i n a l D a t a 2 - 1 0 L i n e Tu r n a r o u n d C o n v e n t i o n 2 - 11 Interactive Virtual Terminal Exchange Modes 2 - 11 N o r m a l i z e d M o d e O p e r a t i o n 2 - 11 Upline Character Sets and Editing Modes 2-12 Downline Character Sets 2-14 Page Width and Page Length 2-14 Format Effectors 2-14 Transparent Mode Operation 2-19 Application-to-Application Connection Data 2-22.1 Application Character Types 2-23 Character Byte Content 2-24 Block Header Content 2-24 Supervisory Message Content and Sequence Protocols 2-31 Asynchronous Messages 2-35 Synchronous Messages 2-36 Block Header Content 2-36 3. SUPERVISORY MESSAGES 3-1 Message Mnemonics 3-1 Message Sequences 3-1 Connecting Devices to Applications 3-1 Connecting Applications to Applications 3-14 Monitoring Connections 3-24.1 Te r m i n a t i n g Connections 3-24.2 Managing Connection Lists 3-25 Controlling List Polling 3-25 Controlling List Duplexing 3-26 Controlling Data Flow 3-29 Monitoring Downline Data 3-29 Controlling or Bypassing Upline and Downline Data 3-35 Discarding Upline and Downline Data on Applicatlon-to-Application Connections 3-35 Discarding Downline Data on Device-to-Application Connections 3-35 Bypassing Downline Data on an Application-to-Application Connection 3-35 Terminal Use of User Interrupts for Priority Data 3-38 Controlling Upline Block Content 3-39 Converting and Repacking Data 3-39 Repacking Synchronous Supervisory Message Blocks 3-41 Exchanging Transparent Data With Devices 3-42 Truncating Upline Blocks 3-42 Managing Device Characteristics 3-43 ix Changing Device Characteristics Requesting Device Characteristics Host Operator Commands Host Shutdown Error Reporting 3-45 3-54 3-56 3-60 3-60 4. USER PROGRAM INTERFACE DESCRIPTIONS 4-1 Language Interfaces Parameter List and Calling Sequence Requirements Predefined Symbolic Names Predefied Symbolic Values COMPASS Assembler Language Application Interface Program Macro Call Formats Field Access Utilities Compiler-Level Languages Application Interface Program Subroutine Call Formats Field Access Utilities Queued Terminal Record Manager Utilities Internal Interfaces Application Interface Program and Network Interface Program Communication Worklist Processing Parallel Mode Operation Other Software Communication 4-1 4-1 4-1 4-2 4-2 4-2 4-10 4-11 4-12 4-12 4-13 4-15 4-15 4-15 4-16 4-16 5. APPLICATION INTERFACE PROGRAM CALL STATEMENTS Syntax Network Access Statements Connecting to Network (NETON) Disconnecting From Network (NETOFF) Network Block Input/Output Statements Specific Connections Inputing to Single Buffer (NETGET) Inputing to Fragmented Buffer Array (NETGETF) Outputing From Single Buffer (NETPUT) Outputing From Fragmented Buffer Array (NETPUTF) Connections on Lists Inputing to Single Buffer (NETGETL) Inputing to Fragmented Buffer Array (NETGTFL) Processing Control Statements Suspending Processing (NETWAIT) Controlling Parallel Mode (NETSETP) Checking Completion of Worklist Processing (NETCHEK) 5-1 5-1 5-1 5-1 5-4 5-4 5-4 5-4 5-6 5-7 o 5-8 5-10 5-10 5-12 5-14 5-14 5-15 5-16 6. CHARACTERISTICS OF AN APPLICATION PROGRAM 6-1 NOS System Control Point Facility Batch Job Structure Commands Job I d e n t i fi c a t i o n Program Content Program Execution Through IAF | Types of Application Programs Disabled Unique I d e n t i fi e r Privileged I 6-1 6-1 6-2 6-3 6-3 6-3 6-4 6-5 6-5 6-5 HaveR More e q u eThan s t One Copy S t a(on r t aany b l e One Host) 66-6 -6 Restricted or General Access 6-6 Mandatory or Primary 6-6 6-6 6-6 6-6 Debugging Application Programs Fatal Errors Debugging Methods Debug Log File and Associated Utilities Statistical File and Associated Utilities Dependencies for Program Use Memory Requirements 6-15 6-16 6-17 7. SAMPLE FORTRAN PROGRAM 7-1 Configuration Requirements Job Command Portion Program Portion Program Output 7-1 7-1 7-1 7-1 8. QUEUED TERMINAL RECORD MANAGER 8-1 Network Information Table Subroutines Initiating Network Access (QTOPEN) Sending Data (QTPUT) Obtaining Data or Connection Status (QTGET) Sending a Synchronous Supervisory Message (QTTIP) Linking an Application to Another Application (QTLINK) Ending a Single Connection (QTENDT) Ending Communication With the Network (QTCLOSE) Output Formatting and Editing Format Effectors Display-Code Output Editing Output Queuing Using QTRM Sample Program 8-1 9. NETWORK FAILURE AND RECOVERY 9-1 Application Programs Host Network Processing Unit Logical Link Trunk Line Terminal 9-1 9-1 9-1 9-1 9-1 9-1 9-1 6-16 8-11 8-11 8-12 8-13 8-14 8-14 8-14 8-15 8-15 8-16 8-16 8-16 8-18 APPENDIXES Character Central Diagnostic Glossary D Application Data Input, Output, and Memory Representation Messages A-l B-l C-l Program Call Statement Summary D-l INDEX FIGURES 1-1 Overview of a CDC Network 1-2 The Interfaces Between the Network Product Elements 1-3 The Relationship Between the Parts of the Communications Control Program 1 - 4 Ty p i c a l C o n n e c t i o n s i n t h e N e t w o r k 1-1 1-3 1-7 1-10 60499500 S 1-5 Network Access Method Components 1-11 1 - 6 Ty p i c a l A p p l i c a t i o n P r o g r a m 1-13 Processing Flow 2-1 Physical and Logical Information Structures 2-2 2-2 Block Reassembly Points 2-3 2-3 Application-to-Application Connection Data Exchanges 2-23 2-4 Application Block Header Content for 2-25 Upline Network Data Blocks 2-5 Application Block Header Content for Downline Network Data Blocks 2-29 2-6 Supervisory Message General Content, Asynchronous Messages and Synchronous Messages of Application Character Type 2 2-32 2-7 Supervisory Message General Content, Synchronous Messages of Application Character Type 3 2-34 2-8 Application Block Header Content for Upline Supervisory Messages 2-36 2-9 Application Block Header Content for Downline Supervisory Messages 2-38 3-1 Supervisory Message Mnemonic Structure 3-1 3-2 Device-to-Applicatlon Connection Supervisory Message Sequences 3-5 3-3 Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections 3-6 3-4 Connection-Accepted (CON/REQ/N) Supervisory Message Format, All Connection Types 3-12 3-5 Connection-Rejected (CON/REQ/A) Supervisory Message Format, All Connection Types 3-13 3-6 Initial!zed-Connection (FC/INIT/R) 3-14 Supervisory Message Format 3-7 Connection-Initialized (FC/INIT/N) 3-14 Supervisory Message Format 3-8 Connection-Broken (CON/CB/R) 3-15 Supervisory Message Format 3-9 End-Connection (CON/END/R) 3-16 Supervisory Message Format 3-10 Connection-Ended (CON/END/N) Supervisory Message Format 3-16 3 - 11 A p p l i c a t i o n - t o - A p p l i c a t i o n C o n n e c t i o n Supervisory Message Sequences 3-17 3-12 Request-Application-Connection (CON/ACRQ/R) Supervisory Message Format 3-18 3-13 Application-Connection-Rej ect (CON/ACRQ/A) Supervisory Message Format 3-20 3-14 Connection-Request (CON/REQ/R) Super visory Message Format, Applicationto-Application Connections 3-23 3-15 Connection Monitoring Message Sequences 3-24.1 3-16 Inactive-Connection (FC/INACT/R) 3-24.1 Supervisory Message Format 3-17 Connection Termination Message Sequences 3-24.2 3-18 Connection List Polling Control 3-26 Message Sequences 3-19 Connection List Duplexing Message 3-26 Sequences 3-20 Turn-List-Processing-Off (LST/OFF/R) 3-27 Supervisory Message Format 3-21 Turn-Llst-Processing-On (LST/ON/R) 3-27 Supervisory Message Format 3-22 Change-Connection-List (LST/SWH/R) 3-27 Supervisory Message Format 3 - 2 3 Tu r n - O n - H a l f - D u p l e x - L i s t - P r o c e s s i n g (LST/HDX/R) Supervisory Message Format 3-28 60499500 S 3-24 Tu r n - O n - F u l l - D u p l e x - L i s t - P r o c e s s i n g 3-25 3-26 3-27 3-28 3-29 3-30 3-31 3-32 3-33 3-34 3-35 3-36 3-37 3-38 3-39 3-40 3-41 3-42 3-43 3-44 3-45 3-46 3-47 3-48 3-49 3-50 3-51 3-52 3-53 3-54 (LST/FDX/R) Supervisory Message Format 3-29 Block-Delivered (FC/ACK/R) Supervisory Message Format 3-30 Block-Not-Delivered (FC/NAK/R) Supervisory Message Format 3-30 Application-to-Application Connection Break and Reset Message Sequence 3-31 Break (FC/BRK/R) Supervisory Message Format 3-32 Reset (FC/RST/R) Supervisory Message Format 3-32 Te r m i n a l U s e r - C a u s e d B r e a k S e q u e n c e 3 - 3 3 User-Interrupt (INTR/USR/R) Supervisory Message Format 3-33 Break-Indication-Marker (BI/MARK/R) Supervisory Message Format 3-34 Application-Interrupt-Response (INTR/RSP/R) Supervisory Message Format 3-34 Resume-Output-Marker (RO/MARK/R) Supervisory Message Format 3-34 Application-Interrupt (INTR/APP/R) Supervisory Message Format 3-36 Application-Interrupt-Response (INTR/RSP/R) Supervisory Message Format 3-36 Terminate-Output-Marker (TO/MARK/R) Supervisory Message Format 3-37 Downline Data Flow Control Supervisory Message Sequences 3-37 User-Interrupt-Request (INTR/USR/R) Supervisory Message Format for Priority Data 3-38 User Interrupt for Priority Data Supervisory Message Sequence 3-38 Change-Input-Character-Type Supervisory Message Sequence 3-39 Change-Input-Character-Type (DC/CICT/R) Supervisory Message Format 3-40 Block Truncation Supervisory Message Sequence 3-42 Block Truncation (DC/TRU/R) Supervisory Message Format 3-43 Te r m i n a l C h a r a c t e r i s t i c s R e d e fi n i t i o n Supervisory Message Sequences 3-45 Te r m i n a l - C h a r a c t e r i s t i c s - R e d e fi n e d (TCH/TCHAR/R) Supervisory Message Format 3-46 D e fi n e - Te r m i n a l - C h a r a c t e r i s t i c s (CTRL/DEF/R) Supervisory Message Format 3-48 D e fi n e - M u l t i p l e - Te r m i n a l - C h a r a c t e r i s t i c s (CTRL/CHAR/R) Supervisory Message Format 3-49 D e fi n e - M u l t i p l e - Te r m i n a l - C h a r a c t e r i s t i c s Abnormal Response (CTRL/CHAR/A) Supervisory Message Format 3-50 M u l t i p l e - Te r m i n a l - C h a r a c t e r l s t i c s Defined (CTRL/CHAR/N) Supervisory Message Format 3-50 R e q u e s t - Te r m i n a l - C h a r a c t e r i s t i c s (CTRL/RTC/R) Supervisory Message Format 3-55 R e q u e s t - Te r m i n a l - C h a r a c t e r i s t i c s Abnormal Response (CTRL/RTC/A) Supervisory Message Format 3-55 D e v i c e - C h a r a c t e r i s t i c s - D e fi n i t i o n (CTRL/TCD/R) Supervisory Message Format 3-56 Host Operator Command Supervisory Message Sequences 3-57 xi 3-55 Host Operator Request-to-ActivateDebug-Code (HOP/DB/R) Supervisory Message Format 3-56 Host Operator Request-to-Turn-OffDebug-Code (HOP/DE/R) Supervisory Message Format 3-57 Host Operator Request-to-Dump-FieldLength (HOP/DU/R) Supervisory Message Format 3-58 Host Operator Request-to-Turn-AIPTraffic-Logging-On (HOP/TRACE/R) Supervisory Message Format 3-59 Host Operator Request-to-Turn-AIPTraffic-Logging-Off (HOP/NOTR/R) Supervisory Message Format 3-60 Host Operator Request-to-ReleaseDebug-Log-File (HOP/REL/R) Supervisory Message Format 3-61 Host Operator Request-to-RestartStatistics-Gathering (HOP/RS/R) Supervisory Message Format 3-62 Host Shutdown Supervisory Message Sequences 3-63 Host-Shutdown (SHUT/INSD/R) Supervisory Message Format 3-64 Logical-Error Supervisory Message Sequence 3-65 Logical-Error (ERR/LGL/R) Supervisory Message Format 4-1 NFETCH Macro Call Format 4-2 NSTORE Macro Call Format 4-3 NFETCH Integer Function FORTRAN Call Format 4-4 NSTORE Subroutine FORTRAN Call Format 4-5 QTRM Interface Level Analogy 5-1 NETON Statement FORTRAN Call Format 5-2 Supervisory Status Word Format 5-3 NETON Statement FORTRAN Example 5-4 NETOFF Statement FORTRAN Call Format 5-5 NETGET Statement FORTRAN Call Format 5-6 NETGET Statement FORTRAN 5 Examples 5-7 NETGETF Statement FORTRAN Call Format 5-8 NETGETF Statement Text Area Address Array 5-9 NETGETF Statement FORTRAN 5 Examples 5-10 NETPUT Statement FORTRAN Call Format 5-11 NETPUT Statement FORTRAN 5 Example 5-12 NETPUTF Statement FORTRAN Call Format 5-13 NETPUTF Statement Text Area Address Array 5-14 NETPUTF Statement FORTRAN 5 Example 5-15 NETGETL Statement FORTRAN Call Format 5-16 NETGETL Statement FORTRAN 5 Example 5-17 NETGTFL Statement FORTRAN Call Format 5-18 NETGTFL Statement Text Area Address Array 5-19 NETGTFL Statement FORTRAN 5 Example 5-20 NETWAIT Statement FORTRAN Call Format 5-21 NETWAIT Statement FORTRAN 5 Examples 5-22 NETWAIT Statement FORTRAN Call Format 5-23 NETSETP and NETCHEK Statement FORTRAN 5 Examples 5-24 NETCHEK Statement FORTRAN Call Format 6-1 Typical Job Structure for System Input 6-2 Interactive Program Execution Procedure Example | xii 6-3 3-57 6-4 6-5 3-58 3-58 3-58 3-59 3-59 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-14 6-15 3-59 3-60 7-1 7-2 7-3 3-61 3-61 3-62 4-10 4-11 4-12 4-13 4-14 5-2 5-3 5-3 5-4 5-4 5-5 5-6 5-7 5-7 5-8 5-8 5-9 5-9 5-10 5-11 5-12 5-12 5-13 5-14 5-14 5-15 5-15 5-16 5-17 6-2 7-4 7-5 8-1 8-2 8-3 8-4 8-5 8-6 8-7 8-8 8-9 8-10 8-11 8-12 8-13 NETDBG Utility FORTRAN Call Statement Format 6-7 NETREL Utility FORTRAN Call Statement Format 6-8 NETSETF Utility FORTRAN Call Statement Format 6-8 NETLOG Utility FORTRAN Call Statement Format 6-9 NETDMB Utility FORTRAN Call Statement Format 6-9 DLFP Command General Format 6-10 DLFP Command Examples 6-10 D L F P D i r e c t i v e K e y w o r d F o r m a t 6 - 11 DLFP Directive Examples 6-12 General Format of DLFP Output 6-13 NETSTC Utility FORTRAN Call Statement Format 6-15 NETLGS Utility FORTRAN Call Statement Format 6-15 General Format of One Period Listing in Statistical File 6-16 Command Portion of RMV3Job 7-1 Program Portion of RMV3 7-2 Possible Dialogs Supported by Sample FORTRAN Program 7-25 Debug Log File Listing for Sample FORTRAN Program 7-26 Statistical File Listing for Sample FORTRAN Program 7-38 N e t w o r k I n f o r m a t i o n Ta b l e F o r m a t 8 - 2 QTOPEN Statement COBOL Call Format 8-11 QTPUT Statement COBOL Call Format 8-12 QTGET Statement COBOL Call Format 8-13 QTLINK Statement COBOL Call Format 8-14 QTENDT Statement COBOL Call Format 8-14 QTCLOSE Statement COBOL Call Format 8-15 Algorithm for Output Buffering Using QTRM 8-17 Sample Program ECH0-RMV2 Source Listing 8-19 ECH0-RMV2 Job Commands 8-25 Debug Log File Listing for ECH0-RMV2 8-26 S t a t i s t i c s F i l e L i s t i n g f o r E C H 0 - R M V- 2 8 - 3 6 ECH0-RMV2 Sample Dialog 8-37 ,<^^\ TABI l-l 1-2 2-1 2-2 2-3 2-4 2-5 3-1 3-2 4-1 4-2 4-3 Device Types 1-9 Supported Te r m i n a l Classes 1-14 Default Message Delimiter and Transmission Keys 2-6 Format Effector Operations for Asynchronous and X.25 Consoles 2-15 Format Effector Operations for Synchronous Consoles 2-20 Embedded Format Control Operations for Consoles 2-21 Character Exchanges With Connections 2-25 Legal Supervisory Messages 3-2 Va l i d F i e l d N u m b e r s a n d F i e l d Va l u e s 3 - 5 1 Reserved Symbols 4-3 AIP Internal Procedures 4-17 A I P I n t e r n a l Ta b l e s a n d B l o c k s 4 - 1 8 6-3 60499500 S /*^\ NOTATIONS Throughout this manual, the following conventions are used in the presentation of statement formats, operator type-ins, and diagnostic messages: UPPERCASE lowercase Uppercase letters indicate acronyms, words, or mne monics either required by the network software as input, or produced as out put. Square brackets enclose entities that are optional; if omission of any entity causes the use of a default e n t i t y, t h e d e f a u l t i s underlined. { } Braces enclose entities from which one must be chosen. input parameter T h i s t e r m I d e n t i fi e s a n A I P call statement parameter for which values are supplied to AIP by the programmer. return parameter T h i s t e r m i d e n t i fi e s a n A I P call statement parameter for which variables are supplied to AIP by the pro grammer and in which values are placed by AIP. 60499500 R Thesymbol represents the network control char a c t e r d e fi n e d f o r t h e t e r minal. This character must b e t h e fi r s t c h a r a c t e r o f the command entered. LF The LF symbol represents a one-line vertical reposi tioning of the cursor or output mechanism. LF also designates a character or character code associated with such a line feed operation. © A circle around a character represents a character key that is pressed in con junction with a control key (CTL, CNTRL, CONTRL, CONTROL, or equivalent). HD The boxed cr symbol repre sents the terminal key that causes message transmission; u s u a l l y, t h i s k e y c a u s e s a carriage return operation. Transmission keys are described in more detail in section 2. Lowercase letters identify variables for which values are supplied by the NAM or t e r m i n a l u s e r, o r b y t h e network software as output. Ellipsis indicates that omitted entities repeat the form and function of the entity last given. [ ] U n l e s s o t h e r w i s e s p e c i fi e d , a l l r e f e r e n c e s t o n u m bers are to decimal values, all references to bytes are to 8-bit bytes, and all references to characters are to 7-bit ASCII-coded characters. Fields defined as unused should not be assumed to contain zeros. xiii 0*% 0^t 0^% NETWORK PRODUCTS: AN OVERVIEW This section introduces the Control Data Corporation CYBER 170 network products, their relationships to each other, and their significance to the data com m u n i c a t i o n s u s e r. N e t w o r k p r o d u c t s i s a g r o u p o f programs and hardware that provides communications services to geographically dispersed users. As shown in figure 1-1, a CDC network consists of a computer network, a communications network, and a services network. COMPUTER NETWORK The computer network includes host computer systems packet-switching networks (PSNs), terminals, and the host software associated with network communi cations . Each component of the computer network provides input, output, control, or storage resources to the services and communications network. The primary h o s t c o m m u n i c a t i o n s o f t w a r e i s c a l l e d th e N e tw o r k Access Method (NAM). Services Network Computer Network Communications Network /0™B\ Figure 1-1. Overview of a CDC Network 60499500 R l-l COMMUNICATIONS NETWORK Network Supervisor The communications network includes network proc essing units (NPUs) and the connecting communication lines needed to transport blocks of data between host computers and terminals. The primary CDC software in an NPU is called the Communications Control Program (CCP). Communications Supervisor The size and complexity of a communications network varies from a simple network with one local (frontend) NPU, or a network with one local NPU and one or more remote NPUs, to a more complex network with multiple local NPUs and multiple remote NPUs. Attached to these NPUs are terminal devices, such as entry/display stations. Because the communications network minimizes termi nal type dependency and removes many of the terminal switching operations from the host, the host can process data more efficiently. SERVICES NETWORK The services network consists of the network appli cation programs in each host computer and the users of those programs. Each application program gives the terminal user or another application a specific data processing cap a b i l i ty. SOFTWARE COMPONENTS OF THE NETWORK Figure 1-2 shows the interfaces between the elements o f t h e n e t w o r k . T h e l e f t p a r t o f t h e fi g u r e s h o w s the network host software elements, which are the software elements located in the CDC CYBER 170 host computer. The middle section shows the Communi cations Control Program (CCP), which is the software element located in the network processing unit. As s h o w n i n t h e r i g h t p o r t i o n o f fi g u r e 1 - 2 , C C P communicates with the terminals while the Network Access Method (NAM) communicates with application p r o g r a m s . R e f e r t o fi g u r e 1 - 2 w h i l e r e a d i n g t h e remainder of this overview section on network products. The network host software is collectively called the Network Access Method or NAM. NAM is used in several contexts throughout this manual and in the other network products documentation. NAM can refer to the interface between application programs and th e c o m m u n i c a ti o n s n e t w o r k ; t o t h e p r o g r a m s t h a t implement that interface, including the Applications Interface Program (AIP), the Network Interface Program (NIP), and the Peripheral Interface Program (PIP); or to the product NAM, which also includes the Network Supervisor (NS), the Communications Supervisor (CS), and the Network Validation Facility (NVF). I n fi g u r e 1 - 2 , N A M r e f e r s t o t h e s e t o f p r o g r a m s that implement the interface between the application programs and communications network. Network host software, shown in the left part of fi g u r e 1 - 2 , i n c l u d e s : Network Access Method Network Definition Language Processor 1-2 N e t w o r k Va l i d a t i o n F a c i l i t y Network utilities Network Access Method application programs CYBER Cross System NETWORK ACCESS METHOD The Network Access Method is the primary network host software. NAM interfaces between applications in the same host or between applications and the Communications Control Program in an NPU. Because the connections among NPUs can become extremely complex, the Network Access Method acts as an interface between host computer software at one end of the network and the terminals at the other end. A s i m p l e f r o n t - e n d N P U c o n fi g u r a t i o n a p p e a r s t h e same through the Network Access Method as a more complex linkage system; message routing by the host computer is performed in the same manner for both c o n fi g u r a t i o n s . T h e p h y s i c a l a n d l o g i c a l c o n fi g u ration of the elements involved in Network Access Method operation Is described in the Network Defi nition Language reference manual (listed in the preface). The host computer executes CDC-written or sitewritten service programs called application programs that are connected to the network via the Network Access Method (NAM). An application program can communicate with other application programs or service terminals connected to the network. All connections to the network are established by a portion of the network software called the Network Validation Facility, and the flow of data and proc essing along them is controlled through NAM. NAM incorporates the following features: • It is equally suitable for application programs written in COMPASS or high-level languages, such as FORTRAN. e I t i m p o s e s n o d a t a s t r u c t u r e s o n a n a p p l i cati on program. • It provides a way to handle unpredictable events, such as terminal operator interrupts. • It provides complete isolation of network com munications from the operating system. • It supports distinct classes of terminals by normalizing data formats and optionally per forming code conversion. Seventeen classes are defined by CDC; additional classes can be de fined by sites that provide their own supporting software. • It permits an application program to support clusters of real terminal devices as if the devices were separately addressable logical entities called virtual terminals. Virtual terminals are described at the end of this section. 60499500 R S " \ 3 o o» I -i- Vt 01 o -» I +J o —' CO -r- -r- 60499500 S 1-3 Basic services provided by NAM include: NAM establishes message paths (logical con nections) between an application program and terminals or between two applications (provided both parties have the correct network access security permiss i o n s ) . NAM breaks logical connections when asked to by the application program or the terminal, or when network conditions make it necessary (for ex ample, when a network shutdown occurs). After logical connections have been established, NAM passes incoming messages to the application, and accepts and forwards outgoing messages from the application. NAM queues incoming messages until the appli cation program requests them. This allows the application to service its connections with terminals and other applications in any desired o r d e r. The Network Interface Program (NIP) executes as a system control point. NIP coordinates the use of the communications network by all application pro grams, buffers data between the application programs and the network, and manages the logical connec tions . Each application program can have several connec tions; each connection is associated with a terminal device or with another application program. NIP translates between network addresses and the more convenient logical addresses that represent the connection to the application. NIP also establishes new connections as they are requested and terminates connections that are no longer needed or that have failed. An application can request NAM to convert the data on a logical connection from the network format. Such conversions determine the format and encoding of characters seen by the application. NAM provides the application program with its own set of protocols, making knowledge of de tailed network protocols unnecessary. Application Interface Program For incoming traffic, NAM allows the application program to group terminals with similar or re lated processing needs. The Application Interface Program (AIP) is a set of subprograms and buffers that resides in the appli c a t i o n p r o g r a m ' s fi e l d l e n g t h a n d p r o v i d e s a n interface to NIP and the network. This manual is primarily concerned with the use of AIP. NAM queues outgoing messages to regulate data flow through the network. NAM detects inactivity on any interactive data path and reports the condition to the appli cation program. NAM resolves resource contention among appli cation programs. An installation option is available to log message traffic for application program debugging. A second installation option permits the logging of appli cation program and message traffic statistics. NAM consists of four major modules: Peripheral Interface Program Network Interface Program Application Interface Program Queued Terminal Record Manager Peripheral Interface Program The Peripheral Interface Program (PIP) is a periph eral processor unit program that interfaces the central processor executed routines of NAM to the channel-connected local NPUs. PIP moves blocks of data between the central memory buffers of NAM and the NPU and reads and writes disk | fi l e s u s e d b y b a t c h d e v i c e s o r f o r fi l e t r a n s f e r . PIP also can detect when a local NPU needs initial izing. If the NPU cannot start its own loading, PIP requests the network supervisor to load the bootstrap program into the NPU. 1-4 Network Interface Program AIP statements are provided so that the application program can connect to and disconnect from the net work. AIP statements also control information exchange between the application program and NAM buffers. This information can be data, or it can be supervisory messages that coordinate the appli cation's execution with events that have occurred in the network. NAM might pass a supervisory mes sage to inform the application of a new connection that is requesting service, or that a failure has occurred. In the same way, the application program uses supervisory messages to communicate with NAM and the network elements. Queued Terminal Record Manager The Queued Terminal Record Manager (QTRM) is a set of subprograms that resides in the application pro g r a m ' s fi e l d l e n g t h a n d p r o v i d e s a h i g h l e v e l p r o cedural interface to the network. This package permits indirect use of a subset of AIP's features by programs with unsophisticated communications requirements. This utility permits programs to have a communications interface functionally similar to their mass storage interface. QTRM is discussed in section 8 of this book. NETWORK DEFINITION LANGUAGE PROCESSOR Before the network software can route data through the network and interface to operators for super v i s i o n , t h e d e fi n i t i o n o f t h e n e t w o r k c o n fi g u a t i o n m u s t fi r s t b e c o m m u n i c a t e d t o t h e s o f t w a r e . T h e Network Definition Language (NDL) is used to de s c r i b e t h i s c o n fi g u r a t i o n . T h e N e t w o r k D e fi n i t i o n Language processor (NDLP), a batch utility, trans l a t e s t h i s c o n fi g u r a t i o n a n d p r e p a r e s a n e t w o r k c o n fi g u r a t i o n fi l e ( N C F ) a n d a l o c a l c o n fi g u r a t i o n fi l e ( L C F ) . 60499500 S The NCF contains configuration information required by the network. The LCF contains host information required by the Network Validation Facility, such as automatic login parameters and application information. The LCF allows the network validation facility to validate and connect terminals to applications or appli cations to applications. T h e N D L i s d e s c r i b e d i n t h e N e t w o r k D e fi n i t i o n Language reference manual listed in the preface. NETWORK SUPERVISOR The Network Supervisor (NS) executes as a NAM application. It interfaces between the NPUs and CCP program files in the host. NS loads an NPU on request with the appropriate copy of the Communi cations Control Program from the host's network load file (NLF). NS also saves NPU dumps in the host's network dump file (NDF). The load and dump files are shown in figure 1-2. The host operator can obtain status information for NPU loading or dumping operations involving the copy of NS in the operator's host. More than one host can run a copy of NS; so that NS can load NPUs which are not accessible from a specific host. T h e N e t w o r k Va l i d a t i o n F a c i l i t y a l s o p e r f o r m s switching between application programs. NVF causes terminal disconnection processing when disconnection is appropriate. T h e N e t w o r k Va l i d a t i o n F a c i l i t y c o n t r o l s a p p l i c a t i o n program and terminal access to the network, as follows: • An application program wishing to communicate with terminals requests access to the network. This request is passed by NAM to the NVF for validation. (NVF also performs similar vali dation of terminal requests for host access.) Once NVF has determined that an application program or terminal is allowed to use the host's resources, it makes calls to NAM that create the logical connection for the transfer of data between the application program and the network. NVF also requests NAM to modify or delete these connections when terminal users request to com municate with other application programs or leave the network. • When an application program no longer desires t o u s e t h e n e t w o r k , i t c a l l s a n o ther NAM pro c e d u r e . T h i s r e q u e s t a l s o i s p a s s e d t o N V F, which causes NAM to delete all connections used for the application program - just as it does for a terminal or terminal device leaving the network. NETWORK UTILITIES COMMUNICATION SUPERVISOR The Communication Supervisor (CS) program executes as a NAM application. It can communicate with the network operators (NOP). CS allows a network operator at a terminal (an NPU operator or a diag nostic operator [DOP]) or at a host console (a host operator [HOP]) to obtain and change the status of network elements under its supervision, to communi cate with users at terminals, and to run diagnos tics. CS also responds to requests for network configuration data from an NPU. CS can run in one or more hosts. It also assists | the NPUs by providing them with terminal configura t i o n i n f o r m a t i o n f r o m t h e n e t w o r k c o n fi g u r a t i o n fi l e . NETWORK VALIDATION FACILITY The Network Validation Facility (NVF) also executes as a NAM application. It validates the terminal user's access to the host and an application pro gram's access to the computer network. NVF also maintains and reports application status to the host operator (HOP). As figure 1-2 shows, the NOS v a l i d a t i o n fi l e a n d t h e l o c a l c o n fi g u r a t i o n fi l e (LCF) supply validation information to NVF. N V F v e r i fi e s s u c h t e r m i n a l u s e r i n f o r m a t i o n a s family name, user name, and password. Before a terminal user can access an application program, | s u c c e s s f u l l o g i n m u s t o c c u r. W h e n l o g i n i s s u c c e s s f u l l y c o m p l e t e d , t h e N e t w o r k Va l i d a t i o n Facility causes NAM to notify the application p r o g r a m i d e n t i fi e d i n t h e l o g i n s e q u e n c e t h a t a terminal requests connection. 60499500 S Four utility programs either are included with or used by network host products: The Network Dump Analyzer (NDA) The Load File Generator (LFG) The Debug Log File Processor (DLFP) The Hardware Performance Analyzer (HPA) Network Dump Analyzer The network dump analyzer (NDA) produces a formatted printout from NPU dump files created by the Network S u p e r v i s o r. T h e s i t e a n a l y s t c a n u s e t h e s e d u m p s to help analyze CCP software or NPU hardware fail ures. The network dump analyzer uses the network d u m p fi l e ( N D F ) , w h i c h i s s h o w n i n fi g u r e 1 - 2 , a s input. You can find more information about the NPU dump a n a l y z e r i n t h e N O S Ve r s i o n 2 A n a l y s i s H a n d b o o k | listed in the preface. Load File Generator The load file generator (LFG) reformats CCP program files produced by the CDC CYBER Cross System's link and edit programs into a single random access file used by the Network Supervisor to load NPUs. This fi l e i s t h e n e t w o r k l o a d fi l e ( N L F ) , w h i c h i s o n e of the NPU files shown in figure 1-2. Yo u c a n fi n d m o r e i n f o r m a t i o n a b o u t t h e l o a d fi l e generator in the NOS Installation Handbook listed in the preface. 1-5 Debug Log File Processor CDC CYBER CROSS SYSTEM SOFTWARE T h e d e b u g l o g fi l e p r o c e s s o r ( D L F P ) c o n v e r t s t h e d e b u g l o g fi l e g e n e r a t e d b y t h e A p p l i c a t i o n I n t e r face Program into a printable report. The program mer can selectively list logged information through DLFP directives. The CDC CYBER Cross System software allows you to i n s t a l l , m o d i f y, a n d m a i n t a i n t h e C C P s o f t w a r e . I t is composed of these programs: You can find more information about the debug log file processor in section 6 of this manual. Hardware Performance Analyzer A fourth utility program, the hardware performance analyzer (HPA), is part of the NOS operating system. This utility program produces reports from infor m a t i o n o n t h e a c c o u n t a n d e r r o r l o g d a y fi l e s . N e t w o r k p r o d u c t s s o f t w a r e m a k e s s t a t i s t i c a l , e r r o r, and alarm message entries into these dayfiles. You can find more information about the hardware performance analyzer in the HPA reference manual listed in the preface. NAM APPLICATION PROGRAMS The host computer executes CDC-written or sitewritten service programs called application programs that are connected to the network through NAM. An application program can communicate with other application programs or terminals connected to the network. The CDC-provided NAM application programs are: Interactive Facility (IAF), which allows you to create files and to create or execute programs from a device without using card readers or line printers. IAF is described in Volumes 1 and 3 of the NOS 2 Reference Set. Remote Batch Facility (RBF), which permits you t o e n t e r a j o b fi l e f r o m a r e m o t e c a r d r e a d e r and to receive job output at a remote batch device. RBF is described in the Remote Batch Facility reference manual. Tr a n s a c t i o n F a c i l i t y ( TA F ) , w h i c h p e r m i t s y o u to implement on-line transaction processing under NOS by writing programs to be used by t e r m i n a l s . TA F i s d e s c r i b e d i n t h e TA F reference manual. Te r m i n a l V e r i fi c a t i o n F a c i l i t y ( T V F ) , w h i c h provides tests you can use to verify that an interactive console is sending and receiving d a t a c o r r e c t l y. T V F i s d i s c u s s e d i n t h e Te r minal Interfaces reference manual. Message Control System (MCS), which allows you to queue, route, and journal messages between COBOL programs and terminals. MCS is described in the Message Control System reference manual. T h e q u e u e fi l e allows you to hosts. The use the NOS Version Permanent allows you waits. The in the NOS 1-6 transfer facility (QTF), which t r a n s f e r q u e u e fi l e s b e t w e e n of this feature is described in 1 Reference Set, Volume 3. F i l e Tr a n s f e r F a c i l i t y ( P T F ) , w h i c h to transfer permanent files between use of this feature is documented Version 2 Reference Set, Volume 3. PA S C A L , w h i c h i s a c o m p i l e r ALGOL-60. By using PASCAL, you in statements that are processed to yield a variable number of instructions. patterned after can define tasks by the compiler actual program Formatter, which reformats PASCAL output into an object code format compatible with the com munications processor macro assembler output Macro Assembler, which assembles communications processor macro memory source programs and produces relocatable binary output. The source programs are written with symbolic machine, pseudo, and macro instructions. M i c r o A s s e m b l e r, w h i c h p r o v i d e s t h e l a n g u a g e needed to write a micro memory program. This assembler translates symbolic source program instructions into object machine instructions. Link Editor, which accepts object program mod ules and generates a memory image, suitable for executing in the 255x NPU. A u t o l i n k u t i l i t y , w h i c h s i m p l i fi e s p r o g r a m assignment and maximizes the amount of space assigned to handling buffers. Expand utility, which includes several hardware and software variables used to define a CCP load file for a given NPU configuration. See the preface for manuals that contain more information on the CDC CYBER Cross System. NETWORK PROCESSING UNIT AND COMMUNICATIONS CONTROL PROGRAM This subsection discusses the following network products, which are part of the communications network and allow a terminal to access the host computer over communication lines: The 255x series network processing unit (NPU), which connects a host to a terminal The Communications Control Program (CCP), which is the software in the NPU The middle portion of figure 1-2 shows the communi cations network. NETWORK PROCESSING UNIT An NPU handles front-end or remote data communica tions for the CDC CYBER 170 host. The Communica tions Control Program resides within the NPU. To understand CCP, you must have a basic under standing of the hardware on which CCP runs. Refer to the hardware manuals listed in the preface for a description of the hardware components of the NPU. 60499500 S COMMUNICATIONS CONTROL PROGRAM Ti m i n g s e r v i c e s , w h i c h r u n t h o s e p r o g r a m s o r functions that are executed either periodically o r f o l l o w i n g a s p e c i fi c t i m e l a p s e f o r t h e processor The Communications Control Program, which is the software that executes in the 255x NPUs, consists of: A multiplex subsystem, which interfaces with the 255x multiplexing hardware and performs character-by-character processing of tasks Base system software System autostart module program (SAM-P) I n t e r r u p t h a n d l e r, w h i c h c o n t r o l s t h e t r a n s i tion of the communications processor between d i ff e r e n t p r o g r a m i n t e r r u p t l e v e l s Service module (SVM) Host Interface Program (HIP) Initialization, which prepares the network for on-line operation Terminal Interface Programs (TIPs) Link Interface Program (LIP) Structure services, which build and maintain internal tables used for routing data Block Interface Program (BIP) Buffer maintenance, which dynamically allocates m e m o r y i n m u l t i p l e b u f f e r s i z e s f o r e f fi c i e n t memory use In-line and on-line diagnostics NPU console debugging aids Wo r k l i s t s e r v i c e s , w h i c h p r o v i d e l o g i c f o r 2 5 5 x interprogram communication through the use of worklists Performance and statistics programs Figure 1-3 shows how the major parts of CCP relate to each other. Standard subroutines, which provide support routines to handle arithmetic conversion, main tain page registers, and do miscellaneous tasks Base System Software The base system software executes programs, allo cates buffers, handles interrupts, and supports timing and data structures. It includes: System Autostart Module Th e s y s te m a u to s ta r t m o d u l e i s a n o ptional set of hardware and software that begins the loading of other CCP software from a host. A system monitor, which controls the allocation of resources for the communications processor NPU Console^ SVM \ (HostV ) 1 HIP BIP Debug ging Aids ixr r a TIP 4-> 4-» C O E O CD 0) • r - I . 3 —» o> O- a o TO > 4-» »- 4-» 0) 3 4-> CL a> a t . co a. O f CD 4-> t3 ■ o ■M O ' 1 1 ■ *c c ai a f= TO t _ cl SO HH •f- •r—' I •«- •It t4-> OT I O 4-» CD E L. O) a o a «cd a <0 G £ U 10 O'l- t•*-'—' o) ••- a o 3 a c- I | I ! I I I Ql O -j i_ COCDO. ■O IT I o •-• 91 —' U CO CO C H- CO l_ O) ■1- _ l E 91 tf « C 1- IH L . a. •M «J t O C < •r- e OT O «- «- 3 a> m- o. > z C TJ o c c O (0 -r- 3 cj* e a > 9i a. IH a. C-rT TJ a> c c O t- o | = U+>1 C Z C O CD —' CO •r- —> 4-> •«- 4 J O T 0 3 C O OT C >rl> 3 4O CO TJ 91 O 3 IH O>"0 * > "O QH —' C 4-< CJ ft O C TJ O H - 3 W a i. a> o IS V L n 3H- 4-> WD. OT 4-> £J f- O U 3 O f < O V w n~i c ■M CO CO E u c o co 91 ••- -r- l_ C E -» Ol c «- a o Oi o Q (uO 4-> 4-> co a I O U I ••co ■ „, « S ' m o cS , ™ CO Q. I ^ 3 j0X$£t*\ o a> - 6 ••- C - +s OT OT -i- H- -r- TJ t_. £ _ E a* a. v «h i_ -r- t_ > 3 3 ih i- —» ct. c a «_> w a o o h- c tn u a l o o f «t tj co a 01—» | 3 10 OT f a> c fo 3 «i- tj 4-> O- E C E •i(.CCO 3 (- 0> O O L. l/> O 4-> H- O •»- CD I_ O CT. _. •■O a>_j CO —' «_ c CO f c a a OT 4-> E •i-t 3 0> c c O. «0 C o O -r4J 4-> O 4i- OT 4-> O o jc ai O'lO E OT U •i- a> a, 4-> ■I 4-> O O •(0) 4-< C CD E C O CO O f- iO —' O) OT Q O ai —i ot C CO o cO •c! - .c O E W C T 01 •i- a. c e» co a E o L Ct 4-> H- f_ 4-> <- I 91 C 91 I VT V I c o c ■ LTTI ••- e 4-> CD CD t_ U CT> •io —> C_ a o_ a 60499500 S co x c ••- «o > o 4-> 4-> U 91 C C O .* iO 3 40) 1- 10 OT OT *■> *J 'i- 01 OT O OT > Ol CU 01 91 t- CO U C 3 Ol OT C T ) o c ct a OT i_ O 91 3 a> a. u t- ca e 4-> O U 3 0) *-> I * co c i_ •!O. E O I - - 0 l_ o> C a. 4- co 4-> E O T— > co o> 4-> ••- a x •iX U CO Q T J t_ 4-> 01 OT O "1 c *- 1-13 TABLE 1-2. SUPPORTED TERMINAL CLASSES Line Protocol Te r m i n a l Class Device and Archetype Terminal Mnemonic! Plotter Card Reader Line Printer Card Punch HASP (post-print) HASP (post-print) HASP (post-print) HASP (post-print) HASP (post-print) 14 HASP (pre-print) HASP (pre-print) HASP (pre-print) HASP (pre-print) HASP (pre-print) 10 200UT 200UT 200UT 11 714X 12 711 13 714 15 734 200UT 200UT 2780/3780 BisynchronousTt 16 2780 2780 2780 2780 17 3780 3780 3780 3780 3270 Bisynchronous 18 3270 Console M33 Asynchronous or X.25 PADtt 713 721 4ttt 2741 5 M40 6 H2000 7 X3.64§ 8 T4014 HASP Bisynchronous!! Mode 4 Synchronous 714X 714 3270 !A blank indicates the device type is not supported for the terminal class, t t p o i n t - t o - p o i n t c o n fi g u r a t i o n s o n l y. M u l t i d r o p c o n fi g u r a t i o n s a r e n o t s u p p o r t e d . 1 MX.25 PAD does not support terminal class 4. ^Terminal such as VT100 that follows ANSI standard X3.64. 1-14 60499500 S INFORMATION PROTOCOLS /gP^V This section describes the protocols governing information exchanged for communication between the Network Access Method (NAM) and each application program, and between application programs and their c o n n e c t i o n s . T h e fi r s t p o r t i o n o f t h i s s e c t i o n defines the terms and concepts needed to understand the description of information content in the remainder of this section. You should remember that parts of the network soft ware are written as application programs and also use these protocols. Some of the features and options discussed in this and subsequent sections, therefore, do not necessarily apply to site-written application programs; such information is indicated where it is described. INFORMATION FLOW Information flow in the network is defined from the viewpoint of the host computer. Information coming to the host is said to be traveling upline; Infor mation moving away from the host is said to be traveling downline. I n f o r m a t i o n fl o w w i t h i n a h o s t c o m p u t e r i s d e fi n e d from the viewpoint of a network application program. Information coming to the application is said to be traveling upline; information moving away from the application is said to be traveling downline. STRUCTURE PROTOCOLS The network software uses structure protocols of two types: A logical protocol based on the concept of a message A physical protocol based on various definitions of a block of data The conditions that create a logical message and the conventions governing the subdivision of messages a r e i n fl u e n c e d b y t h e p h y s i c a l s t r u c t u r e p r o t o c o l s the network uses. The events involved in actually creating a message are described later in this s e c t i o n u n d e r t h e h e a d i n g s I n t e r a c t i v e Te r m i n a l I n p u t C o n c e p t s a n d I n t e r a c t i v e Te r m i n a l O u t p u t Concepts. PHYSICAL PROTOCOLS AND NETWORK BLOCKS Information exchanged with the network is either: Data of no significance to the network software C o n t r o l i n f o r m a t i o n o f s i g n i fi c a n c e o n l y t o t h e network software 60499500 S Exchanges of control information and data between application programs, the network software, and a terminal user occur in logical messages comprising one or more physical network blocks. A network b l o c k i s a p h y s i c a l s u b d i v i s i o n o f a l o g i c a l e n t i t y. A network block is a grouping of information with known and controllable boundary conditions, such as length, completeness of the unit of communication, and so forth. Other network documentation refers to network blocks as network data blocks; this man ual uses the term data block only when referring to network blocks that do not contain control infor mation. Information exchanges between network processing units and host computers or between application programs use this physical structure protocol. Such exchanges occur in single network blocks. Information exchanges between network processing units use a different physical structure protocol. Such exchanges occur in sets of character and con trol bytes called frames. The relationship of a f r a m e t o a n e t w o r k b l o c k i s n o t s i g n i fi c a n t t o a n application programmer; frames are not discussed in this section. Information exchanges between network processing units and terminal devices use a third physical structure protocol. Such exchanges occur in sets of character and control bytes called transmission blocks. Information exchanged between a network processing unit and a public data network use packets as the physical structure protocol. When the application communicates with a terminal or other CDC host applications, the relationship of a packet to a n e t w o r k b l o c k i s n o t s i g n i fi c a n t t o a n a p p l i c a t i o n p r o g r a m m e r. T h e r e f o r e , t h i s r e l a t i o n s h i p i s n o t discussed in this section. However, the relationship of a packet to a network b l o c k m a y b e s i g n i fi c a n t i f th e a p p l i c ation is com municating with a foreign host's application. The mapping of network blocks into the X.25 protocol is discussed in the Communications Control Program I n t e r n a l M a i n t e n a n c e S p e c i fi c a t i o n s . LOGICAL PROTOCOL AND PHYSICAL BLOCKS Upline and downline information within the host and NPUs is always grouped into physical network blocks. Network data blocks are grouped into logical mes sages. Messages exchanged between an NPU and a device can also be grouped into physical trans mission blocks of one or more logical messages. Figure 2-1 shows these concepts. 2-1 Physical Network Blocks Network Block Network Block Network Block -•-100 characters -•-68 characters-*- -•-100 characters Network Block —9 characters-** Logical Messages Network Block Network Block Network Block Network Block -4-100 characters—»> -•-68 characters-*- -•-100 characters—%*■ ••9 characters-*- Terminal Transmission Block (Block Mode Operation Input) — Transmission -* Message Network Block Network Block -•-100 characters—*- «*o8 characters-*- Block -» Message 2 *■ ■+— Message 3—**■ Network Block Network Block -•-100 characters—*■ -*-9 characters-*- Figure 2-1. Physical and Logical Information Structures Network blocks are restructured into other types of blocks at points of entrance and exit from the net work processing units. Figure 2-2 shows these points as circles. Application-to-application connections have upline and downline blocks of varying sizes. The upline block size seen by one application is the downline block size used by the other application. Network Data Blocks CDC-defined batch devices size8 that are multiples words. Each such block is cal record unit (PRU) of a A network data block is a collection of character bytes, analogous to a clause in English. It is a partially independent unit of information and might need to be used with other blocks to form a message. A network data block can contain all or part of a message. Whether a message must be divided into several network data blocks is determined by the size of a network data block. Upline and Downline Block Sizes CDC-defined interactive devices have network data block sizes that are multiples of 100 character bytes for upline data and of varying sizes for downline data. The last block of an upline message need not contain a multiple of 100 characters. have network data block of 64 central memory one mass storage physi file. The network administrator establishes the appro priate size of upline and downline network data blocks for each terminal device or application-toapplication connection when the network configura t i o n fi l e i s c r e a t e d . S i z e s a r e u s u a l l y c h o s e n t o fi t a s i n g l e m e s s a g e i n t o a s i n g l e n e t w o r k d a t a block, or to optimize use of available network storage, or to satisfy some other administrative criterion. The administrator also establishes the correct size for a terminal transmission block in t h e n e t w o r k c o n fi g u r a t i o n fi l e . The initial size of an upline network data block is established by the site administrator (using the UBZ parameter of an NDL statement) when he or she d e fi n e s t h e d e v i c e o r a p p l i c a t i o n c o n n e c t i o n t h a t ^=^JV 2-2 60499500 R NETWORK BLOCKS application program should send in a single network block. The actual maximum size of a downline net work block is chosen by the application program sending the block. NAM imposes an absolute maximum size, however; this absolute maximum is described later in this section under the heading Block Buffer Areas. NETWORK BLOCKS The maximum length used for each network data block to or from a device can be independent of the ter minal's transmission block size. For example, a mode 4 console cannot accept a transmission block c o n t a i n i n g m o r e t h a n a s p e c i fi e d n u m b e r o f c h a r acters. An application program could divide a mul tiple line display transmitted to the console of such a terminal into network blocks smaller than the buffer space of the specific terminal. However, the application program does not need to divide its network blocks. The network software reconstructs any of the program's network data blocks longer than the terminal's buffer space into several ter minal transmission blocks of the correct size. HOST FRONT-END NPU ©TRUNK- REMOTE NPU FRAMES ■ e NETWORK BLOCKS 8: COMMUNICATION LINE ▶ TERMINAL TRANSMISSION BLOCKS -J OR X.25 PROTOCOL PACKETS 0^*^ TERMINAL DEVICE Figure 2-2. Block Reassembly Points produces the block. Once a size is established for a connection, that size determines the maximum num ber of characters an application program can receive as a 8ingle network data block. When an upline m e s s a g e i s t o o l o n g t o fi t i n t o a s i n g l e n e t w o r k data block, the NPU divides it into as many network data blocks as necessary before delivery to the application program. Application-to-application data is not split into smaller blocks before upline delivery if the data crosses a trunk line between two host nodes or if it is passed between two programs in the same host. Such data does not pass through the NPU software that prepares all other upline blocks. The initial size of a downline network data block is established by the site administrator (using the DBZ parameter of an NDL statement) when he or she d e fi n e s t h e d e v i c e o r a p p l i c a t i o n c o n n e c t i o n t h a t receives the block. The established size is a recommended maximum for the number of characters an 60499500 R An application program is advised of the upline and downline network data block sizes and terminal t r a n s m i s s i o n b l o c k s i z e d e fi n e d w h e n l o g i c a l c o n n e c t i o n t o a d e v i c e o c c u r s . Yo u r a p p l i c a t i o n p r o gram can change the established upline block size u s i n g c o n t r o l i n f o r m a t i o n c a l l e d a fi e l d n u m b e r / fi e l d v a l u e p a i r ; t h i s p r o c e s s i s d e s c r i b e d i n s e c tion 3. Your application program cannot change the established downline block size but can ignore it. Ignoring a recommended value can cause resource problems for the network software, particularly in the NPUs. The upline block size is enforced by the network software, which subdivides terminal transmission blocks input from a device into network data blocks o f t h a t s i z e o r s m a l l e r. T h e u p l i n e b l o c k s i z e d e fi n e s t h e l a r g e s t b l o c k t h a t N A M w i l l d e l i v e r t o the application program from a device. T h e d o w n l i n e b l o c k s i z e s d e fi n e d a r e a d v i s o r y values. That is, an application program can accept t h e s i z e s p e c i fi e d f o r a g i v e n l o g i c a l c o n n e c t i o n when the connection is made, or ignore that speci fication and choose its own value for maximum block size. If an application program transmits blocks larger than the downline block size, the network software does not subdivide them until it creates transmission blocks for the terminal. The downline terminal transmission block size is also enforced by the network software. Your appli cation program can change the established trans m i s s i o n b l o c k s i z e u s i n g a fi e l d n u m b e r / fi e l d v a l u e pair, as described in section 3. Application programs should use the downline block s i z e s d e fi n e d w h e n e v e r p o s s i b l e . I f t h e s i z e o f a n upline or downline network data block is not appro priate for the type of data being exchanged with a connection, device, you should discuss the situation w i t h t h e n e t w o r k a d m i n i s t r a t o r w h o c o n fi g u r e s t h e d e v i c e s b e i n g s e r v i c e d . T h e N e t w o r k D e fi n i t i o n Language reference manual listed in the preface contains guidelines for choosing upline and downline network data block sizes and for selecting terminal transmission block sizes. 2-3 Block Limits Te m p o r a r y n e t w o r k b l o c k s t o r a g e ( q u e u i n g ) o c c u r s f o r u p l i n e a n d d o w n l i n e t r a f fi c a t s e v e r a l p o i n t s In the network. The network adminstrator controls the storage space required by controlling the net work data block size and the number of blocks queued in each direction. INTERACTIVE TERMINAL INPUT CONCEPTS An interactive device can send or receive data in two modes: Normalized mode Transparent mode The number of blocks queued depends on several Network Definition Language (NDL) statement param eters. One of those parameters, the ABL parameter, establishes the application block limit. Another NDL statement parameter, the UBL parameter, estab lishes the upline block limit. The upline block limit determines the number of upline blocks NAM queues for your program before rejecting further input. The upline block limit can be changed by the appli cation program, using control information called a fi e l d n u m b e r / fi e l d v a l u e p a i r . T h i s p r o c e s s i s described in section 3. The application block limit is another device or a p p l i c a t i o n c o n n e c t i o n c o n fi g u r a t i o n p a r a m e t e r received by an application program (as the abl fi e l d v a l u e ) w h e n l o g i c a l c o n n e c t i o n o c c u r s . Yo u r application program cannot send more than that number of downline blocks for queuing within the network. The use of the application block limit is d e s c r i b e d i n s e c t i o n 3 a s p a r t o f t h e d a t a fl o w control description. Transmission Blocks Terminals send or receive data in physical groupings of character bytes; these groupings are called transmission blocks. The size of a downline trans m i s s i o n b l o c k f o r a s p e c i fi c d e v i c e i s a l s o e s t a b lished by the network administrator (using the XBZ parameter of an NDL statement). The value used might be dictated by hardware requirements. The significance of these data modes is described later in this section under Interactive Virtual Te r m i n a l D a t a . T h e f o l l o w i n g d i s c u s s i o n d o e s n o t apply to transparent mode data. In normalized mode, an interactive device transmits logical lines of data. Each logical line is analo gous to an English sentence. It is a complete unit of information. The device can transmit these lines one at a time, or in sets. It therefore can use one of two pos sible transmission modes. If the device can transmit only one character or one logical line in each transmission block, it is operating in line mode. If the device can transmit more than one logical line in a transmission block, it is operating in block mode. X . 2 5 d e v i c e s ( t e r m i n a l c l a s s e s 1 t h r o u g h 3 and 5 through 8), HASP and 2780/3780 devices (terminal classes 9, 14, 16, 17, and 18) always operate in line mode. Mode 4 devices (terminal classes 10 through 13 and 15) always operate in block mode. Only devices in terminal classes 1, 2, and 5 through 8 can operate in both modes. Line Mode Operation Transmission blocks exchanged with X.25 devices are called packets and have different size and protocol content requirements than transmission blocks exchanged directly with a terminal. The network administrator can control some of the character istics of packets. From a terminal user's viewpoint, transmitting a single logical line at a time is a buffered line mode form of input. Buffered line mode allows the user to select either character-by-character or line-by-line transmission (some devices have switches to select either option) without distinc tion. Each logical line is terminated by an endof-line indicator; this indicator might also trans mit the line from the terminal, if the terminal buffers lines of input. Each logical line becomes a separate network message when the NPU receives it. During upline transmissions from a device, the NPU reassembles the terminal's transmission block into network blocks. Each transmission block from a C D C - d e fi n e d b a t c h d e v i c e c a n c o n t a i n p a r t o f a single message, all of a single message, or several messages. Each transmission block from a CDCdefined console device can contain all of a single message, or several messages. When the NPU is told that an interactive device is operating in line mode, the NPU performs line turn around for it. When a message is sent upline in this mode, the NPU begins to send any downline data available for the device. That is, output is allowed after each logical line of input. (Refer to the KB option for the IN command, described in section 3.) During downline transmissions, the NPU resassembles network blocks into terminal transmission blocks. This conversion is done so that the application program need not be concerned that output is delivered in appropriately sized transmission blocks when the terminal cannot process blocks larger than a maximum size. Each transmission block can contain part of a single message or all of a single message; downline transmission blocks do not contain more than one message. 2-4 Block Mode Operation Some devices can transmit many logical lines in a single transmission block. (The terminal user sometimes can select or override this condition with a BLOCK or BATCH mode switch on the device.) Such devices are called block mode terminals. Mode 4 devices, for example, are always treated as block mode devices. 60499500 S /-*^%. Block mode terminals group logical lines in the terminal until the transmission key is pressed; these groups reach the network software as a single transmission block. The network software forwards each message to the application program as a sepa r a t e t r a n s m i s s i o n ; t h e e ff e c t r e s e m b l e s t y p e a h e a d entries from line mode terminals. Each logical line within the input transmission b l o c k e n d s w i t h a n e n d - o f - l i n e i n d i c a t o r. E a c h transmission block is terminated by an end-of-block i n d i c a t o r. Whether each logical line in a transmission block becomes a separate message or each transmission block becomes a single message is initially deter mined by the network administrator through the d e v i c e d e fi n i t i o n i n t h e n e t w o r k c o n fi g u r a t i o n fi l e . Yo u r a p p l i c a t i o n p r o g r a m o r t h e t e r m i n a l user can change that mode (refer to the EL and EB options of the EB command, described in section 3). When the NPU is told an interactive device is oper ating in block mode, the NPU does not perform line turnaround for it until all of its current trans mission block is received. When the terminal is serviced in this mode, the NPU holds all downline data available for the device until it detects the e n d - o f - b l o c k i n d i c a t o r. T h a t i s , o u t p u t i s a l l o w e d after each logical line of input only if each logi cal line of input is transmitted in a separate block. (Refer to the BK and PT options for the IN command, described in section 3.) A terminal might have a block transmission key that does not generate the end-of-block indicator. When the block transmission key generates the end-of-line i n d i c a t o r, t h e t e r m i n a l i s o p e r a t i n g i n l i n e m o d e , and logical lines are transmitted from the terminal as separate messages. When the transmission key does not generate either t h e c u r r e n t l y d e fi n e d e n d - o f - l i n e i n d i c a t o r o r t h e c u r r e n t l y d e fi n e d e n d - o f - b l o c k i n d i c a t o r, t h e t e r minal user must be aware of the distinction. If possible, the user should change the end-of-block i n d i c a t o r t o t h e c o d e a c t u a l l y s e n t b y t h e k e y. I f not possible, if the code sent by the key cannot be determined, or if the key does not generate a code, then the user must enter an indicator as the last data character before pressing the transmission k e y. T h e s e p o s s i b l e c o n d i t i o n s e x i s t : If the transmission key is pressed immediately after pressing the key that generates an endof-line indicator, a message is generated. This result Is the same as if the device was opera ting in line mode and the key generating an end-of-line indicator had been pressed, or as if the key generating an end-of-block indicator had been pressed. If the tra n s m i s s i o n k e y i s p r e s s e d i m m e d i a t e l y after pressing the key that generates an endo f - b l o c k i n d i c a t o r, a m e s s a g e i s g e n e r a t e d . This result is the same as if the device was operating in line mode and the key generating an end-of-line indicator had been pressed, or as if the transmission key had generated an e n d - o f - b l o c k i n d i c a t o r. r If the transmission key is pressed without pressing an end-of-line key or end-of-block key a s t h e l a s t p r i o r a c t i v i t y, a n i n c o m p l e t e m e s s a g e e x i s t s . T h e Te r m i n a l I n t e r f a c e P r o g r a m (TIP) generates an upline network data block if enough information was received. If a downline block is available for the device, the data remains queued while the TIP waits for comple tion of the input transmission block. This situation exists until the terminal user enters more data, ending with either an end-of-line or a n e n d - o f - b l o c k i n d i c a t o r. Physical and Logical Lines A logical line of input can contain one or more physical lines; a physical line ends when vertical repositioning of the cursor or carriage occurs. If t h e d e v i c e r e c o g n i z e s a l i n e f e e d o p e r a ti o n d i s ti n c t from a carriage return operation, a physical line ends when a linefeed is entered. If no distinction exists between vertical and horizontal reposition ing, a physical line is identical to a logical line. A physical line of input is relevant to the network software only when a backspace character is proc e s s e d . Te r m i n a l u s e r s c a n n o t b a c k s p a c e a c r o s s physical line boundaries to delete characters in physical lines other than the current one. A logical line of input always ends when an inter active device transmits an end-of-line or end-ofb l o c k i n d i c a t o r. A n u p l i n e m e s s a g e i s n o r m a l l y transmitted to the host as soon as a logical line ends. End-of-Line Indicators The end-of-line indicator is initially established by the network administrator when he or she defines t h e d e v i c e i n t h e n e t w o r k c o n fi g u r a t i o n fi l e . T h e i n d i c a t o r i s e i t h e r a s p e c i fi c c o d e , a c o d e s e q u e n c e , o r a s p e c i fi c c o n d i t i o n a s s o c i a t e d w i t h use of a certain key or set of keys by the terminal o p e r a t o r. T h e d e f a u l t k e y s f o r g e n e r a t i n g a n e n d of-line indicator are shown in table 2-1. Yo u r a p p l i c a t i o n p r o g r a m o r t h e t e r m i n a l u s e r c a n change this indicator (refer to the EL command options, described in section 3). The NPU normally discards any end-of-line indicator character code when it detects the end of a logical line. Multiple Logical Lines in One Message For upline data from an interactive device, the n e t w o r k a d m i n i s t r a t o r c a n c o n fi g u r e t h e d e v i c e s o that the NPU ignores the character or event that normally causes it to transmit a message as soon as a logical line ends. Instead, he or she can make the NPU use a different character or event to trig g e r t r a n s m i s s i o n t o t h e h o s t . Yo u r a p p l i c a t i o n program or the terminal user can also make this change (refer to the EB option of the EL command, described in section 3). „ 60499500 R 2-5 TABLE 2-1. DEFAULT MESSAGE DELIMITER AND TRANSMISSION KEYS Te r m i n a l Class Archetype Te r m i n a l End-of-Line Key Block Mode Transmission Key 1 Teletype Model 30 series RETURN RETURN CTRL and D 2 CDC 713, 751, 752, 756 RETURN or CARRIAGE RETURN RETURN or CARRIAGE RETURN SEND or CONTROL and D 3 CDC 721 NEXT NEXT NEXT 4 IBM 2741 RETURN RETURN None 5 Teletype Model 40-2 RETURN RETURN SEND 6 Hazeltine 2000 CR CR SHIFT and XMIT or CTRL and D 7 VT 100 CARRIAGE RETURN CARRIAGE RETURN CTRL and D 8 Tektronix 4014 RETURN RETURN CTRL and D 1 thru 3 5 thru 8 X.25 packet assembly/ disassembly (PAD) console device Same as above Packet transmission key Packet transmission key 9 HASP (postprint) Va r i a b l e Va r i a b l e None 10 CDC 200 User Terminal RETURN None SEND 11 CDC 714-30 NEW LINE None ETX 12 CDC 711 NEW LINE None ETX 13 CDC 714-10/20 NEW LINE None ETX 14 HASP (preprint) Va r i a b l e Va r i a b l e None 15 CDC 734 NEW LINE None SEND 16 IBM 2780 End of card End of card None 17 IBM 3780 End of card End of card None 18 IBM 3270 ENTER None None 19 thru 28 Reserved for CDC use 29 thru 31 S i t e - d e fi n e d Unknown Unknown Unknown This option allows the terminal user to pack many ■ logical lines into one upline network block. Each line includes the end-of-line indicator as a data character that terminates it. This is a form of line mode, because the host receives only one message. From the terminal user's viewpoint, one message is many logical lines. End-of-Block Indicators The end-of-block indicator is initially established for the device by the network administrator when he 2-6 Character or Line Mode Transmission Key or she defines the device in the network configura t i o n fi l e . T h e i n d i c a t o r i s e i t h e r a s p e c i fi c c o d e , a code sequence, or a specific condition associated with use of a certain key or set of keys by the t e r m i n a l o p e r a t o r. The default keys for generating an end-of-block indicator are shown in table 2-1. In X.25 packetswitching networks, the packet transmission condi tion Is always the end-of-block indicator. When the device is not operating in block mode, the end-of-block indicator has the same effect as an e n d - o f - l i n e i n d i c a t o r. 60499500 S Your applic a t i o n p r o g r a m o r t h e t e r m i n a l u s e r c a n change the end-of-block indicator (refer to the EB command, described in section 3). This indicator normally is discarded when the last message from the device is sent upline. INTERACTIVE TERMINAL OUTPUT CONCEPTS A downline message can contain no logical lines (an empty block or a transparent mode block) or many logical lines of output. Each logical line can contain many physical lines of output. A logical line of output ends when the application program embeds a code or set of bytes for that purpose in the message, or when the block containing the line ends. A downline message ends when an application program indicates that condition. Because downline messages can always contain more than one logical line, an interactive device can always receive the output equivalent of a multiplemessage block mode input transmission. The appli cation program can group logical lines as necessary t o a c h i e v e t h a t e ff e c t . Application programs can exchange data only in transparent mode. Upline and downline messages are not subdivided into logical lines. Embedded codes are not used to terminate lines or network data blocks within the messages. INFORMATION IDENTIFICATION PROTOCOLS CDC network host software uses four general con ventions for identifying network blocks. These conventions indicate the following things to the application program sending or receiving the block: The kind of message of which the block is a part; this is called the message type. The kind of information within the block; this is called the application block type. The areas of host central memory containing the block and containing information describing the block; these are called the block buffer areas. I f a m e s s a g e fi t s i n t o a d o w n l i n e n e t w o r k d a t a block, the block becomes a single-block message. If one downline message cannot be fit into a single network data block, the application program can s p l i t i t i n t o a s m a n y b l o c k s a s n e c e s s a r y. A n application program generally sends a single message (consisting of as many logical lines as necessary) as the response to one input message from an interactive device. The following subsections describe these conven tions. BATCH DEVICE DATA APPLICATION PROGRAM MESSAGE TYPES Batch devices can be serviced as site-defined device types through the interactive virtual terminal interface described later In this section. A sep arate set of interface protocols also exists for b a t c h d e v i c e s s e r v i c e d b y C D C - w r i t t e n Te r m i n a l Interface Programs and application programs. An application program message is a complete logical unit of information, comprising one or more physical network blocks. A message can be a line of data to o r f r o m a t e l e t y p e w r i t e r, a m a s s s t o r a g e fi l e , a service request to NAM, or a screen of information for a cathode ray tube. These programs require large amounts of data to be exchanged between a host computer's mass storage devices and CDC-defined batch devices. Such batch data is therefore assembled into messages of one or more network data blocks. Each network data block contains one or more mass storage physical record units (PRUs). Because only the CDC-written Remote Batch Facility can use the special interface for C D C - d e fi n e d b a t c h d e v i c e s , t h e r e m a i n d e r o f t h i s manual does not discuss the requirements this interface imposes on batch data or batch device support. There are two kinds of application messages, data and supervisory. Data messages convey information of significance only to a device user or to another application program. Data messages can consist of more than one network data block. 0H&*\ r Application programs in different hosts exchange data by transferring the contents of 8-bit bytes through the network, as if the data were sent to or received from an interactive virtual terminal. The source or destination of the block; these c o n n e c t i o n i d e n t i fi e r s a r e c a l l e d t h e a p p l i c a tion connection number and the application list number. Supervisory messages convey information of signifi cance only to the network software. Supervisory messages consist of only one network block. Supervisory messages are used by an application program to control data messages between itself and logical connections. APPLICATION-TO-APPLICATION INPUT AND OUTPUT CONCEPTS APPLICATION BLOCK TYPES Application programs within the same host exchange data by transferring the contents of 60-bit central memory words between control points. A program can create a connection to itself and exchange data on that connection. The network block is the basic unit of information exchange for the application program. There are several types of network blocks that an application program can exchange. Each type has an identifying application block type number assigned to it. The following types exist: 60499500 R 2-7 Null blocks, which are dummy input blocks indi cating the absence of any data or supervisory information. These blocks have an application block type number of 0. Blocks containing portions of data messages, but not terminating those messages. These blocks have an application block type number of 1; such blocks are called BLK blocks in other network documentation. Blocks that terminate data messages. These blocks can include physically empty blocks when such blocks c o n v e y l o g i c a l i n f o r m a t i o n . B l o c k s that terminate data messages have an application block type number of 2; such blocks are called MSG blocks in other network documentation. Blocks constituting supervisory messages. These blocks have an application block type number of 3; such blocks include the information in blocks called CMD, BACK, BRK, ICMD, ICMDR, and other acronyms in some network documentation. B l o c k s c o n t a i n i n g p o r t i o n s o f q u a l i fi e d d a t a messages, but not terminating those messages. These blocks have an application block type number of 6; such blocks are called QBLK blocks in other network documentation. Blocks that terminate qualified data messages. These blocks can include physically empty blocks when such blocks convey logical i n f o r m a t i o n . B l o c k s t h a t t e r m i n a t e q u a l i fi e d d a ta m e s s a g e s h a v e a n a p p l i c a t i o n b l o c k t y p e number of 7; such blocks are called QMSG blocks in other network documentation. Qualified data can be used only on application-toapplication connections. Such data has no special s i g n i fi c a n c e t o t h e C Y B E R 1 7 0 n e t w o r k s o f t w a r e . Qualified data is intended for application programs in order for such programs to communicate control information among themselves that is outside the data stream but synchronous with it. For example, u s e r i d e n t i fi c a t i o n i n f o r m a t i o n ( q u a l i fi e d d a t a ) p l a c e d b e f o r e d a t a i n t r a n s f e r r i n g fi l e s . Blocks with an application block type of 6 or 7 cannot be sent or received on the logical connection between blocks with an application block type of 1 or 2. Qualified data can only be sent or r e c e i v e d a f t e r a n u n q u a l i fi e d m e s s a g e e n d s o r before an unqualified message begins. BLOCK BUFFER AREAS All network blocks are exchanged between the appli cation program and the network software using two k i n d s o f b u ff e r s : The block header area The block text area 2-8 Block Header Area Block header areas each contain a 60-bit word describing the contents of a corresponding text area. This block header word accompanies the block in the corresponding block text area during the exchange between the application program and NAM. For downline blocks, the application program creates the block header and NAM interprets it. For upline blocks, NAM creates the block header and the appli cation program interprets it. Because the contents of the header word depend on the contents of the text area, the header word for mats are described in this manual after the text a r e a c o n t e n t p r o t o c o l s a r e d e s c r i b e d . To s i m p l i f y the header area descriptions, they are presented in four separate formats: For upline network data blocks For downline network data blocks For upline supervisory message blocks ^ ^ S k For downline supervisory message blocks Block Text Area A block text area is separately addressed from its header area and need not be contiguous to it. The text area contains the single network block described by the header word in the header area. Text areas can be of varying length, as necessary to accommodate various block lengths. The text area has a maximum length expressed as a whole number of central memory words. Text areas can be up to 410 central memory words long. The length of the text area used by the application program is described to the network by the applica tion program. The text area length must be calcu lated from the maximum length of the blocks it will contain. Block length is distinct from text area length. The length of a block depends on the type and use of the block. Null blocks have zero length and do not require any central memory words for their text area. Other block types have lengths expressed in character byte units, although the bytes need not actually contain characters. Blocks are always a whole number of character units long but do not have to be a whole number of central memory words long. Not all words in the text area u s e d f o r a g i v e n b l o c k n e e d t o b e fi l l e d w i t h meaningful information. Supervisory message blocks are 1 through long. Data blocks have lengths of zero maximum number of characters that can maximum text area of 410 words, or 2043 w h i c h e v e r o c c u r s fi r s t . 410 words up to the fi t i n t h e characters, 60499500 S Downline messages containing more characters than the text area can hold must be divided into several network data blocks. Each such block must fit into the text area. Each of these blocks should also meet the network block size requirement and must be t r a n s m i t t e d s e p a r a t e l y. terminal class) differently than input from devices with small block sizes. This processing occurs in different portions of the program code; therefore, the application program assigns the devices using large blocks to list 1 and the devices using small blocks to list 2. Upline data blocks can be truncated to fit into the e x i s t i n g t e x t a r e a . A l t e r n a t i v e l y, t h e a p p l i c a t i o n program can use a large text area for large blocks and a small text area for small blocks. An application program treats all devices the same and must process blocks from them on an e q u a l b a s i s . A c c o r d i n g l y, i t a s s i g n s t h e m a l l to the same list. CONNECTION IDENTIFIERS Two parameters identify and control the routing of messages: The application connection number The application list number Both parameters are used in AIP calls that fetch incoming network data blocks. The application con nection number is used in the block header words of outgoing blocks. Application Connection Number The application connection number is a 12-bit inte ger used to address a particular logical connection. The connection number can be used as an index into a control structure (for example, the number of a connection could be the ordinal of a corresponding device table) or used in any other manner the application chooses. These connection numbers are assigned serially by NAM for each application program. Numbers that become available because of disconnections are reassigned to subsequent connections. A connection number of zero indicates the control connection on which asynchronous supervisory mes sages are sent and received. (See Supervisory Mes sage Content and Sequence Protocols, later in this section.) Application List Number NAM permits an application program to group connec tions with similar processing requirements into n u m b e r e d l i s t s . T h i s i s a n e f fi c i e n c y f e a t u r e , relieving the application of the need to specify individual connections each time upline block proc essing is required. Instead, when a request is made for a block from a connection on a list, any device or application program connections with empty input queues are automatically skipped and a block from the first nonempty queue is returned. A single null block is returned when none of the connections on the list have any input queued. This feature can be used in many kinds of list structures. For example: An application program must process input from devices with large network block sizes (such as i n t e r a c t i v e g r a p h i c s t e r m i n a l s i n a s p e c i fi c 60499500 R An application program four geographical areas; separately because of A c c o r d i n g l y, t h e y a r e through 4. services terminals in each must be treated varying state laws. assigned to lists 1 An application program services devices that should be treated the same, but with the fol lowing complication: when the application has received a block from a particular terminal, it must perform some time-consuming function that prevents it from immediately processing another block from the same terminal. Accordingly, the application places all connections on list 1 and issues an input request on list 1. When a block for connection x is returned, It temporarily inhibits receipt of data on connection x before it issues the next input request. When it can accept another data block from the terminal using logical connection x, the application program sends a supervisory message to reverse t h e e ff e c t o f t h e t e m p o r a r y i n h i b i t i o n . The parameter used for this kind of processing is c a l l e d t h e a p p l i c a t i o n l i s t n u m b e r. T h e a p p l i c a t i o n list number is an integer from 0 through 63 speci fi e d b y t h e a p p l i c a t i o n p r o g r a m w h e n i t a c c e p t s a connection. NAM links message input (upline) queues of all connections that have been assigned the same l i s t n u m b e r. A n a p p l i c a t i o n p r o g r a m c a n r e q u e s t blocks from these linked queues in rotation (with out specifying individual connections) by including the assigned application list number in a NETGETL or NETGTFL statement (described in section 5). E a c h l i s t n u m b e r i d e n t i fi e s o n e c o n n e c t i o n l i s t . A connection list can be viewed as a table of connec tion numbers. These connection numbers are entered in the table in the order in which the application p r o g r a m a s s i g n s t h e c o n n e c t i o n s t o t he list. When the list is scanned for input from a connection, the connections are examined in the order in which they are entered in the table. The application program explicitly assigns the list number to each logical connection when the connec tion is established. The logical connection cor responding to application connection number zero already exists when the application is connected to the network. For this reason, application connec tion number zero is automatically assigned to application list number zero without program inter vention. The application program does not have to maintain any tables associating connection numbers and list numbers. The application program need not use list processing at all. 2-9 /0^^\ DATA MESSAGE CONTENT AND SEQUENCE PROTOCOLS In normalized mode, the characteristics of an interactive virtual terminal are as follows: Input and output can occur simultaneously. Data blocks consist of 1 through 410 60-bit words or 1 through 2043 8-bit or 12-bit bytes. The fields within these blocks convey information to or from the terminal user. Data blocks have associated block header words. These header words convey information to the network software concerning the contents of the corresponding text a r e a b u ff e r. Data blocks are sent and received through the Application Interface Program routines described in section 5. The application program fetches data messages one block at a time. When the connection q u e u e i s e m p t y, a n u l l b l o c k w i t h a n a p p l i c a t i o n block type of zero is returned. The network software provides a mechanism for the application program to determine when data blocks are queued. When a call to an AIP routine is com pleted, a supervisory status word at a location d e fi n e d b y t h e a p p l i c a t i o n p r o g r a m i s u p d a t e d t o indicate whether any data blocks are queued. As long as the application program continues to make calls to AIP routines, it can test the supervisory status word periodically (instead of attempting to fetch null blocks from all application connection numbers). The supervisory status word and the use of NETWAIT are described in section 5. The protocols for data message text and the use of the text area buffer depend on whether the logical connection Is with another application program, an interactive virtual terminal device, or a passive batch device. Blocks exchanged with other applica tion programs in the same host have the fewest r e q u i r e m e n t s a n d m o s t fl e x i b l e s t r u c t u r e . B l o c k s exchanged with CDC-defined batch devices using the special batch device protocol have the most requirements and the least flexible structure. Requirements for blocks exchanged with other appli cation programs in the same host are covered in the fi g u r e s l a t e r i n t h i s s e c t i o n , a n d i n s e c t i o n 3 . Blocks exchanged between application programs are g r o u p s o f b i n a r y c h a r a c t e r b y t e s w i t h n o p a r i t y, equivalent to transparent mode data. Such blocks can use the eighth bit of an 8-bit byte as data and need not have the transparent mode bit set in their block header; see the decriptions of transparent mode and block header word content later in this section. The requirements for exchanging blocks with inter active virtual terminal devices are described below. Requirements for blocks exchanged with batch devices through the special batch device Interface are not described because that interface is available only to RBF. INTERACTIVE VIRTUAL TERMINAL DATA An interactive virtual terminal can be either a CDC-defined console device or a site-defined device. An interactive virtual terminal can send and receive data in two modes: normalized mode and transparent mode. The format and content of data in these modes is described later in this subsection. The charac teristics of an interactive virtual terminal depend on which data exchange mode is currently used. 2-10 A p a g e o f o u t p u t h a s i n fi n i t e ( n o p h y s i c a l ) width; logical lines are divided automatically a s n e e d e d t o fi t t h e p h y s i c a l l i n e r e s t r i c t i o n s of the device. A p a g e o f o u t p u t h a s i n fi n i t e ( n o p h y s i c a l ) length; sets of logical lines are divided auto m a t i c a l l y a s n e e d e d t o fi t t h e p h y s i c a l restrictions of the device page. A logical line of output cannot be longer than a single network block; a single message can contain an infinite number of logical lines. Characters are either 7-bit ASCII codes using zero parity (bit 7, the eighth bit, is always zero in upline data and ignored in downline data), or 6-bit display codes with no parity. Logical lines of input are terminated by a changeable character or condition; this ter minator is the end-of-line or end-of-block indicator described earlier in this section. The input terminator is not part of the data seen by an application program unless the full-ASCII feature is used (this is explained later in this subsection and in section 3 where the FA command is described). Logical lines of output are terminated by an ASCII unit separator character code (US, repre sented by the hexadecimal value IF) or the end of a zero-byte terminated record. The applica tion program places this terminator in the data. No cursor positioning actions are required to acknowledge receipt of input, and no timing adjustments need to be made at the end of phys ical output lines. Logical lines can be divided into physical lines by embedding optional format control characters in downline blocks. In transparent mode, the characteristics of an interactive virtual terminal are as follows: Input and output can occur simultaneously. A p a g e o f o u t p u t h a s i n fi n i t e ( n o p h y s i c a l ) width. A p a g e o f o u t p u t h a s i n fi n i t e ( n o p h y s i c a l ) length. Characters are either 7-bit codes using zero parity (bit 7, the eighth bit, is always zero in upline data and ignored in downline data), or codes of a terminal-dependent code set with terminal-dependent parity. Messages of input are terminated by a change able character or condition; this terminator is one of the message or mode delimiters described later in this section. The mode delimiter is not part of the data seen by an application program. 60499500 R f ^ ^ K Messages of output are terminated by a condition or event chosen by an application program (each network block is separately designated as transparent or normalized when sent). Cursor positioning actions might be required, and timing adjustments might need to be made at the end of physical output lines. Line Turnaround Convention The interactive virtual terminal concept imposes some conventions on the content and sequencing of blocks exchanged with an interactive device. The primary convention of block sequencing involves the direction and time of block transmission. The application program can service an interactive device on a connection as if the device always operates in a full-duplex mode. That is, input and output can occur independently; the terminal user can enter several logical lines at once (an opera tion called typeahead), without waiting for a response to each line. Application program input and output need not a l t e r n a t e . H o w e v e r, s o m e d e v i c e s c a n n o t a c t u a l l y operate that way. To prevent a loss of synchroni zation between input and output at such devices, a line turnaround convention exists. This convention consists of the following events. ymS^N After a block of type 2 (the end of a message) is sent to a device, no more blocks should be sent downline until at least one block is input from the same device. An application program therefore should never send the last block of a message down line until it is ready to wait for input. A network data block of type 2 has special signifi cance to the network software during output to an interactive device. When such a block is the last block of the output stream, the network software: Unlocks the keyboard of an interactive device being serviced as terminal class 4 (an IBM 2741). Sends an X-ON code to start an automatic paper tape input mechanism, if one has been defined as the input mechanism for the device. Paper tape operation is explained in more detail in section 3 where the IN and OP commands are described. Starts polling devices in terminal classes 10 through 13 and 15 (mode 4 consoles), and terminal class 18 (3270 consoles). I d e n t i fi e s a n a u t o m a t i c i n p u t p r o m p t t o b e returned, if the application program uses this feature. When this feature is used, the network software delivers the block to the device and r e t a i n s t h e fi r s t 2 0 c h a r a c t e r s i n t h e N P U ' s input buffer. Subsequent input from the device is attached to the end of the retained data. (If more than one logical line is received from t h e d e v i c e , t h e fi r s t i s a p p e n d e d t o t h e retained data.) All logical lines are transmitted to the host as received from the device. 60499500 S If the terminal is a half-duplex device, such as a 2741 or a paper tape reader/punch, it must enter input before the network software will deliver additional output messages. Other devices are not subject to this restriction. The requirement for an input block after a block of t y p e 2 i s o u t p u t c a n b e s a t i s fi e d i n s e v e r a l w a y s by terminal operators. An empty input line can be entered and will reach the application program as a block of type 2 but containing nothing. A line containing data can be entered and will reach the application program as one or more network data blocks. Devices can interrupt output by entering input. When this occurs, the network software stops the output until the terminal user completes the input (using an end-of-line or end-of-block indicator). Ou tp u t th e n r e s u m e s a t th e n e x t c h aracter of the current physical and logical line. INTERACTIVE VIRTUAL TERMINAL EXCHANGE MODES The conventions of block content depend on the mode in which the block is exchanged. There are two possible exchange modes, normalized mode and trans parent mode. The latter is referred to in other documentation as binary mode. This manual uses t r a n s p a r e n t m o d e t o i n d i c a t e e x c h a n ge of a block that is not in normalized mode. Normalized Mode Operation The interactive virtual terminal interface assembles message character streams into upline network data blocks from terminal transmission blocks. It dis assembles character streams from downline network data blocks, reassembling them into terminal trans mission blocks. The assembly operation is controlled by the termi nation of logical lines. The disassembly operation can be controlled by the termination of messages. The disassembly operation can also be modified by format control characters embedded in each block, and by the page width defined for the device (refer to the PW command in section 3). End of Logical Lines in Input L o g i c a l l i n e s r e a c h a n a p p l i c a ti o n p r ogram as one or more network data blocks. Logical lines usually end when a message ends and do not contain the character or code sequence defined as the end-ofl i n e o r e n d - o f - b l o c k k e y. However, two special cases exist. Logical lines do contain the end-of-line or end-of-block codes when the device is operating in full-ASCII editing mode (described later in this section). Logical lines also contain the end-of-line code when the end-ofline key is changed to be the default end-of-block key for the device (see the EB option of the EL command described in section 3). In the latter case, the transmission block becomes a message, and the logical lines within it have no effect on con struction or type of network data blocks. 2-11 Logical and Physical Lines in Output Upline Character Sets and Editing Modes The application program does not need to equate a logical line of output to a complete message nor does it need to create a separate network block for each physical line of output. A single logical line can contain many complete physical lines. A single block can contain many complete logical lines, and a message can be one or many such blocks. A phys i c a l o r l o g i c a l l i n e c a n n o t , h o w e v e r, b e c o n t i n u e d from one block to another. The network protocol permits entry from a device of co d e s l e ss th a n o r e q u a l to 8 b i ts p e r ch a racter; however, a normalized mode character always reaches an application program as one of the 128 ASCII c h a r a c t e r s d e fi n e d i n a p p e n d i x A . R e c e i p t o f a n entered character by the application program depends o n t h e e d i t i n g f u n c t i o n s p e r f o r m e d b y t h e T I P. Three editing modes exist for the TIP when it proc esses normalized data: Logical lines within downline blocks are ended by a n e n d - o f - l i n e i n d i c a t o r. U n l i k e t h e e n d - o f - l i n e indicators used in upline blocks, downline blocks always contain codes for the end-of-line function; the codes used downline are always the same and usually differ from the codes used upline. The downline end-of-line indicator varies according to the application character type of the block; appli cation character types are described later in this section. Bytes used to store indicators must be included when determining the number of characters comprising a downline block. Complete interactive virtual terminal editing mode The end-of-line indicator in 60-bit character bytes (application character type 1) is determined by the programs exchanging the block. No predefined endof-line indicator exists for that application char acter type. The end-of-line indicator in blocks using 8-bit characters in 8-bit or 12-bit bytes (application character types 2 or 3) is determined by whether the block is sent in normalized mode or transparent mode (described later in this section). In trans parent mode, no end-of-line indicator exists. In normalized mode, the end-of-line indicator is the ASCII unit separator character US. The end-of-line indicator in blocks using 6-bit character bytes (application character type 4) is 12 to 66 bits of zero; these bits are rightj u s t i fi e d t o fi l l t h e l a s t c e n t r a l m e m o r y w o r d involved. This convention makes each logical line the equivalent of a zero-byte terminated logical record. T h e 6 - b i t o p t i o n r e q u i r e s a r i g h t - j u s t i fi e d 1 2 - b i t byte in at least one central memory word. On com puters using the 64-character set, the colon is represented in 6-bit display code by six zero bits. On such systems, if the application needs to send colons to the terminal console in 6-bit display code, care must be taken to make sure that a string of colons is not interpreted as an end-of-line i n d i c a t o r. A c o l o n p r e c e d i n g t h e e n d - o f - l i n e i n d i cator is considered as part of the indicator and not as a colon when it occupies one of the two right most character positions in the next-to-last central memory word of the block or any of the eight left most positions in the last word of the block. A l l p r e d e fi n e d e n d - o f - l i n e i n d i c a t o r s e m b e d d e d within a block are d i s c a r d e d b y t h e n e t w o r k s o f t ware and produce no characters on the console output device. The network software can perform carriage or cursor repositioning when an end-of-line indica tor is encountered; this operation is described later in this section under Format Effectors. 2-12 Special editing mode Full-ASCII mode Devices always begin a connection with the network in normalized mode. The initial upline editing mode is established for each device when the device is connected to the host. This mode is complete editing. The application program or the terminal u s e r c a n c h a n g e t h a t m o d e u s i n g t h e S E o r FA commands, described in section 3. Complete Editing During complete editing operations, the following hexadecimal character codes cannot be received by the network application program: 00 (the ASCII character NUL) OA (the ASCII character LF) 7F (the ASCII character DEL) The backspace character code currently defined for the device (see the BS command in section 3) T h e e n d - o f - l i n e c h a r a c t e r c u r r e n t l y d e fi n e d f o r the device (see the EL command in section 3) T h e e n d - o f - b l o c k c h a r a c t e r c u r r e n t l y d e fi n e d for the device (see the EB command in section 3) The following hexadecimal character codes cannot be received, if entered at certain points in a message: 02 (the ASCII character STX), if entered as the I fi r s t character of a message | 11 ( t h e A S C I I c h a r a c t e r D C 1 ) i f i t f o l l o w s a n end-of-line or end-of-block character and the TIP is supporting output control for the device (see the Y option of the OC command in section 3) 13 (the ASCII character DC3) if it follows an end-of-line or end-of-block character and the TIP is supporting output control for the device (see the Y option of the OC command in section 3). 60499500 S /"^\ 13 (the ASCII character DC3) if it follows an end-of-line or end-of-block character and the input mechanism is known to be a paper tape reader (see the PT option of the IN command in section 3) The user-break-1 and user-break-2 character c o d e s c u r r e n t l y d e fi n e d f o r t h e t e r m i n a l , i f entered as the only character in a message (see the Bl and B2 commands in section 3) The abort-output-block character code currently d e fi n e d f o r t h e t e r m i n a l , i f e n t e r e d a s t h e only character in a message (see the AB command in section 3) The network control character currently defined for the te rmi n a l w h e n i t fo l l o w s a n e n d -o f-l i n e or end-of-block character or when it is used for such purposes as page turning (see the CT command and the Y option of the PG command in section 3) T h e c u r r e n t l y d e fi n e d c a n c e l i n p u t c h a r a c t e r i s always received at the end of the logical line it cancels. This character is not data. 02 (the ASCII character STX), if entered as the first character of a message The user-break-1 and user-break-2 character c o d e s c u r r e n t l y d e fi n e d f o r t h e t e r m i n a l , i f entered as the only character in a message (see the Bl and B2 commands in section 3) The abort-output-block character code currently defined for the terminal, if entered as the only character in a message (see the AB command in section 3) The network control character currently defined fo r th e te rmi n a l w h e n i t fo l l o w s an end-of-line or end-of-block character or when it is used for such purposes as page turning (see the CT command and the Y option of the PG command in section 3) T h e c u r r e n t l y d e fi n e d c a n c e l i n p u t c h a r a c t e r i s always received at the end of the logical line it cancels. This character is not data. Full-ASCII Editing Special Editing Special editing takes precedence over complete editing. Special editing cannot occur if the ter minal operates in block mode. When special editing occurs, linefeed codes and the currently de fi n e d b a c k s p a c e c o d e a r e f o r w a r d e d t o the application program as data. The network soft ware sends appropriate responses to the device when it receives these codes. During special editing operations, the following hexadecimal character codes cannot be received by the network application program: 00 (the ASCII character NUL) 7F (the ASCII character DEL) T h e e n d - o f - l i n e c h a r a c t e r c u r r e n t l y d e fi n e d f o r the device (see the EL command in section 3) T h e e n d - o f - b l o c k c h a r a c t e r c u r r e n t l y d e fi n e d for the device (see the EB command in section 3) The following hexadecimal character codes cannot be received, if entered at certain points in a message: Full-ASCII editing takes precedence over special editing or complete editing. When full-ASCII edit ing occurs, almost all codes are forwarded to the application program as data. The network software does not perform actions at the terminal when it receives the codes for backspace, abort-outputblock, cancel input message, user-break-1, or userbreak-2. These codes and the end-of-line and endof-block indicator codes are sent upline as data. During full-ASCII editing operations, the following hexadecimal character codes cannot be received by the network application program: 00 (the ASCII character NUL) if it occurs after the end-of-line or end-of-block indicator 0A (the ASCII character LF) if it occurs after the end-of-line or end-of-block indicator 7F (the ASCII character DEL) if it occurs after the end-of-line or end-of-block indicator Th e n e tw o rk co n tro l ch a ra cte r cu rrently defined for the terminal if it occurs after the end-ofline or end-of-block indicator or when it is used for such purposes as page turning (see the CT command and the Y option of the PG command in section 3) 11 ( t h e A S C I I c h a r a c t e r D C 1 ) i f i t f o l l o w s a n end-of-line or end-of-block character and the TIP is supporting output control for the device (see the Y option of the OC command in section 3) The following hexadecimal character codes cannot be received if entered at certain points in a message: 13 (the ASCII character DC3) if it follows an end-of-line or end-of-block character and the TIP is supporting output control for the device (see the Y option of the OC command in section 3). 11 ( t h e A S C I I c h a r a c t e r D C 1 ) i f i t f o l l o w s a n end-of-line or end-of-block indicator and the TIP is supporting output control for the device (see the Y option of the 0C command in section 3) 13 (the ASCII character DC3) if it follows an end-of-line or end-of-block character and the input mechanism is known to be a paper tape reader (see the PT option of the IN command in section 3) 13 (the ASCII character DC3) if it follows an | end-of-line or end-of-block indicator and the TIP is supporting output control for the device (see the Y option of the OC command in section I 60499500 S 3> I 2-13 13 (the ASCII character DC3) if it follows an end-of-line or end-of-block indicator and is explicitly suppor t i n g p a p e r t a p e i n p u t f r o m t h e device (see the PT option of the IN command in section 3). T h e c u r r e n t l y d e fi n e d c a n c e l i n p u t c h a r a c t e r i s always received as the last character of the logical line it ended. This character is data. Downline Character Sets The network protocol permits transmission from a network application program of any character code less than or equal to 8 bits. If the application program uses one of the application character types that permits transmitting an 8-bit code (application character types 2 and 3), it cannot use the upper (eighth) bit for data unless it is transmitting in transparent mode. In normalized mode, the application program can only u s e t h e 1 2 8 A S C I I c h a r a c t e r s d e fi n e d i n a p p e n d i x A. If the application program transmits a 7-bit ASCII code, it cannot use the upper (eighth) bit for parity; the network ignores the eighth bit in downline normalized mode data. Receipt of a transmitted character by the device depends on the editing functions and character t r a n s f o r m a t i o n s p e r f o r m e d b y t h e T I P. I n a d d i t i o n to character codes altered during the translation and substitution operations described elsewhere in this section and in appendix A, the hexadecimal character code IF (the ASCII character US used as a downline block end-of-line indicator) cannot be received by a device when the application program transmits a block in normalized mode. Page Width and Page Length The application program receives an indication of the page width and page length in effect for a device when connection with the device first occurs. The application program or the terminal user can change the page width and page length in effect for a device. The Terminal Interface Program uses the page length d e fi n e d f o r t h e d e v i c e t o f o r m a t p h y s i c a l l i n e s into physical pages or screens of output. The Ter minal Interface Program uses the page width value to transform logical lines of downline data into physical lines of output. For console devices defined as having hardcopy out put mechanisms (see the PR option of the OP command in section 3), a logical line of downline data con taining more characters than the page width value permits is divided into singly spaced physical lines. These physical lines are equal to or shorter than the page width in effect and are displayed s u c c e s s i v e l y. For all console devices, the page width is used as part of the line-counting algorithm to determine the page length. E a c h l o g i c a l l i n e i s e x a m i n e d t o determine how many multiples of the page width (how many physical lines) it contains. Each complete or partial multiple counts as one line when the TIP determines the page length. Line counting begins at the beginning of each down line message. The line counter is reset to zero each time the page length of the terminal is reached, each time any input occurs, or when page turning occurs during page waiting operation. Refer to the PG, PW, and PL commands in section 3. The physical line width of the device might be smaller than the page width defined for the device. When this happens, the effect of sending a logical line of downline data containing more characters than the physical line width permits depends on the terminal hardware. Format Effectors An application program can control the presentation of the characters within a data block by indicating that the block contains format effectors. If the a p p l i c a t i o n p r o g r a m c h o o s e s t o d o t h i s , t h e fi r s t character of each logical line within the block becomes a format effector. Format effector charac t e r s c a u s e p r e d e fi n e d f o r m a t t i n g o p e r a t i o n s w h e n the block is delivered to the device. The network software discards these characters after interpre tation; therefore, these characters do not appear on the interactive terminal output device. Yo u m u s t i n c l u d e f o r m a t e ff e c t o r c h a r a c t e r s w h e n determining the number of characters comprising the block. Format effector characters are excluded from page width calculations. Tables 2-2 and 2-3 describe the predefined opera tions produced by each format effector character of each terminal class. The Terminal Interface Program p e r f o r m s t h e p r e d e fi n e d f o r m a t e f f e c t o r o p e r a t i o n by inserting the codes for the characters indicated in the tables in place of the discarded format effector character code. The Inserted terminal codes are those of characters in the ASCII set described in appendix A, with the exception that NL i n d i c a t e s t h e t e r m i n a l - d e fi n e d n e w - l i n e c o d e sequence. Numbers preceding codes indicate the number of times the codes are repeated in the inserted sequence. Each line output to a console in terminal classes 9 through 18 leaves the cursor positioned at the I beginning of the next physical line. Processing of the next line takes this into account. The format effector characters for clear screen and home cursor operations (* and 1) receive special treatment by the Terminal Interface Program when it is performing a page wait function for the terminal. (See the PG command in section 3.) If these char acters are encountered when the TIP has output only part of a page, the TIP pauses for terminal operator acknowledgment of the partial page. When acknowl e d g m e n t o c c u r s , t h e f o r m a t e ff e c t o r f u n c t i o n s a r e performed and output continues automatically. This pause occurs without application program action or knowledge. If the application program does not indicate the e x i s t e n c e o f f o r m a t e f f e c t o r s , t h e fi r s t c h a r a c t e r of each logical line does not act as a format e ff e c t o r. T h e s e c h a r a c t e r s a r e o u t p u t n o r m a l l y b u t are preceded by the character codes necessary to space one line before output. These default linespacing codes are the ones substituted when a blank is used as a format effector. >^\ 2-14 60499500 S TABLE 2-2. FORMAT.EFFECTOR OPERATIONS FOR ASYNCHRONOUS AND X.25 CONSOLES /$l^™^\ Terminal Class Format Effector General Physical Operation blank Space 1 line before output. Does Output Follow Previous Input Code Substituted on Output Mechanismt Display or Printer Paper Tape Does not matter Yes No CR CR, LF CR CR, LF Space 2 lines before output. Does not matter Yes No CR, LF CR, 2LF CR, LF CR, 2LF Space 3 lines before output. Does not matter Yes No CR, 2LF CR, 3LF CR, 2LF CR, 3LF Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No CR CR Position to top of form or home cursor before output. Yes Yes No CR, 5LF CR, 6LF CR, 5LF CR, 6LF No Yes or No Yes Yes No No Yes or No Do not change position before output. Does not matter Yes or No None Space 1 line after output. Does not matter Yes or No CR.LF CR.LF, DC3, 3NUL Does not matter Yes or No CR CR, DC3, 3NUL Position to top of form or home cursor and clear screen before output. / Position to start of current line after output. 60499500 R I s I n fi n i t e P a g e Length Declared? Calculated by TIP CR, LF CR, 6LF CR, 5LF CR, 6LF Calculated by TIP None Any other ASCII character Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF blank Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF Space 2 lines before output. Does not matter Yes No CR, LF CR, 2LF CR, LF CR, 2LF Space 3 lines before output. Does not matter Yes No CR, 2LF CR, 3LF CR, 2LF CR, 3LF Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes o r No CR CR Position to top of form or home cursor before output. Does not matter Yes o r No EM EM Position to top of form or home cursor and clear screen before output; delay 100 milliseconds before further output. Does not matter Yes o r No EM, CAN EM, CAN Do not change position before output. Does not matter Yes or No None None 2-15 TABLE 2-2. FORMAT EFFECTOR OPERATIONS FOR ASYNCHRONOUS AND X.25 CONSOLES (Contd) Terminal Class 3 4tt Format Effector I s I n fi n i t e P a g e Length Declared? Code Substituted on Output Mechanism! Display or Printer Paper Tape • Space 1 line after output. Does not matter Yes or No CR, LF CR, LF DC3, 3NUL / Position to start of current line after output. Does not matter Yes or No CR CR, DC3, 3NUL Any other ASCII character Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF blank Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF 0 Space 2 lines before output. Does not matter Yes No CR, LF CR, 2LF CR, LF CR, 2LF - Space 3 lines before output. Does not matter Yes No CR, 2LF CR, 3LF CR, 2LF CR, 3LF + Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No CR CR * Position to top of form or home cursor before output. Does not matter Yes or No EM E M 1 Position to top of form or home cursor and clear screen before output. Does not matter Yes or No EM, FF EM, FF » Do not change position before output. Does not matter Yes or No None None • Space 1 line after output. Does not matter Yes or No CR, LF CR, LF DC3, 3NUL / Position to start of current line after output. Does not matter Yes or No CR CR, DC3, 3NUL Any other ASCII character Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF blank Space 1 line before output. Does not matter Yes No None NL N/A 0 Space 2 lines before output. Does not matter Yes No NL 2NL N/A - Space 3 lines before output. Does not matter Yes No 2NL 3NL N/A Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No nBS N/A n i s c a l culated by TIP from c u r r e n t position + 2-16 General Physical Operation Does Output Follow Previous Input 60499500 R TABLE 2-2. FORMAT EFFECTOR OPERATIONS FOR ASYNCHRONOUS AND X.25 CONSOLES (Contd) Te r m i n a l Class Format Effector General Physical Operation Position to top of form or home cursor before output. Does Output Follow Previous Input Code Substituted on Output Mechanism! Display or Printer Paper Tape Yes Yes No 5NL 6NL No Yes or No nNL N/A n is calculated by TIP from current position Yes Yes No 5NL 6NL No Ye8 or No nNL N/A n is calculated by TIP from current position Do not change position before output. Does not matter Yes or No None None Space 1 line after output. Does not matter Yes or No NL NL Position to start of current line after output. Does not matter Yes or No nBS nBS Any other ASCII character Space 1 line before output. Does not matter Yes No None NL None NL blank Space 1 line before output. Does not matter Yes No None LF None LF Space 2 lines before output. Does not matter Yes No LF 2LF LF 2LF Space 3 lines before output. Does not matter Yes No 2LF 3LF 2LF 3LF Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No ESC, G ESC, G Position to top of form or home cursor before output. Does not matter Yes or No ESC, H ESC, H Position to top of form or home cursor and clear screen before output. Does not matter Yes or No ESC, R ESC, R Do not change position before output. Does not matter Yes or No None None Space 1 line after output. Does not matter Yes or No LF LF, DC3, 3NUL Position to start of current line after output. Does not matter Yes or No ESC, G ESC, G, DC3, 3NUL Yes No None LF None LF Position to top of form or home cursor and clear screen before output. Any other ASCII character 60499500 R I s I n fi n i t e P a g e Length Declared? N/A N/A n is calculated by TIP from current position Space 1 line before output. Does not matter 2-17 TABLE 2-2. FORMAT EFFECTOR OPERATIONS FOR ASYNCHRONOUS AND X.25 CONSOLES (Contd) Te r m i n a l Class Code Substituted on Output Mechanism! I s I n fi n i t e P a g e Length Declared? Does Output Follow Previous Input Space 1 line before output. Does not matter Yes or No CR CR Space 2 lines before output. Does not matter Yes No CR 2CR CR 2CR Space 3 lines before output. Does not matter Yes No 2CR 3CR 2CR 3CR Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No None None Position to top of form or home cursor before output. Does not matter Yes o r No DC2 DC2 Position to top of form or home cursor and clear screen before output. Does not matter Yes o r No FS FS Do not change position before output. Does not matter Yes or No None None Space 1 line after output. Does not matter Yes or No CR CR, DC3, 3NUL Position to start of current line after output. Does not matter Yes or No None DC3, 3NUL Any other ASCII character Space 1 line before output. Does not matter Yes or No CR CR blank Space 1 line before output. Does not matter Yes No CR CR.LF CR CR, LF Format Effector blank 0 Any other ASCII character General Physical Operation Display or Printer Paper Tape Space 2 lines before output. Does not matter Yes No CR, LF CR, 2LF CR, LF CR, 2LF Space 3 lines before output. Does not matter Yes No CR, 2LF CR, 3LF CR, 2LF CR, 3LF Position to start of current line before output. Does not matter Yes or No CR CR Position to top of form or home cursor before output. Does not matter Yes or No ESC,[,H ESC,l,H Position to top of form or home cursor and clear screen before output. Does not matter Yes or No ESC,[,H, ESC,[,J ESC,[,H, ESC,I,J Do not change position before output. Does not matter Yes or No None None Space 1 line after output. Doe8 not matter Yes or No CR, LF CR, LF DC3, 3NUL Position to start of current line after output. Does not matter Yes or No CR CR, DC3, 3NUL Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF /*!^\ 2-18 60499500 R J0^\ TABLE 2-2. FORMAT EFFECTOR OPERATIONS FOR ASYNCHRONOUS AND X.25 CONSOLES (Contd) Te r m i n a l Class Format Effector General Physical Operation I s I n fi n i t e P a g e Length Declared? Does Output Follow Previous Input Code Substituted on Output Mechanismt Display or Printer Paper Tape blank Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF 0 Space 2 lines before output. Does not matter Yes No CR, LF CR, 2LF CR, LF CR, 2LF Space 3 lines before output. Does not matter Yes No CR, 2LF CR, 3LF CR, 2LF CR, 3LF Position to start of current l i n e b e fo r e o u tp u t. Does not matter Yes or No CR CR Position to top of form or home cursor before output. Does not matter Yes or No ESC, FF ESC, FF Position to top of form or home cursor and clear screen before output; delay 1 second before further output. Does not matter Yes or No ESC, FF ESC, FF Do not change position before output. Does not matter Yes or No None None Space 1 line after output. Does not matter Yes or No CR, LF CR, LF, DC3, 3NUL Position to start of current line after output. Does not matter Yes or No CR CR, DC3, 3NUL Space 1 line before output. Does not matter Yes No CR CR, LF CR CR, LF /sspfev. Any other ASCII character TPaper tape column does not apply to X.25 devices. TTx.25 devices cannot belong to terminal class 4. The application program sets a field in the downline block's header word to indicate whether the block contains format effectors. This indication, how e v e r, h a s n o e f f e c t o n t h e u s e o f f o r m a t c o n t r o l c h a r a c t e r s w i t h i n l o g i c a l l i n e s o f t h e b l o c k . Ta b l e 2-4 lists the code substitutions performed for embedded control characters during output to a device in each terminal class. This table uses the same character representation convention as tables 2-2 and 2-3, with the following exceptions: the hexadecimal terminal codes are shown for multiple ASCII character sequences or for non-ASCII character sequences. Transparent Mode Operation Blocks exchanged between an application program and a console device in transparent mode do not use most of the features of the interactive virtual terminal interface: 60499500 R No input editing occurs. No code conversion occurs. No format effector transformations are performed for downline blocks. No page width operations are performed to pre serve physical line boundaries. Page waiting occurs only at the end of a down line message. Tr a n s p a r e n t m o d e o p e r a t i o n i s s e p a r a t e l y s e l e c t e d for input and output. Either the terminal operator or the application program can start transparent mode input, using the IN command described in sec tion 3. Only the application program can start transparent mode output. 2-19 TABLE 2-3. FORMAT EFFECTOR OPERATIONS FOR SYNCHRONOUS CONSOLES General Physical Operationt Terminal Class Format Effector Before Output After Output Space 1 line. Space 1 line. Space 2 lines. Space 1 line. Any other ASCII character None. Space 1 line. blank None. Space 1 line. Space 1 line. Space 1 line. Space 2 lines. Space 1 line. * Position to top of form or home cursor. Space 1 line. 1 Position to top of form or home cursor and clear screen. Space 1 line. Any other ASCII character None. Space 1 line. Any ASCII character B e f o r e t h e fi r s t l i n e o f the message, generate t h e p r e fi x t e x t Space 1 line. 9 and 14 10 thru 13, 15, and 18 0 16 and 17 ***C0NS0LE MESSAGE Before the subsequent lines of the message, do nothing. Space 1 line. TNo direct correspondence to code substituted on output device can be made. Code used for implementation depends on placement of message blocks within a transmission. Data blocks input in transparent mode have a field set in their associated header word to indicate this c o n d i t i o n . O u t p u t b l o c k s r e q u i r e t h e s a m e fi e l d t o be set. | Transparent mode data can occupy up to 8 bits of an 8-bit byte, representing up to 256 distinct char acter codes of device instructions. Codes longer than 8 bits cannot be exchanged; data packed in 12-bit bytes by an application program or a termi nal device is truncated to 8 bits by the network software. HASP terminals (terminal classes 9 and 14) and bisynchronous terminals (terminal classes 16 and 17) cannot transmit or receive such blocks. All other terminals can, although mode 4 terminals and 3270 terminals (terminal classes 10 through 13 and 15) require the special treatment described below. 2-20 Mode 4 During transparent mode operation, the application program is responsible for all data formatting and terminal control. For mode 4 terminals, this means that the Terminal Interface Program does not blankfill the current line and unlock the keyboard before input can be performed but does add or remove the line transmission portion of the protocol envelope to or from all message text exchanged with the ter minal. Tw o m u t u a l l y e x c l u s i v e f o r m s o f t r a n s p a r e n t m o d e input can be selected. The network administrator can make this selection when the device is defined i n t h e n e t w o r k c o n fi g u r a t i o n fi l e , o r t h e a p p l i c a tion program or the terminal operator can make it while the device is active. The two forms are: Single message Multiple message operation) (analogous to block mode 60499500 S TABLE 2-4. EMBEDDED FORMAT CONTROL OPERATIONS FOR CONSOLES Terminal Class Format Control Character 1 thru 3 7 and 8 LF Space 1 line before next char acter output. LF CR Position to start of current line before next character output. CR LF Space 1 line before next char acter output. LF CR Position to start of next line before next character output. NL LF Space 1 line before next char acter output. ESC, B CR Position to start of current line before next character output. ESC, G LF Space 1 line before next char acter output. None CR Position to start of current line before next character output. CR LF Space 1 line before next char acter output. None CR Position to start of next line before next character output. None LF Space I line before next char acter output. None CR Position to start of next line line before next character output. IB, 41 (ASCII); 31, 41 (External BCD) LF Space 1 line before next char acter output. None CR Position to start of next line before next character output. 10, IF LF Space 1 line before next char acter output. None CR Position to start of next line before next character output. 10, IE 9, 14, and 18 10 thru 13 and 15 /|P*y 16 17 60499500 S General Physical Operation Code Substituted on Output Mechanism 2-21 Occurrence of a specific character code in the input Downline The application constructs a screen-full of p r o t e c t e d / u n p r o t e c t e d fi e l d s a n d s u p p l i e s a l l t h e desired attribute characters and screen-buffera d d r e s s e s f o r t h e fi e l d s . T h e T I P i s r e s p o n s i b l e for preceding the block of output by SYNCc h a r a c t e r s , s t a r t - o f - t e x t , a n d e s c a p e - c h a r, a n d a t t a c h e s E T X , C R C , PA D a t t h e e n d . T h e T I P a l s o translates all downline data ASCII to EBCDIC and performs SYNC-fill. A typical start of a field would be: SBA BA1 BA2 AT T set-buffer-address x'll' all in ASCII buffer-address-1 buffer-addre8s-2 attribute-char where the attribute-character determines the char a c t e r i s t i c s o f t h e fi e l d : - protected unprotected i n t e n s i fi e d numeric shift The application is also expected to insert the cursor at a desired location. Once transparent output is delivered to a 3270 terminal, the TIP assumes transparent input until a non-transparent downline block is delivered to the terminal. To p r o t e c t t h e i n t e g r i t y o f t h e p r o t o c o l , t h e T I P replaces certain downline characters by NULLs. The characters replaced are: SOH, STX, ETX, EOT, ENQ, ACK,NAK, SYNC O c c u r r e n c e o f a s p e c i fi c n u m b e r o f c h a r a c t e r bytes in the input Occurrence of a 200- to 400-millisecond timeout in the input Multiple-Message Input For multiple-message input, the application program o r t h e t e r m i n a l u s e r d e fi n e s o n e o r t w o i n p u t message-forwarding signals (equivalent to a normal ized mode end-of-line indicator) and one or two transparent mode input delimiters. Each message ends at a mess age-forwarding signal; the last mes sage ends when transparent input mode ends. The message-forwarding signal and mode delimiters may b e m o d i fi e d a s d e s c r i b e d u n d e r C h a n g i n g D e v i c e Characteristics in section 3. The possible message-forwarding signals are: Occurrence of a specific character code in the input O c c u r r e n c e o f a s p e c i fi c n u m b e r o f c h a r a c t e r bytes in the input The transparent mode delimiters are: Two consecutive occurrences of a specific char acter code (the message-forwarding signal) A sequence of two character codes (a messageforwarding code followed by a transparent mode delimiter code) Occurrence of a 200- to 400-millisecond timeout in the input Upline Once transparent output is delivered, the TIP sends t o t h e h o s t a l l m o d i fi e d , u n p r o t e c t e d fi e l d s received from the terminal including the SBA and b u f f e r - a d d r e s s - c h a r 8 ( 2 ) o f e a c h fi e l d . T h e terminal does not send the attribute characters back to the TIP. If the incoming text is larger than one trans mission block (256 characters), the TIP will send BLK/BLK/.../MSG Upline Message Blocks A transparent mode input block is assembled each time the network block size is reached or the Ter minal Interface Program encounters a messageforwarding signal. The last block in the last message is assembled when the delimiter condition is encountered. If the message-forwarding signal is a specific character code, the TIP removes that code from the character stream before assembling the last block. so that the application can reproduce a full screen. Single-Message Input For single-message input, one or more transparent m o d e i n p u t d e l i m i t e r s a r e s p e c i fi e d , u s i n g t h e D L command options described in section 3. For single-message input, when a message ends, trans parent mode input ends. Transparent mode messages need not be equivalent to normalized mode logical lines. Single-message transparent mode input ends when the Te r m i n a l I n t e r f a c e P r o g r a m e n c o u n t e r s o n e o f t h e mode delimiter conditions. The delimiter condi tions are: 2-22 In transparent mode, the concept of a logical line is not meaningful to the network software. Both the end-of-line and end-of-block indicators are data within a transparent message. These indicators have no significance to the network software. Transparent Mode Output Transparent mode output data can be divided arbitrarily into blocks and messages, provided the restrictions on network block size are met. A transparent mode downline block ends when the last character it contains is transferred to the network ( d e fi n e d b y t h e t i c fi e l d i n t h e b l o c k h e a d e r , described later in this section). 60499500 S If the TIP is performing page-wait operations for the terminal during transparent mode operation, output stops to wait for terminal operator acknowl edgment at the end of each message. The automatic input feature can be used with the last block of a transparent mode output message. Parity Processing A c t u a l t e r m i n a l c o d e s a r e r i g h t - j u s t i fi e d w i t h z e r o fi l l w i t h i n t h e 8 - b i t c h a r a c t e r p o r t i o n o f t h e input or output byte. The codes contained in the input or output bytes depend on the parity option declared for the terminal. meaningful code only if no parity or ignore parity I s d actual e c l a r e dterminal . Otherw i s e , parity t h e p abit r i t ycan b i t bei s used z e r o for in I The code i n p u t b l o c k s a n d s e t b y t h e Te r m i n a l I n t e r f a c e Program on output. For example: If the terminal uses a 7-bit code such as ASCII, with the eighth bit as a parity bit, the set ting of the eighth bit is determined by the parity option selected for the terminal. If zero parity is declared, the eighth bit is always zero on input and output. If odd or even parity is declared, the eighth bit varies on input and output to satisfy the character parity | requirement. If no parity or ignore parity is declared, the eighth bit is treated as part of 60499500 S the character data and is not changed during input or output. If the terminal uses a 6-bit code, with the seventh bit as a parity bit, the setting of the seventh bit is determined by the parity option selected for the terminal. If zero parity is declared, the seventh bit is always zero on input and output. If odd or even parity is declared, the seventh bit varies on input and output to satisfy the character parity re quirement. If no parity or ignore parity is | declared, the seventh bit is treated as part of the character data and is not changed during input or output. APPLICATION-TO-APPLICATION CONNECTION DATA Because application-to-application connection data is always exchanged in transparent mode, programs can exchange character data in bytes of any size. T h e p r o g r a m a t b o t h e n d s o f t h e c o nnection must interpret the data using the same byte size. Programs within the same host can exchange 7-bit or 8-bit character data in one of three ways: Exchange pairs of 60-bit bytes, each containing fi f t e e n 8 - b i t d a t a b y t e s Exchange 8-bit data bytes packed as 8-bit bytes 2-22.1/2-22.2 Exchange 8-bit data bytes packed within 12-bit bytes Figure 2-3 illustrates these possibilities. The parity bit (bit 7 of an 8-bit byte) is not altered during transmission through the network and can always be used as data. Each of these options corresponds to an application character type, as described in the next subsection. Programs in different hosts need not use the same application character type. APPLICATION CHARACTER TYPES Programs can exchange 6-bit character data in one of two ways: Blocks always contain character bytes. These char acter bytes can be of several lengths and can be packed within bytes of several sizes. Each permit ted combination of character byte length and packing byte size is called an application character type. There are several application character types sup ported by the released version of the software: If both programs are in the same host, they can exchange 60-bit bytes, each containing 6-bit (or 6/12-bit) data bytes. They can exchange sets of fifteen 8-bit bytes, corresponding to two central memory words per set (twenty 6-bit characters). One 60-bit character byte per 60-bit word One 8-bit character byte per 8-bit byte 7-Bit or 8-Bit Data Word 1 Word 2 Byte 1 Byte 2 60-bit bytes 8-bit bytes /gP^N 12-bit g % » mmm, m m m w, m n bytes ^| ,^| I|g ~~ j^^ r^~ n ■ 6-Bit or 6/12-Bit Data Word 1 Word 2 Byte 1 Byte 2 60-bit bytes 8-bit bytes LEGEND: Character byte boundary Unused space | Network data byte boundary Figure 2-3. Application-to-Application Connection Data Exchanges 60499500 R 2-23 One 8-bit character byte per 12-bit byte One 6-bit display code character byte per 6-bit byte Blocks transmitted through a network processing unit always consist of 8-bit characters in 8-bit bytes. An application program can use blocks of this application character type, or have NAM convert blocks to or from it so that the application pro gram can use one of the remaining valid application character types. Bl o c k c o n v e r s i o n c o n s i s t s o f b y t e mapping and character code conversion. For a downline network data block, NAM: Performs no mapping or character code conversion on 60-bit character bytes. Performs no mapping or character code conversion on 8-bit characters in 8-bit bytes; the parity setting of the receiving device might cause the upper or eighth bit (bit 7) of the byte to be set. Performs no character code conversion on 12-bit bytes but maps the 8-bit character to an 8-bit byte by discarding the leftmost four bits of the 12; the parity setting of the receiving device might cause the upper or eighth bit (bit 7) of the byte to be set. Maps 6-bit characters to 8-bit characters by translating the former as 6-bit display code and substituting the corresponding hexadecimal code from the 128-character ASCII set. For an upline network data block, NAM: Performs no mapping or character code conversion on 60-bit character bytes. Performs no mapping or character conversion on 8-bit characters in 8-bit bytes; the parity se tti n g o f th e s e n d i n g d e v i c e m i g h t c a u s e t h e upper or eighth bit (bit 7) of the byte to be set if the data is sent in transparent mode. Performs character mapping but no code conver sion by right-justifying 8-bit characters in 1 2 - b i t b y t e s w i t h z e r o fi l l ; t h e p a r i t y s e t t i n g of the sending device might cause the upper or eighth bit (bit 7) of the byte to be set if the data is sent in transparent mode. Maps and converts 8-bit characters to 6-bit characters by translating all ASCII control characters to display coded blanks, and trans lating all hexadecimal ASCII character codes between 60 and 7F to the display code equiva lents of the hexadecimal ASCII character codes 4 0 t o 5 F. A l l o t h e r 7 - b i t A S C I I c o d e s a r e translated to the display codes equivalent to the CDC 63-character or 64-character subset of the ASCII character set (refer to appendix A). 2-24 Because conversion and mapping between 6-bit and 8bit characters involves a time-consuming characterby-character replacement of the block's data, use of a 6-bit display coded application character type is not recommended and is restricted to blocks e x c h a n g e d w i t h i n t e r a c t i v e d e v i c e s . F o r e f fi c i e n c y, 8-bit byte characters are recommended for blocks exchanged with devices or other application programs through the interactive virtual terminal interface. The application character type of an input block is determined by the character type associated with t h e l o g i c a l c o n n e c t i o n . T h i s a s s o c i a t i o n fi r s t occurs when the connection is established. You can change the association as necessary while the con nection exists. The application character type of a s p e c i fi c i n p u t b l o c k i s a l w a y s i n d i c a t e d b y a field in its associated block header word. The application character type of an output block i s d e t e r m i n e d s o l e l y b y a fi e l d i n i t s a s s o c i a t e d block header area. Input and output blocks trans mitted over the same logical connection can there fore have different application character types. CHARACTER BYTE CONTENT Blocks containing 8-bit characters can be exchanged with an interactive device in normalized mode or in transparent mode. Blocks exchanged in normalized mode always contain 7-bit character codes from the ASCII character set, with the eighth bit set to zero. Blocks exchanged in transparent mode can contain 256 character codes from any character set used by a terminal, with the setting of the eighth bit determined by the parity processing selected for the device. Normalized mode exchanges are the initial mode. Blocks exchanged in transparent mode a r e i d e n t i fi e d b y a fi e l d i n t h e i r a s s o c i a t e d b l o c k header word. Blocks exchanged with another application program are always exchanged in transparent mode. Trans parent mode is the initial and only exchange mode for such connections. Such blocks need not have transparent mode use identified by a field in their associated block header word. The legal combinations of character types, modes, and uses are summarized in table 2-5. The mecha nisms for declaring character types and exchange modes are described in the Block Header Content portion of this section and in section 3. BLOCK HEADER CONTENT The content of the block header word associated with a data block depends on whether the application program is sending or receiving the block. The requirements for all header words associated with u p l i n e d a t a b l o c k s a r e d e s c r i b e d i n fi g u r e 2 - 4 . The requirements for all header words associated w i t h d o w n l i n e d a t a b l o c k s a r e d e s c r i b e d i n fi g ure 2-5. 60499500 R ■^ ^ \ Performs character mapping but no code conver sion by right-justifying 8-bit characters in 1 2 - b i t b y t e s w i t h z e r o fi l l ; t h e p a r i t y s e t t i n g of the sending device might cause the upper or eighth bit (bit 7) of the byte to be set if the data is sent in transparent mode. Maps and converts 8-bit characters to 6-bit characters by translating all ASCII control characters to display coded blanks, and trans lating all hexadecimal ASCII character codes between 60 and 7F to the display code equiva lents of the hexadecimal ASCII character codes 4 0 t o 5 F. A l l o t h e r 7 - b i t A S C I I c o d e s a r e translated to the display codes equivalent to the CDC 63-character or 64-character subset of the ASCII character set (refer to appendix A). Because conversion and mapping between 6-bit and 8bit characters involves a time-consuming characterby-character replacement of the block's data, use of a 6-bit display coded application character type is not recommended and is restricted to blocks e x c h a n g e d w i t h i n t e r a c t i v e d e v i c e s . F o r e f fi c i e n c y, 8-bit byte characters are recommended for blocks exchanged with devices or other application programs through the interactive virtual terminal interface. The application character type of an input block is determined by the character type associated with t h e l o g i c a l c o n n e c t i o n . T h i s a s s o c i a t i o n fi r s t occurs when the connection is established. You can change the association as necessary while the con nection exists. The application character type of a s p e c i fi c i n p u t b l o c k i s a l w a y s i n d i c a t e d b y a field in its associated block header word. The application character type of an output block i s d e t e r m i n e d s o l e l y b y a fi e l d i n i t s a s s o c i a t e d block header area. Input and output blocks trans mitted over the same logical connection can there fore have different application character types. CHARACTER BYTE CONTENT Blocks containing 8-bit characters can be exchanged with an interactive device in normalized mode or in transparent mode. Blocks exchanged in normalized mode always contain 7-bit character codes from the ASCII character set, with the eighth bit set to zero. Blocks exchanged in transparent mode can contain 256 character codes from any character set used by a terminal, with the setting of the eighth bit determined by the parity processing selected for the device. Normalized mode exchanges are the initial mode. Blocks exchanged in transparent mode a r e i d e n t i fi e d b y a fi e l d i n t h e i r a s s o c i a t e d b l o c k header word. BLOCK HEADER CONTENT The content of the block header word associated with a data block depends on whether the application program is sending or receiving the block. The requirements for all header words associated with u p l i n e d a t a b l o c k s a r e d e s c r i b e d i n fi g u r e 2 - 4 . The requirements for all header words associated with downline data blocks are described in fi g u r e 2 - 5 . SUPERVISORY MESSAGE CONTENT AND SEQUENCE PROTOCOLS Supervisory message blocks consist of 1 to 410 60b i t w o r d s o r 1 t o 2 0 4 3 1 2 - b i t b y t e s . T h e fi e l d s within these blocks convey information and instruc tions to the network software, in a manner similar to the character bytes of a data message block. Supervisory messages are sent and received through the same application program routines as are used for data blocks. (See sections 4 and 5.) Supervi sory messages have associated block header words, just as data blocks do. These header words convey i n fo rma ti o n to th e n e tw o rk so ftw a re concerning the contents of the corresponding text area buffer. Supervisory messages have the general formats shown in figures 2-6 and 2-7. A specific message contains a fi x e d c o m b i n a t i o n o f f o u r fi e l d s a n d c a n i n c l u d e additional parameters. The individual messages supported by the network software are described in s e c t i o n 3 . T h e fi e l d s a r e d e s c r i b e d b e l o w i n t h e order of their use, rather than in the order of their occurrence within a supervisory message. The first of the four fields common to all supervi sory messages is the primary function code. The primary function code is used to group supervisory messages into related functions and determine their routing within the network software. Functions routed between NAM and the application program are represented in figures 2-6 and 2-7 by mnemonics. These mnemonics are defined in paren theses after the corresponding function in the following list: Connection data flow control (FC) Error reporting (ERR) Device control (CTRL) Connection list management (LST) C o n n e c t i o n c h a r a c t e r i s t i c d e fi n i t i o n ( D C ) Interrupt request (INTR) Blocks exchanged with another application program are always exchanged in transparent mode. Trans parent mode is the initial and only exchange mode for such connections. Such blocks need not have t r a n s p a r e n t m o d e u s e i d e n t i fi e d b y a fi e l d i n t h e i r associated block header word. Connection control (CON) Te r m i n a l c h a r a c t e r i s t i c d e fi n i t i o n ( T C H ) Network shutdown (SHUT) Host operator commands (HOP) The legal combinations of character types, modes, and uses are summarized in table 2-5. The mecha nisms for declaring character types and exchange modes are described in the Block Header Content portion of this section and in section 3. 60499500 T Terminate output (TO) Break indication (Bl) Resume output (RO) 2-25 TABLE 2-5. CHARACTER EXCHANGES WITH CONNECTIONS ACT Field Value Exchange Mode Used Connection Type 60-bit characters in 60-bit bytes Transparent Application-to-application within the same host Binary (None) 8 - b i t c h a r a c te r s in 8-bit byte Normalized Application-to-device (consoles) 7-bit ASCII (128 ASCII) 8 - b i t c h a r a c te r s in 8-bit bytes Transparent Application-to-device (consoles) Any 6-, 7-, or 8-bit (Unknown) 8 - b i t c h a r a c te r s in 8-bit bytes Transparent Application-to-application Binary (None) 8-bit characters in 12-bit bytes Normalized Application-to-device (consoles) 7-bit ASCII (128 ASCII) 8-bit characters in 12-bit bytes Transparent Application-to-device (consoles) Any 6-, 7-, or 8-bit (Unknown) 8-bit characters in 12-bit bytes Transparent Application-to-application Binary (None) 6-bit characters in 6-bit bytes Normalized Application-to-device (consoles) 6-bit display code to/from 7-bit ASCII (64-character subset of ASCII) Application Character Type 59 ha abt 53 41 a en 23 res act 19 16 i r t Code Set (Character Set) 11 r X c P tic ha Symbolic header area address, specified as the location to receive the application block header in a call to NETGET, NETGETL, NETGETF, or NETGTFL (see section 5). abt Application block type of the associated network data block. This field can have the values: =0 indicates a null block. (No block is queued or none can be delivered from the logical connection polled.) =1 indicates that the associated block is one of several blocks comprising a single message, but is not the last such block. =2 indicates that the associated block is either the last or only one comprising the message. =6 indicates that the associated block is one of several blocks comprising a single qualified data message, but is not the last such block. =7 indicates that the associated block is either the last or only one comprising a qualified data message. Values of 3 through 5 and 8 through 63 are not valid for data blocks on input. You can access this field with the reserved symbol ABHABT (see section 4). Application connection number of the logical connection from which the associated block was sent. This field can have the values 1 £ minacn < acn £ maxacn < 4095, where the values minacn and maxacn are parameters in the NETON statement (see section 5). You can access this field with the reserved symbol ABHADR (see section 4). Figure 2-4. Application Block Header Content for Upline Network Data Blocks (Sheet 1 of 4) 2-26 60499500 W <*^^\ act Application character type used to encode the accompanying block, the values: This field can contain =1 60-bit transparent characters, packed one per central memory word; this character type can be used only for application-to-application connections within the same host. =2 8-bit characters, packed 7.5 per central memory word; this character type is recommended for transparent mode or normalized mode data on device-toapplication connections and for application-to-application connections between hosts. =3 8 - b i t c h a r a c t e r s , r i g h t - j u s t i fi e d i n 1 2 - b i t b y t e s w i t h z e r o fi l l , p a c k e d 5 per central memory word; this character type can be used for transparent mode or normalized mode data on device-to-application connections and for application-to-application connections. =4 6-bit display code characters (see table A-1 in appendix A), packed 10 per central memory word. This value can be used only for device-to-application connections in normalized mode when the block is exchanged with a sitedefined device or a CDC-defined console device. =5 thru Reserved for CDC use; not currently recognized. 11 =12 thru 15 Reserved for installation use; usage and content are unrestricted and undefined (the released version of the software does not recognize these values). The value contained in the act field is the value assigned to the connection by the application program for input, either in the connection-accepted supervisory message (ict Tieicu or in the most recent change-input-character-type supervisory message (see section 3). You can access this field with the reserved symbol ABHACT (see section 4). ibu Input-block-undeliverable bit. When ibu has a value of 1, the block associated with this block header has not been delivered to the application program; ibu is 1 when the block: • Is larger than the maximum text length (Umax parameter) declared by the application program in its NETGET, NETGETL, NETGETF, or NETGTFL call and the program has not requested that input data be truncated (see the truncate-input asynchronous supervisory message described in section 3). The block header contains the actual l e n g t h o f t h e q u e u e d b l o c k i n i t s t i c fi e l d , g i v e n i n c h a r a c t e r u n i t s s p e c i fi e d b y the act field. The block remains queued until the application program takes one of the following actions: Uses the change-input-character-type asynchronous supervisory message described in section 3 to compress the characters into fewer central memory words by using a different application character type to pack them more d e n s e l y. Uses the input-truncation asynchronous supervisory message described in section 3 to delete enough characters so that the remainder fit into the existing text area. Uses a longer text area. The application program then must use another NETGET, NETGETL, NETGETF, or NETGTFL call to obtain the block. Figure 2-4. Application Block Header Content for Upline Network Data Blocks (Sheet 2 of 4) /$^>\ 60499500 T 2-27 • Contains transparent mode data from a connection using an act value of 4. The block header contains the actual length of the queued block in its tic field ( g i v e n i n 8 - b i t b y t e s ) a n d h a s a n x p t v a l u e o f 1 ( s e e x p t fi e l d d e s c r i p t i o n ) . The application program can: Change the input character type for the connection to a value of 2 or 3, using the change-input-character-type asynchronous supervisory message described in section 3, then use a NETGET, NETGETL, NETGETF, or NETGTFL call to obtain the block. Use the change-input-character-type asynchronous supervisory message with a set nxp bit as described in section 3; this discards the queued block and all subsequent blocks of transparent data from the connection. • Is queued on a connection between application programs within the same host and the act value specified by your application does not match the act value specified by the other application in its NETPUT call for the block. The application program can: Change the input character type for the connection using the change-inputcharacter-type asynchronous supervisory message described in section 3, then use a NETGET, NETGETL, NETGETF, or NETGTFL call to obtain the block. You can access this field with the reserved symbol ABHIBU (see section 4). res Reserved for CDC use. t r u Tr u n c a t e d d a t a b i t . W h e n t r u i s 1 , t h e b l o c k a s s o c i a t e d w i t h t h i s b l o c k h e a d e r h a s b e e n truncated to fit into the text area used. When tru is 0, the block has not been truncated. The tru bit cannot be 1 unless the application program has issued the data truncation control asynchronous supervisory message described in section 3 and that m e s s a g e a ff e c t s t r a n s m i s s i o n s o n t h i s c o n n e c t i o n . W h e n t r u n c a t i o n o c c u r s , t h e t i c fi e l d contains the maximum number of complete transferred character bytes of the block. You can access the tru field with the reserved symbol ABHTRU (see section 4). x p t Tr a n s p a r e n t m o d e b i t , i n d i c a t i n g w h e t h e r t h e a c c o m p a n y i n g b l o c k c o n t a i n s t r a n s p a r e n t m o d e data. If your program chooses not to receive transparent mode input when it accepts a connection or changes the input character type of the connection (nxp field, described in section 3), an xpt value of 1 is received in a block with an abt of 0 (an empty block) and indicates that one or more transparent mode blocks were discarded by the network software. If your program can receive transparent mode input, the interpretation of the value this field contains depends on the act value used, as follows: act=1, xpt should be ignored. act=2, if the data is from a site-defined device or a CDC-defined console device: xpt=0 indicates normalized mode data for which interactive virtual terminal transformations were performed; 7-bit characters are from the 128-character ASCII set (see appendix A). xpt=1 indicates transparent mode data for which no transformations were performed; all eight bit positions might be used to form 256 characters, but the application program must correctly interpret the format of such data. act=2, if the data is from an application program: xpt=0 indicates that the sending application program did not use an xpt value of 1 in its block header for the accompanying block. xpt=1 indicates that the sending application program used an xpt value of 1 in its block header for the accompanying block. Figure 2-4. Application Block Header Content for Upline Network Data Blocks (Sheet 3 of 4) 2-28 60499500 W act=3, if the data is from a site-defined device or a CDC-defined console device: xpt=0 indicates normalized mode data for which interactive virtual terminal transformations were performed; 7-bit characters are from the 128-character ASCII set (see appendix A). xpt=1 indicates transparent performed; all eight character byte might application program, mode data for which no transformations were bit positions in the character portion of the be used to form 256 characters, but the must correctly interpret the format of such data. act=3, if the data is from an application program: xpt=0 indicates that the sending application programt did not use an xpt value of 1 in its block header for the accompanying block. xpt=1 indicates that the sending application programt used an xpt value of 1 in its block header for the accompanying block. act=4, if the data is from a site-defined device or a CDC-defined console device: xpt=0 indicates normalized mode data for which interactive virtual terminal transformations were performed; 6-bit characters are from the 6-bit display code set (see table A-1 in appendix A). xpt=1 indicates that the ibu bit is also set; the tic field contains the actual block length in 8-bit characters (not in 6-bit characters). Transparent mode is not supported for act=4; a change-inputcharacter-type supervisory message must be issued before the block can be received (see section 3). You can access this field with the reserved symbol ABHXPT (see section 4). Cancel-input bit. When can is 1, the terminal operator used the cancel-input key defined for the device or the break condition key (see BR command in section 3) to end the text in the associated block. The associated block always has an abt of 2, and the data is always from a console device. The cancel-input request also applies to any blocks with an abt value of 1 that preceded this block; all blocks in the same message should be discarded. You can access this field with the reserved symbol ABHCAN (see section 4). pef P a r i t y e r r o r fl a g b i t . W h e n p e f i s 1 , t h e a s s o c i a t e d b l o c k c o n t a i n s a p a r i t y e r r o r i n one or more of its characters. You can access this field with the reserved symbol ABHBIT (see section 4). tic Te x t l e n g t h o f t h e a s s o c i a t e d b l o c k , i n c h a r a c t e r u n i t s s p e c i fi e d b y t h e a c t fi e l d . T h e equivalent length in central memory words can be computed as follows: act=1, tic is the number of central memory words the block requires. act=2, the number of central memory words the block requires is tic divided by 7.5, rounded upward to an integer. a c t= 3 , the number of central memory words the block requires is tic divided by 5, rounded upward to an integer. a c t= 4 , the number of central memory words the block requires is tic divided by 10, rounded upward to an integer. act=5 thru 15 t i c i s u n d e fi n e d . You can access this field with the reserved symbol ABHTLC (see section 4). tThe xpt value will always be set to 0 in the upline network block if the data passes through a packet switching network. Therefore, to get consistent results, it is strongly suggested that xpt=0 be used on all application-to-application connections. Figure 2-4. Application Block Header Content for Upline Network Data Blocks (Sheet 4 of 4) 60499500 T 2-29 59 ha 53 abt 41 acn 2 3 '19 abn act 1514131211 n n x n r tic ha Symbolic header area address, specified as the application block header's location in a call to NETPUT or NETPUTF (see section 5). abt Application block type of the accompanying network data block. This field can contain the values: =1, indicates that the accompanying block is one of several blocks comprising a single message, but is not the last such block. =2, indicates that the accompanying block is either the last or only one comprising a message. =6 indicates that the associated block is one of several blocks comprising a single qualified data message, but is not the last such block. =7 indicates that the associated block is either the last or only one comprising a qualified data message. Values of 0, 3 through 5, and 8 through 63 are not valid for data blocks on output. You can access this field with the reserved symbol ABHABT (see section 4). Application connection number should be sent. This field can the values minacn and maxacn can access this field with the abn of the logical connection to which the accompanying block contain the values 1 £ minacn £ acn £ maxacn £ 4095, where are parameters in the NETON statement (see section 5.) You reserved symbol ABHADR (see section 4). Application block number assigned to the block being sent. This field is an 18-bit integer that identifies the block when the network software's processing of the block returns certain supervisory messages (see section 3). You define the block number; it can be: A sequencing number The block's central memory address The block's mass storage address (physical record unit) An index value for a block control array or table An external label You can access this field with the reserved symbol ABHABN (see section 4). act Application character type used to encode the accompanying block. This field can contain the values: =1, 60-bit transparent characters, packed one per central memory word; this character type can be used only for application-to-application connections within the same host. =2, 8-bit characters, packed 7.5 per central memory word; this character type is recommended for transparent mode data or normalized mode data on device-to application connections or for application-to application connections between hosts. = 3 , 8 - b i t c h a r a c t e r s , r i g h t - j u s t i fi e d i n 1 2 - b i t b y t e s , p a c k e d 5 p e r c e n t r a l memory word; this character type can be used for transparent mode or normalized mode data on device-to-application connections, or for application-to-application connections. Figure 2-5. Application Block Header Content for Downline Network Data Blocks (Sheet 1 of 3) 2-30 60499500 W /0£\, =4, 6-bit display code characters (see table A-1 in appendix A), packed 10 per central memory word. This value can be used only for normalized mode data on application-to-terminal connections when the block is exchanged with a site-defined device or a CDC-defined console device. =5 thru Reserved for CDC use; not currently recognized. 11 = l 2 , 15 c Rundefined e " ^ v e d f o r(the i n s treleased a l l a t i o n uversion s e ; u s aof g e the a n dsoftware c o n t e n t does are u n r e recognize s t r i c t e d a nthese d thru not values). You can access this field with the reserved symbol ABHACT (see section 4). ncp No-cursor-positioning bit, indicating whether cursor positioning is to be disabled for the input operation that immediately follows this output block. If ncp is 1, no cursor positioning is to be performed for the next input operation; if ncp is 0, cursor positioning can be performed for the next operation. This bit is ignored for blocks sent on application-to-application connections and for blocks with an abt of 1 on «HMrrJ0"aPPl1^ti0^C°nneCti0nS* Y°U Can access th1s fieLd with the reserved symbol ABHNCP (see section 4). nfe No-format-effector bit, indicating whether the accompanying block contains format h leoncfk' c tcoo; ns t; a i.nI fs "ffoer mJastJ ' e ft fheecrteo r sa r e n f en f ei s fi0e,l d t h e b r e qnuoi r ifnogr mrae tm oevf fael c taonrds iinnt etrhper e tbal toi co kn ;. iTf h e applies only to normalized mode data exchanged with a site-defined device or a CDC-defined console device. You can access this field with the reserved symbol ABHNFE (see section 4). xpt Transparent mode bit, indicating whether the accompanying block contains transparent mode data. The value used in this field depends on the act value used, as follows: act=1, xpt value does not determine data translation and can be 1 or 0. A value of 0 is recommended. act=2, if the data is for a site-defined device or a CDC-defined console device: xpt=0 indicates normalized mode data for which interactive virtual terminal transformations should be performed; 7-bit characters are from the 128-character ASCII set (see appendix A). xpt=1 indicates transparent mode data for which no transformations are to be performed; all eight bit positions can be used to form 256 characters (if parity of none is used), but such data must be correctly formatted for terminal output. act=2, if the data is for an application program, xpt does not affect data translation and can be 1 or 0. For data passing through a public data network, the receiving application will always see xpt=0. Therefore, it is strongly recommended that a value of xpt=0 be used by the sender. act=3, if the data is for a site-defined device or a CDC-defined console device: xpt=0 indicates normalized mode data for which interactive virtual terminal transformations should be performed; 7-bit characters are from the 128-character ASCII set (see appendix A). xpt=1 indicates transparent mode data for which no transformations are p e rfo rme d ; a l l e i g h t b i t p o si ti o n s i n th e ch a ra cte r p o rti o n of the character byte can be used to form 256 characters (if parity of none is used), but such data must be correctly formatted for terminal output. act=3, if the data is for an application program, xpt does not affect data translation and can be 1 or 0. For data passing through a public data network, the receiving application will always see xpt=0. Therefore, it is strongly recommended that a value of xpt=0 be used by the sender. act=4, xpt value does not determine data translation and can be 1 or 0. A value of 0 is recommended. Figure 2-5. Application Block Header Content for Downline Network Data Blocks (Sh eet 2 of 3) 60499500 W 2-31 act= other xpt is not defined. You can access this field with the reserved symbol ABHXPT (see section 4). nep No-echoplexing bit, indicating whether the next logical line of nontransparent input data should not be echoplexed. If nep is 1 and the NPU is echoing characters back to the terminal (Y value of EP command, described in NAM Version 1/CCP Version 3 Terminal Interfaces reference manual), the NPU does not echo the next logical line from the console. If nep is 0 and the NPU is echoing characters (Y value of EP command), the NPU does echo the next logical line of input. This bit is ignored for blocks sent on application-to-application connections and for blocks with an abt of 1 on device-to-application connections. You can access this field with the reserved symbol ABHNEP (see section 4). r e s R e s e r v e d f o r C D C u s e . R e s e r v e d fi e l d s c o n t a i n z e r o . t i c Te x t L e n g t h o f t h e a s s o c i a t e d b l o c k , i n c h a r a c t e r u n i t s s p e c i fi e d b y t h e a c t v a l u e . T h e value to use in the tic field can be computed as follows: act=1, tic is the number of central memory words occupied by the block. act=2, tic is the number of complete central memory words occupied by the block times 7.5, plus the number of complete character bytes used in any remaining central memory word, rounded upward to an integer. act=3, tic is the number of complete central memory words occupied by the block times 5, plus the number of 12-bit character bytes used in any remaining central memory word. act=4, tic is the number of complete central memory words occupied by the block times 10. a c t = 5 t i c i s n o t d e fi n e d . thru 15 The character count used as the text length must include any format effectors and end-of-line indicator bytes contained in the block. You can access this field with the reserved symbol ABHTLC (see section 4). Figure 2-5. Application Block Header Content for Downline Network Data Blocks (Sheet 3 of 3) The precise function of a message within a primary function grouping is indicated by its secondary function code, forming the fourth common field. The mnemonic symbols used to identify these secondary function codes are related to the use of the mes sages. Mnemonics for these codes also appear in fi g u r e s 2 - 6 a n d 2 - 7 a n d i n p a r e n t h e s e s a f t e r t h e secondary functions in the following list: Reset (RST) Break (BRK) Logical problem (LGL) Initialization (INIT) Mark point in data (MARK) Request for logical connection (REQ) Switch connection between lists (SWH) End of connection (END) Turn connection list processing off (OFF) Connection broken (CB) Turn connection list processing on (ON) Application-to-application connection request (ACRQ) Turn half-duplex operation on for connection on a list (HDX) Internal shutdown (INSD) Turn full-duplex operation on for connection on a list (FDX) Inactive connection (INACT) No acknowledgment (NAK) Acknowledgment (ACK) Begin truncating input on a connection (TRU) Application interrupt request (APP) <*^Sv User Interrupt request (USR) 2-32 60499500 W Interrupt response (RSP) D e fi n e s i n g l e t e r m i n a l c h a r a c t e r i s t i c ( D E F) Change input character type (CICT) Define multiple terminal characteristics (TCD) Report of changed terminal characteristics (TCHAR) Downline CCP terminal multiple characteristics definition (CHAR) Request terminal characteristics (RTC) Define CDCNET terminal characteristics (CTD) 59 ta word 1 51 49 43 sfc pfc Parameters • ta word n Parameters ta Symbolic text area address, specified in a NETGET, NETGETF, NETGETL, or NETGTFL call as the location to receive an upline supervisory message or specified in a NETPUT or NETPUTF call as the location from which to send a downline supervisory message (see section 5). pfc Primary function code. Field mnemonics are used throughout this manual in specific message formats. Reserved symbols corresponding to the field mnemonics can be used to access message fields (see section 4). Reserved symbols for the primary function code are used throughout this manual within mnemonics identifying specific messages. The mnemonics a n d t h e i r u n p a c k e d ( r i g h t - j u s t i fi e d ) n u m e r i c a l e q u i v a l e n t s a r e : Field Mnemonic Reserved Symbolic Mmemonic bit con ctrlt Bl CON CTRL dc err fc hop D C ERR F C HOP intr INTR 1st LST R O rot shut SHUT tch TCH TO tot Octal 312 143 301 302 204 203 320 200 300 313 102 144 304 Hexadecimal CA 63 C1 C2 84 83 D O 80 C O CB 42 64 C4 Decimal 202 099 193 194 132 131 208 128 192 203 066 100 196 Primary function codes 00 through E0 hexadecimal are reserved for CDC use. Hexadecimal codes E1 through EF are for installation use and have no predefined meanings or reserved symbols. You can access the pfc field with the reserved symbol PFC (see section 4). eb Error bit. When set to 1, to a previous supervisory eb field always contains 0 message. You can access rb Response bit. When set to 1, rb indicates a normal response to a previous supervisory message; rb is always 0 in a supervisory message that is not a response to a previous message. You can access this field with the reserved symbol RB (see section 4). sfc Secondary function code. Field mnemonics are used throughout this manual in specific message formats. Reserved symbols corresponding to the field mnemonics can be used to access message fields (see section 4). Reserved symbols for the secondary function code are used throughout this manual within mnemonics identifying specific messages. The sfc mmemonics and their unpacked (right-justified) numerical equivalents are: eb indicates the occurrence of an error (an abnormal response message); when set to 0, eb indicates a normal response. The when a supervisory message is not a response to a prior this field with the reserved symbol EB (see section 4). Figure 2-6. Supervisory Message General Content, Asynchronous Messages and Synchronous Messages of Application Character Type 2 (Sheet 1 of 2) /g^?N, 60499500 W 2-33 | Field Mnemonic req acrq cb end ccdt ctdt deft chart rcct rtct tcdt cict stmr tru igi brk rst ack nak inact init brk cmd tra c e du ig start endd notr rs dis ig alt page re I db de day usr rsp app off on swh fdx hdx insd tc h a r markt Related Symbolic pfc CON CON CON CON CTRL CTRL CTRL CTRL CTRL CTRL CTRL D C D C D C ERR F C FC FC FC FC FC HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP HOP INTR INTR INTR LST LST LST LST LST SHUT TCH TO or Bl or RO Reserved Symbolic M n e m o n i c O c t a l REQ ACRQ CB END CCD CTD DEF CHAR RCC RTC TCD CICT STMR TRU LGL BRK RST ACK NAK INACT INIT BRK CMD TRACE D U IG START ENDD NOTR RS DIS L G ALT PAGE REL D B DE DAY USR RSP APP OFF O N SWH FDX HDX INSD TCHAR MARK 00 02 05 06 14 02 04 10 13 11 12 00 02 01 01 00 01 02 03 04 07 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 00 01 02 00 01 02 03 04 06 00 00 Hexadecimal Decimal 00 02 05 06 O C 02 04 08 O B 09 OA 00 02 01 01 00 01 02 03 04 07 00 01 02 03 04 05 06 07 08 09 O A O B O C O D O E OF 10 00 01 02 00 01 02 03 04 06 00 00 00 02 05 06 12 02 04 08 11 09 10 00 02 01 01 00 01 02 03 04 07 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 00 01 02 00 01 02 03 04 06 00 00 Yo u c a n a c c e s s t h e s f c fi e l d w i t h t h e reserved symbol SFC (see section 4 ) . parameters These parameters can extend into words 2 through n; n < 410. t h e d e s c r i p t i o n s o f t h e s p e c i fi c messages in section 3. Parameters are defined i n tsynchronous supervisory message fields. Figure 2-6. Supervisory Message General Content, Asynchronous Messages and Synchronous Messages of Application Character Type 2 (Sheet 2 of 2) /^Sfey 2-34 60499500 V Functions routed between NAM and the application program are represented in figures 2-6 and 2-7 by mnemonics. These mnemonics are defined in paren theses after the corresponding function in the following list: Connection data flow control (FC) Error reporting (ERR) Device control (CTRL) Connection list management (LST) C o n n e c t i o n c h a r a c t e r i s t i c d e fi n i t i o n ( D C ) Interrupt request (INTR) Connection control (CON) Te r m i n a l c h a r a c t e r i s t i c d e fi n i t i o n ( T C H ) Turn full-duplex operation on for connection on a list (FDX) Begin truncating input on a connection (TRU) Application interrupt request (APP) User interrupt request (USR) Interrupt response (RSP) Change input character type (CICT) Report of changed terminal characteristics (TCHAR) Request terminal characteristics (RTC) Network shutdown (SHUT) Define single terminal characteristic (DEF) Host operator commands (HOP) U p l i n e t e r m i n a l m u l t i p l e c h a r a c t e r i s t i c s d e fi nition (TCD) Terminate output (TO) Downline terminal multiple characteristics def inition (CHAR) Break indication (Bl) Resume output (RO) /0^\ Turn half-duplex operation on for connection on a list (HDX) The precise function of a message within a primary function grouping is indicated by its secondary function code, forming the fourth common field. The mnemonic symbols used to identify these secondary function codes are related to the use of the mes sages. Mnemonics for these codes also appear in fi g u r e s 2 - 6 a n d 2 - 7 a n d i n p a r e n t h e s e s a f t e r t h e secondary functions in the following list: Request for logical connection (REQ) End of connection (END) T h e s e c o n d a n d t h i r d c o m m o n fi e l d s a r e u s e d t o indicate whether the function was performed or not. B y c o n v e n t i o n , t h e s e fi e l d s a r e c a l l e d t h e e r r o r and response bits. The error bit is usually set to indicate the message recipient's refusal to perform the function; the response bit is set to indicate the recipient's normal completion of the function. Together, the four common fields define one super visory message. Supervisory messages can be grouped into two classes of sequencing protocol: Asynchronous (the largest class) Synchronous Connection broken (CB) Application-to-application connection request (ACRQ) Internal shutdown (INSD) Inactive connection (INACT) No acknowledgment (NAK) ASYNCHRONOUS MESSAGES Asynchronous supervisory messages are sent or received separately from the stream of data message blocks between an application program and a logical connection. Their receipt or the need to send them cannot be predicted from the generalized logic required for data block processing. Such messages are said to be asynchronous to the data block stream. Acknowledgment (ACK) Reset (RST) Break (BRK) Logical problem (LGL) Initialization (INIT) Mark point in data (MARK) Switch connection between lists (SWH) Turn connection list processing off (OFF) jPfc\ Turn connection list processing on (ON) 60499500 R All asynchronous messages are sent or received on a special logical connection with the preassigned application connection number of zero. The network software preassigns this application connection number to connection list zero. All asynchronous supervisory messages are actually sent to or received from software resident in the host computer, although they may be reformatted by t h i s s o f t w a r e f o r c o m m u n i c a t i o n w i t h software out side of the host. These messages conform to the requirements of application-to-application connec tions. Asynchronous supervisory messages therefore use an application character type of one. All supervisory messages are assigned the nonzero a p p l i c a ti o n b l o c k ty p e o f th r e e . 2-35 Asynchronous supervisory messages are processed with the same AIP routines used by an application program to process data message blocks on logical connections other than application connection number zero. Asynchronous supervisory messages are queued on their special connection until fetched by the application program. The application program fetches supervisory messages one message at a time. When the connection queue i s e m p t y, a n u l l b l o c k w i t h a n a p p l i c a t i o n b l o c k type of zero is returned. The network software provides a mechanism for the application program to determine when asynchronous supervisory messages are queued on application con nection number zero. When a call to an AIP routine is completed, a supervisory status word at a loca tion defined by the application program is updated to indicate whether any asynchronous supervisory messages are queued. As long as the application program continues to make calls to AIP routines, it can test the supervisory status word periodically (instead of attempting to fetch null blocks from application connection number zero). The supervi so ry sta tu s w o rd a n d th e u se o f N ETWAIT a re described in section 5. conform to the requirements of application-toterminal connections. Synchronous supervisory mes sages use an application character type of two or three; your program specifies which is used when it accepts the connection to the terminal. Synchronous supervisory messages are processed with the same AIP routines used by an application pro gram to process other blocks on logical connections. Synchronous supervisory messages are queued on their connections until fetched by the application program. Because the application program must dis tinguish between data or null blocks and synchronous supervisory message blocks, supervisory messages are assigned the application block type of three. The network software provides a mechanism for the application program to determine when synchronous supervisory messages or data blocks are queued on a logical connection. When a call to the AIP routine NETWAIT is completed, a supervisory status word at a l o c a t i o n d e fi n e d b y t h e a p p l i c a t i o n p r o g r a m i s updated to indicate whether any synchronous super visory message or data blocks are queued. The application program can test the supervisory status w o r d p e r i o d i c a l l y, i n s t e a d o f a t t e m p t i n g t o f e t c h null blocks from all application connection num bers. The supervisory status word and the use of NETWAIT are described in section 5. SYNCHRONOUS MESSAGES Synchronous supervisory messages are sent or received embedded in the stream of data message blocks between an application program and a logical connection. Their receipt or the need to send them is determined by the generalized logic required for data block processing. Such messages are said to be synchronous with the data block stream. All synchronous messages are sent or received on t h e l o g i c a l c o n n e c t i o n t o w h i c h t h e y a p p l y. T h i s logical connection cannot be application connection number zero. All synchronous supervisory messages are actually sent to or received from network software outside of the host computer. Because the application pro gram processes these messages as network blocks sent to or received from terminals, the messages 59 ha 53 abt 41 adr Synchronous supervisory messages are subject to the same application block limit as data messages and are similarly acknowledged. This process is described in section 3. BLOCK HEADER CONTENT The content of the block header word associated with a supervisory message depends on whether the message is asynchronous or synchronous, and on whether it Is being sent or received. The require ments for asynchronous and synchronous messages are described in the preceding subsection. The requirements for all header words associated with incoming supervisory messages are described in fi g u r e 2 - 8 . T h e r e q u i r e m e n t s f o r a l l h e a d e r w o r d s associated with outgoing supervisory messages are described in figure 2-9. 23 19 16 Reserved for use by CDC act b3 11 tic ha Symbolic header area address, specified as the location to receive the application block header in a call to NETGET, NETGETF, NETGETL, or NETGTFL (see section 5). abt Application block type of the associated message block. This field can contain the values: =0, indicates a null block. (No message is queued or can be delivered from the logical connection polled.) =3, indicates that the accompanying block is a supervisory message block. Values of 1, 2, and 4 through 63 are not valid for supervisory messages on input. You can access this field with the reserved symbol ABHABT (see section 4). Figure 2-8. Application Block Header Content for Upline Supervisory Messages (Sheet 1 of 2) 2-36 60499500 R adr Application connection number of the logical connection from which the message block comes. This field can have the values: =0, for asynchronous supervisory messages from the host portion of the network software. =acn, for synchronous supervisory messages from the Terminal Interface Program servicing the logical connection with the indicated nonzero application connection number. You can access this field with the reserved symbol ABHADR (see section 4). act Application character type used to encode the accompanying message block. The value appearing in this field depends on the type of supervisory message involved and on the act value you chose (the set field described in section 3) for synchronous supervisory messages on this connection; this field can contain the values: =1, an asynchronous supervisory message packed in 60-bit words. Must be used for supervisory messages with an adr value of 0. =2, a synchronous supervisory message packed in 8-bit characters, 7.5 characters per central memory word (the recommended value). =3, a synchronous supervisory message packed in 8-bit characters, 5 characters per central memory word. J ^ > \ Because the fields within supervisory messages are groups of bits within central memory words (rather than characters in a character string), the act field of a supervisory message does not indicate that character mapping occurred. You can access this field with the reserved symbol ABHACT (see section 4). ibu Input-block-undeliverable bit. When ibu is 1, the block associated with this block header has not been delivered to the application program. The block is larger than the maximum text length (tlmax parameter) declared by the application program in its NETGET, NETGETF, NETGETL, or NETGTFL call and remains queued until: A NETGET, NETGETL, NETGETF, or NETGTFL call occurs for the connection and specifies an adequate text length (see section 5). A truncate-input asynchronous supervisory message (see section 3) is issued for the connection and a NETGET, NETGETL, NETGETF, or NETGTFL call occurs for the connection (see section 5). This action resolves the problem only for synchronous supervisory messages. A block header with an ibu value of 1 contains the actual length of the queued block in its tic field, given in character units specified by the act field. You can access this field with the reserved symbol ABHIBU (see section 4). tru Truncated data bit. When tru is 1, the synchronous supervisory message block associated with this block header has been truncated to fit into the text area used. Asynchronous supervisory messages are never truncated. This bit contains a meaningful value only after the application program has issued the data truncation control asynchronous supervisory message described in section 3 and only if that message affects transmissions on this connection. When truncation occurs, the block header for the truncated block contains the maximum number of complete transferred character bytes in its tic field. You can access this field with the reserved symbol ABHTRU (see section 4). re Reserved for CDC use. tic Text length of the associated block, in character units specified by the act field, as follows: act=1, tic is the number of central memory words occupied by the block. act=2, tic is the number of 8-bit bytes containing meaningful message fields. act=3, tic is the number of 12-bit bytes containing meaningful message fields. You can access this field with the reserved symbol ABHTLC (see section 4). 0^\ Figure 2-8. Application Block Header Content for Upline Supervisory Messages (Sheet 2 of 2) 60499500 R 2-37 59 ha 53 abt 41 adr 23 abn 19 11 act tic ha Symbolic header area address, specified as the application block header's location in a call to NETPUT or NETPUTF (see section 5). abt Application block type; abt is 3 for all supervisory messages. You can access this field with the reserved symbol ABHABT (see section 4). adr Application connection number of the logical connection to which the message block should be sent. This field can contain the values: =0, for asynchronous supervisory messages addressed to the host portion of the network software. =acn, for synchronous supervisory messages addressed to the Terminal Interface Program servicing the logical connection with the indicated nonzero application connection number. You can access this field with the reserved symbol ABHADR (see section 4). abn Application block number assigned to the message block being sent. This field is an 18-bit integer that identifies a synchronous supervisory message block when the network software's processing of the block returns a block-delivered or block-not-delivered supervisory message. This field is generally ignored for asynchronous supervisory messages. If the message is a request for connection with another application program, that application program will receive this integer as part of the request; see the CON/ACRQ/R supervisory message description in section 3. You define the block number; it can be: A sequencing number The block's central memory address The block's mass storage address (physical record unit) An index value for a block control array or table An external label You can access this field with the reserved symbol ABHABN (see section 4). act Application character type used to encode the accompanying message block. The value declared for this field depends on the type of supervisory message involved; this field can have the values: =1, an asynchronous supervisory message packed in 60-bit transparent character bytes, one character per central memory word. =2, a synchronous supervisory message packed in 8-bit character bytes, 7.5 bytes per central memory word; the recommended value. =3, a synchronous supervisory message packed in 8-bit characters within 12-bit bytes, 5 bytes per central memory word. You can access this field with the reserved symbol ABHACT (see section 4). tic Text length of the accompanying block, in character units specified by the act field, as follows: act=1, tic is the number of central memory words occupied by the block. act=2, tic is the number of 8-bit bytes containing meaningful message fields. act=3, tic is the number of 12-bit bytes containing meaningful message fields. You can access this field with the reserved symbol ABHTLC (see section 4). Figure 2-9. Application Block Header Content for Downline Supervisory Messages 2-38 60499500 R SUPERVISORY MESSAGES 3| This section describes all synchronous and asyn chronous supervisory messages that are legal for application program communication with network software. These messages are described in the con text of their use. subsections are discussed in the context of their normal sequences. Each sequence Is illustrated with a figure that shows the sender and recipient of the messages in the sequence, and the direction of transmission of each message (arrows). MESSAGE MNEMONICS Message sequences include the following: Figure 2-6 in section 2 shows the general format of a supervisory message. Note that this information is in the text area of the message and must be accompanied by an application block header as described in section 2. A supervisory message is i d e n t i fi e d b y t h e c o n t e n t s o f i t s p r i m a r y f u n c t i o n c o d e fi e l d , e r r o r b i t , r e s p o n s e b i t , a n d s e c o n d a r y f u n c t i o n c o d e fi e l d . T h i s a l l o w s a s u p e r v i s o r y message to be described by a mnemonic of the form shown in figure 3-1. Although many combinations of v a l i d fi e l d v a l u e s a r e p o s s i b l e , o n l y c e r t a i n c o m b i n a t i o n s a r e p e r m i t t e d . Ta b l e 3 - 1 l i s t s t h e s e legal messages alphabetically by mnemonic. Managing logical connections Managing connection lists C o n t r o l l i n g d a t a fl o w Converting blocks Truncating blocks Managing terminal characteristics Host operator communication Host shutdown Error reporting pfc/sfc/sm pfc The reserved symbolic mnemonic contents of the primary function field; this mnemonic can be any l i s t e d i n fi g u r e 2 - 6 i n s e c t i o n sfc The reserved symbolic mnemonic of the contents of the secondary function code field; this mnemonic can be any of those l i s t e d i n fi g u r e 2 - 6 i n s e c t i o n 2 , provided the secondary function code is legal for the primary function code used. Five messages are used in connection management. These are the CON/ACRQ, CON/REQ, CON/CB, CON/END, and FC/INIT. These messages as well as examples of how they are used in connecting devices to applica tions, applications to applications, and later terminating these connections are discussed in this subsection. sm A letter indicating the combined settings of the error and response bits; this letter can be: CONNECTING DEVICES TO APPLICATIONS for the code of those 2. R Indicating an initial request supervisory message (bit setting 00) N Indicating a normal response supervisory message (bit setting 01) A Indicating an abnormal response supervisory message (bit setting 10) Figure 3-1. Supervisory Message Mnemonic Structure MESSAGE SEQUENCES Supervisory messages are always used in stereotyped sequences of one or more messages. Related messages (messages distinguished by the use of the error or response bits) are always part of multiple-message sequences. The messages described in the following 60499500 R MANAGING LOGICAL CONNECTIONS After an application program has completed a NETON call, connection-request supervisory messages are sent to the application on behalf of each device seeking connection. Request by request, the appli cation must decide whether to accept or reject the requested connection. Rejection might be neces s a r y, f o r e x a m p l e , w h e n t h e a p p l i c a t i o n p r o g r a m receives a connection request for a card reader and it does not support batch devices. To respond to a connection-request-message, the application must return one of two similar messages, indicating that the application is either rejecting or accepting the connection request. Figure 3-2 shows the common message sequences in the connection establishment process. I n t h i s fi g u r e , a r r o w s i n d i c a t e t h e d i r e c t i o n o f transmission of each message. The general term Network Access Method (NAM) indicates the network host software sending or receiving the message, regardless o*f the software module actually involved. 3-1 TABLE 3-1. LEGAL SUPERVISORY MESSAGES Message Mnemonic Message Meaning Type Block Header Fields Figure Number D e fi n i n g Message BI/MARK/R Break-indication-marker request Upline synchronous acn r* 0 act = 2,3 tic = 2 3-32 CON/ACRQ/A Rejection of application-toapplication connection request Upline asynchronous acn = 0 act = 1 tic = 2 3-13 CON/ACRQ/R Application-to-application connection request Downline asynchronous acn = 0 act = 1 tic = 2 3-12 CON/CB/R Connection broken Upline asynchronous acn = 0 act = 1 tic - 1 3-8 CON/END/N All connection processing completed Upline asynchronous acn = 0 act = 1 tic = 1 3-10 CON/END/R End all connection processing Downline asynchronous acn = 0 act = 1 tic >^ 2 3-9 CON/REQ/A Connection rejected Downline asynchronous acn = 0 act = 1 tic = 1 3-5 CON/REQ/N Connection accepted Downline asynchronous acn ■* 0 act = 1 tic = 1 3-4 CON/REQ/R Connection requested Upline asynchronous acn = 0 act = 1 tic >_ 6 3-3, 3-14 CTRL/CHAR/A No terminal characteristics changed Upline synchronous acn £ 0 act = 2, 3 tic = 4 3-49 CTRL/CHAR/N Multiple terminal characteristics d e fi n e d Upline synchronous acn f 0 act = 2, 3 tic >= 2 3-50 CTRL/CHAR/R D e fi n e m u l t i p l e t e r m i n a l characteristics Downline synchronous acn £ 0 act = 2, 3 tic > 2 3-48 CTRL/DEF/R R e d e fi n e t e r m i n a l c h a r a c t e r i s t i c Downline synchronous acn ^ 0 act = 2, 3 tic >. 2 3-47 CTRL/RTC/A Bad value in request terminal characteristics supervisory message Upline synchronous acn ^ 0 act =■ 2, 3 tic = 4 3-52 CTRL/RTC/R Request current value of terminal characteristics Downline synchronous acn ^ 0 act = 2, 3 tic > 2 3-51 CTRL/TCD/R Te r m i n a l c h a r a c t e r i s t i c s d e fi n i t i o n s Upline synchronous acn f 0 act = 2, 3 tic > 2 3-53 3-2 60499500 R TABLE 3-1. LEGAL SUPERVISORY MESSAGES (Contd) Message Mnemonic Block Header Fields Figure Number D e fi n i n g Message Message Meaning Type DC/CICT/R Change application character type of connection input Downline asynchronous acn = 0 act = tic = 3-42 DC/TRU/R Truncate upline block Downline asynchronous acn = act = tic = 3-44 ERR/LGL/R Logical error Upline asynchronous acn = act «= tic > 3-65 FC/ACK/R Output block delivered Upline asynchronous acn = act = tic = 3-25 FC/BRK/R Connection processing interrupted by break Upline asynchronous acn = act = tic = 3-28 FC/INACT/R Connection inactive Upline asynchronous acn = act = tic = 3-16 FC/INIT/N Application ready for connection processing (connection initial ized) Downline asynchronous acn = act = tic = 3-7 FC/INIT/R NAM ready for connection process ing (connection initialized) Upline asynchronous acn = act = tic = 3-6 FC/NAK/R Output block not delivered Upline asynchronous acn = act = tic = 3-26 FC/RST/R Reset connection Downline asynchronous acn = act = tic = 3-29 HOP/DB/R Activate debug code Upline asynchronous acn = act = tic = 3-55 HOP/DE/R Turn off debug code Upline asynchronous acn = act tic = 3-56 HOP/DU/R Dump field length Upline asynchronous acn «= act = tic = 3-57 HOP/NOTR/R Turn off AIP tracing Upline asynchronous acn = act = tic = 3-59 HOP/REL/R Release debug log file Upline asynchronous acn = act = tic = 3-60 HOP/RS/R Restart statistics gathering Upline asynchronous acn = act = tic = 3-61 /^ff^*\ 60499500 R 3-3 /*^st&V TABLE 3-1. LEGAL SUPERVISORY MESSAGES (Contd) Message Mnemonic Message Meaning Type Block Header Fields Figure Number D e fi n i n g Message HOP/TRACE/R Turn on AIP tracing Upline asynchronous acn = 0 act = 1 tic - 1 3-58 INTR/APP/R Application interrupt request Downline asynchronous acn » 0 act = 1 tic - 1 3-35 INTR/RSP/R Interrupt response Downline or upline asynchronous acn = 0 act = 1 tic = 1 3-33, 3-36 INTR/USR/R User interrupt or user interrupt request Upline asynchronous acn = 0 act = 1 tic = 1 3-31, 3-39 LST/FDX/R Turn on full duplex operation for connections in list Downline asynchronous acn = 0 act = 1 tic «■ 1 3-24 LST/HDX/R Turn on half duplex operation for connections in list Downline asynchronous acn = 0 act ■ 1 tic = 1 3-23 LST/OFF/R Tu r n l i s t p r o c e s s i n g f o r c o n n e c t i o n o ff Downline asynchronous acn = 0 act = 1 tic = 1 3-20 LST/ON/R Tu r n l i s t p r o c e s s i n g f o r connection on Downline asynchronous acn <= 0 act = 1 tic = 1 3-21 LST/SWH/R Switch application list number of connection Downline asynchronous acn = 0 act = 1 tic - 1 3-22 RO/MARK/R Resume output marker Downline synchronous acn f 0, act = 2,3 tic » 2 3-34 SHUT/INSD/R Network shut-down in progress Upline asynchronous acn = 0 act = 1 tic » 1 3-63 TCH/TCHAR/R Te r m i n a l c h a r a c t e r i s t i c s r e d e fi n e d Upline asynchronous acn = 0 act « 1 tic - 1 3-46 TO/MARK/R Terminate output marker Downline synchronous acn f 0 act = 2, 3 tic = 2 3-37 *^%H\ 3-4 60499500 R 0jS^\ Application NAM -< Message CON/REQ/R CON/REQ/N FC/INIT/R FC/INIT/N The application program can now send and receive messages over the logical connectii Application NAM Message CON/REQ/R CON/REQ/A The application program has rejected the logical connection. Application NAM Message CON/REQ/R CON/REQ/N CON/CB/R CON/END/R -< CON/END/N Although the application program was willing to accept it, the logical connection could not be completed. Figure 3-2. Device-to-Application Connection Supervisory Message Sequences An application program cannot initiate a connection to a terminal. The connection-request supervisory message shown in figure 3-3 can only be an incoming asynchronous message. The application program's fi r s t a c t i o n i n p r o c e s s i n g a d e v i c e - t o - a p p l i c a t i o n connection sequence is to issue the asynchronous connection-accepted supervisory message shown in figure 3-4, or the connection-rejected message shown i n fi g u r e 3 - 5 . If the application program accepts the connection (assuming that no change has occurred in the status of the requesting terminal), the network software informs the application program that the connection 60499500 R is ready for data transmission. This is done by sending the asynchronous initialized-connection message shown in figure 3-6 upline to the applica tion program. If conditions have not changed and the application program can still service the con nection, it responds by issuing the connectioni n i t i a l i z e d m e s s a g e s h o w n i n fi g u r e 3 - 7 . D a t a transmission on the logical connection can then begin. After the network software receives the connection-initialized message, the application program can send output to console devices or wait for input from them. An application program cannot send or receive any supervisory messages or data blocks on a connection until connection initial ization processing has been completed. 3-5 5958 ta 54 5251 49 47 45 43 41 39 con 35 31 29 25 res req acn 23 2120 abl sdt 12 1716 dt tname si res ahmt ahds res a h d s a h f c a h c s ta a t r o a t P X dbz xbz res logname usrind a h r ahtl ahsl ahem ahec ord Pi famord ahlp ahep ahec ahms a h ahsc i res s res a t P a r res logfam ahpt aawc atwd ubz a h tc pw ownert a h 7 5 ahdt ahdf See NOS Administration Handbook a t attt at is c res accd a cmd Symbolic address of the application program's text area receiving this asynchronous super visory message. Primary function code 63-|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of reserved symbol CON. req Secondary function code 0. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol REQ. res Reserved by CDC. Reserved fields contain zero. acn Application connection number assigned to this logical connection, if the connection is estab lished; 1 £ minacn < acn < maxacn < 4095, where minacn and maxacn are minimum and maximum values established by the application program in its NETON call. (See section 5.) You can access this field with the reserved symbol CONACN, as described in section 4. abl Application block limit, specifying the maximum number of data or synchronous supervisory message blocks the program can have outstanding (unacknowledged as delivered by the network software) on this connection at any time. This value is established for the device involved in the logical connection when the device is described in the network configuration file. This field has the range 1 < abl £ 7. You can access this field with the reserved symbol CONABL, as described in section 4. Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections (Sheet 1 of 6) 3-6 60499500 S sdt Subdevice type. If dt=1 or 12 through 15 (card reader or a site-defined device), this field can have the values: 0 029 punch patterns are the default for each job deck 1 026 punch patterns are the default for each job deck 2 thru 11 Reserved for CDC use 12 thru 15 Reserved for installation use If dt=2 or 12 through 15 (line printer or a site-defined device), this field can have the values: 0 64-character ASCII print train 1 64-character BCD (CDC scientific) print train 2 95-character ASCII print train 3 thru 11 Reserved for CDC use 12 thru 15 Reserved for installation use If dt=4 or 12 through 15 (plotter or a site-defined device), this field can have the values: 0 Instructions must be packed in 6-bit bytes 1 Instructions must be packed in 8-bit bytes dt 2 thru 11 Reserved for CDC use 12 thru 15 Reserved for installation use Device type of the terminal device. This field can have the values: 0 Console (interactive terminal) Card reader; your program should reject connections with this device type Line printer; your program should reject connections with this device type Card punch; your program should reject connections with this device type Plotter; your program should reject connections with this device type 5 thru 11 Reserved for CDC use 12 thru 15 Reserved for installation use Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections (Sheet 2 of 6) 60499500 S 3-7 Devices with a device type of zero can be serviced as interactive virtual terminals. Devices with device types of 1 through 4 must be serviced as batch devices. You can access this field with the reserved symbol CONDT, as described in section 4. Applications other than RBF are only allowed to do input/output on batch devices if the devices are of types 0 or 12 through 15. tc Terminal class assigned to the terminal either in the network configuration file or by the terminal operator. The terminal class determines the parameters and ranges valid for redefi nition of the device. The device is serviced by the TIP according to the attributes asso ciated with the terminal class. These attributes are discussed in the Terminal Interfaces reference manual. The terminal class field can have the values: Reserved for CDC use. Archetype terminal for the class i s a Teletype Corporation Model 30 Series. Archetype terminal for the class i s a CDC 713-10, 751-1, 752, or 756. Archetype terminal for the class i s a CDC 721. Archetype terminal for the class i s an IBM 2741. Archetype terminal for the class i s a Teletype Corporation Model 40-2. Archetype terminal for the class i s a Hazeltine 2000, operating as a teletypewriter. Archetype terminal for the class i s a VT100 (ANSI X3.64 standard). Archetype terminal for the class is a Tektronix 4000 Series, operating as a tele typewriter. Archetype terminal for the class is a HASP (post-print) protocol multileaving workstation. 10 Archetype terminal for the class i s a CDC 200 User Terminal, 11 Archetype terminal for the class i s a CDC 714-30. 12 Archetype terminal for the class i s a CDC 711-10. 13 Archetype terminal for the class i s a CDC 714-10/20. 14 Archetype terminal for the class is a HASP (pre-print) protocol multileaving work station. 15 Archetype terminal for the class is a CDC 734. 16 Archetype terminal for the class is an IBM 2780. 17 Archetype terminal for the class is an IBM 3780. 18 Archetype terminal for the class is an IBM 3270. 19 thru 27 Reserved for CDC use. 28 thru 31 Reserved for installation use. You can access this field with the reserved symbol C0NT, as described in section 4. Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections (Sheet 3 of 6) 3-8 60499500 S nc Restricted interactive capability (for consoles only). This field can have the values: 0 Te r m i n a l h a s u n r e s t r i c t e d i n t e r a c t i v e c a p a b i l i t y. 1 Te r m i n a l h a s r e s t r i c t e d i n t e r a c t i v e c a p a b i l i t y. Applications should limit the amount of interactive dialog with a terminal that has restricted interactive capability. Such terminals (for example a 2780 or 3780) in which the console is emulated by a card reader and line printer are not truly interactive. You can access this field with the reserved symbol CONR, as described in section 4. ord Device ordinal, indicating a unique device when more than one device with the same device type is part of the same terminal. This field can have the value: All interactive consoles 1 thru 7 Batch devices The device ordinal is assigned to the device when the device is defined in the network con figuration file. You can access this field with the reserved symbol C0N0RD, as described in section 4. tname Terminal device name, assigned to the device in the network configuration file. This name is one to seven 6-bit display code letters and digits, left-justified with blank fill; the first character is always alphabetic. The terminal device name is the element name used by the net work operator to identify the device. You can access this field with the reserved symbol CONTNM, as described in section 4. pw If the device is a console, this field specifies the maximum number of characters in a physical line of input or output, 0 or 20 £ pw £ 255. If the device is a batch card reader or card punch, this field specifies the maximum number of characters in an input or output record. If the device is a batch line printer, this field specifies the maximum number of characters in a line of output, 50 £ pw £ 255. If the device is a plotter, this field specifies the maximum number of character bytes of plotter information in a record of output. Page width of consoles is discussed in the Terminal Interfaces reference manual. You can access this field with the reserved symbol CONPU, as described in section 4. The pw value can be assigned in the network configuration file or the user can set console pw from the terminal. Default value depends on terminal class. Pi Page length of a device, specifying the number of physical lines that constitute a page. The page length is assigned to the terminal either in the network configuration file or by the terminal operator; page length is one of the attributes associated with the terminal class by the TIP, and is discussed in the Terminal Interfaces reference manual. This field can have the values 0 or 8 £ pi £255 for interactive consoles, but is always 60 for batch devices. You can access this field with the reserved symbol CONPL, as described in section 4. ownert Terminal device name of the owning console (for batch devices only). For batch devices, this field contains one to seven 6-bit display code characters, left-justified with blank fill; for console devices, this field is zero. You can access this field with the reserved symbol C0N0WNR, as described in section 4. si Access level of the communications line in use. Access to information or resources requiring a security level higher than this value should be prohibited. This value is the AL parameter from the NDL statement defining the communication line used by the terminal. This field can have the values 0 £ si £ 15. You can access this field with the reserved symbol C0NSL, as described in section 4. dbz Block size in characters for any downline block from the application to NAM. The downline block size is assigned to the device in the network configuration file and is a function of line speed, device type, and terminal class as described in the Network Definition language reference manual. This field can have the values 1 £ dbz £ 2043. The values are advisory only. You can access this field with the reserved symbol C0NDBZ, as described in section 4. hw The hardwired line indicator. A 0 (zero) indicates that the device is not hardwired; a 1 indicates that the device is hardwired. rf&F&'Xti Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-AppIication Connections (Sheet 4 of 6) 60499500 S 3-9 ubz Upline block size (in multiples of 100 characters) for a (in PRUs) of a batch device. Console connections with of 100 characters or blocks created when a linefeed is access this field with the reserved symbol CONUBZ, as console device. Upline block size an upline block size of 0 send blocks entered from the console. You can described in section 4. xbz Transmission block size (in characters) of the device. This is the number of characters in an output transmission block that CCP sends to the terminal. You can access this field with the reserved symbol CONXBZ, as described in section 4. logfam The NOS family name supplied by the terminal operator during login or by the local configu ration file as an automatic login parameter. This family name is one to seven 6-bit display code letters and digits, left-justified with blank fill. You can access this field with the reserved symbol CONFAM, as described in section 4. famord The NOS family ordinal corresponding to the logfam field contents. You can access this field with the reserved symbol C0NF0, as described in section 4. logname The NOS user name supplied by the terminal operator during login or by the local configu ration file as an automatic login parameter. This user name is one to seven 6-bit display code letters, digits, or asterisks, left-justified with blank fill. You can access this field with the reserved symbol CONUSE, as described in section 4. usrind The NOS user index corresponding to the logname field contents. You can access this field with the reserved symbol CONUI, as described in section 4. ahmt User validation control word defined in the NOS validation file. You can access this word with the reserved symbol CONAHMT, as described in section 4. The NOS Administration Handbook section on the MODVAL command explains the use of the fields in this word. ahpt Index value of allowed units plotted per file for the connection's user name. See NOS MODVAL PT parameter. ahmti Index value of allowed magnetic tapes for the connection's user name. See NOS MODVAL MT parameter. ahrp Index value of allowed removable packs for the connection's user name. See NOS MODVAL RP parameter. ahdb Index value of allowed deferred batch jobs for the connection's user name. See NOS MODVAL DB parameter. ahtl Index value of central processor time limit per job step for the connection's user name. See NOS MODVAL TL parameter. ahsl Index value of system resource unit limit for the connection's user name. See NOS MODVAL JL parameter. ahem Index value of allowed central memory field Length for the connection's user name. See NOS MODVAL CM parameter. ahec Index value of allowed extended central storage field length for the connection's user name. See NOS MODVAL EC parameter. ahlp Index value of allowed lines printed per file for the connection's user name. See NOS MODVAL LP parameter. ahep Index value of allowed cards punched per file for the connection's user name. See NOS MODVAL CP parameter. ahds User validation control word defined in the NOS validation file. You can access this word with the reserved symbol CONAHDS, as described in section 4. The NOS Administration Handbook section on the MODVAL command explains the use of the fields in this word. ahdsi Index value of allowed direct access file size for the connection's user name. See NOS MODVAL DS parameter. ahfc Index value of allowed maximum number of permanent files in catalog for the connection's user name. See NOS MODVAL FC parameter. ahes Index value of allowed maximum total indirect access file storage space for the connection's user name. See NOS MODVAL CS parameter. Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections (Sheet 5 of 6) 3-10 60499500 S ahis Index value of allowed indirect access file size for the connection's user name. See NOS MODVAL IS parameter. ahsc Allowed security count for the connection's user name. See NOS MODVAL SC parameter. ahdt Allowed number of detached jobs for the connection's user name. See NOS MODVAL DT parameter. ahdf Allowed number of calls per job to the COMPASS MS6 macro for dayfile entries under the connection's user name. See NOS MODVAL DF parameter. ahec Allowed number of NOS commands per job for the connection's user name. See NOS MODVAL CC parameter. ahms aawc SU0^NOS D«I!!!!!.r n,aSS stora9e Physical record units per job for the connection's user name. See MODVAL°fMS parameter. User validation control word defined in the NOS validation file. You can access this field s e c t i o n on ^ n ethe t h r SMODVAL n n v i ; r b 0 Lcommand T l " d e s(AW c " b e parameter) d i n s e c t iexplains o n 4 . Tthe h e use N O SofA the d m i nfields i s t r a tini o nthisH aword. ndbook section This word contains permission bits for the connection's user name. A set bit indicates that the user name is allowed that permission. atwd(atpa) User validation control word defined in the NOS validation file. You can access this word Hl^lr? described in section Thein NOS Administration Handbook section relZ™ZL?Z?b°l on the MODVALC0NATUD'as command explains the use of the 4. fields this word. atpar Terminal parity associated with the connection's user name (0 means that PA command is assumed to require value of E; 1 means that PA command is assumed to require value of 0). See NOS MODVAL PA parameter. atro Number of idle characters associated with the connection's user name. See NOS MODVAL RO parameter. atpx Transmission mode (0 means that EP command is assumed to require value of N; 1 means that EP command is assumed to require value of Y). See NOS MODVAL PX parameter. attt Terminal type associated with the connection's user name. See NOS MODVAL TT parameter. One of the following: >£s$fr-\ Bit 52 51 50 49 Type Te l e t y p e w r i t e r c o m p a t i b l e t e r m i n a l , u s i n g A S C I I c o d e s Block mode terminal, using ASCII codes CDC-713-compatible terminal and 48 Reserved for CDC use attc Character set associated with the connection's user name (0 means the NOS NORMAL mode 6-bit display code set is assumed to be used in permanent files accessed through the Interactive Facility; 1 means the NOS ASCII mode 6/12-bit display code set is assumed to be used in permanent files accessed through the Interactive Facility). See NOS MODVAL TC parameter. atis Initial Interactive Facility subsystem associated with the connection's user name. See NOS MODVAL IS parameter. One of the following: /^^\ Bit Subsystem 46 45 44 43 42 BASIC BATCH EXECUTE FORTRAN FTNTS If no bit is set, the NULL subsystem is used; if all bits are set, the ACCESS subsystem is used. accd Date user name was created, in the format yymmdd. acmd Date user name permissions were last changed, in the format yymmdd. awsi T h e u s e r v a l i d a t i o n c o n t r o l w o r d . I t i s d e fi n e d i n t h e N O S v a l i d a t i o n fi l e . Figure 3-3. Connection-Request (CON/REQ/R) Supervisory Message Format, Device-to-Application Connections (Sheet 6 of 6) 60499500 S 3-11 • /*S5k 59 ta 51 con 49 43 req unused 55 11 23 acn unused n s 9 5 act aln ta Symbolic address of the application program's text area from which this asynchronous supersupervisory message is sent. con Primary function code 63^Q. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CON. req Secondary function code 0. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol REQ. Application connection number assigned by the network software to this end of the logical con nection being established. The value placed in this field must be the value used in the CON/REQ/R message to which this message is a response. You can access this field with the reserved symbol CONACN, as described in section 4. nxp No transparent input allowed flag. This field can have the values: 0 Deliver network data blocks when the xpt field in the accompanying block header word is 1 1 Discard network data blocks when the xpt field in the accompanying block header word is 1 The change-input-character-type supervisory message, described later in this section, permits an application to change to or from allowing transparent mode terminal device input. If transparent input is not allowed any transparent input from a terminal device destined for the application will be discarded. You can access this field with the reserved symbol DCNXP, as described in section 4. set Synchronous supervisory message input character type. This field can have the values: 0 Application character type 2 should be used 1 Application character type 3 should be used Indicates the input character type required by the application program for synchronous super visory messages. The change-input-character-type supervisory message, described later in this section, allows an application to change the input character type of synchronous super visory messages. You can access this field with the reserved symbol DCSCT, as described in section 4. Figure 3-4. Connection-Accepted (CON/REQ/N) Supervisory Message Format, All Connection Types (Sheet 1 of 2) ^ ^ K | 3-12 60499500 S act Application input character type, specifying the form of character byte packing that the application program requires for input data blocks from the logical connection. This field can have the values: Reserved for CDC use. 60-bit words. Can be used for application-to-application connections within a host. Cannot be used for terminal-to-application connections. 8-bit characters in 8-bit bytes, packed 7.5 bytes per central memory word; if the input is not transparent mode, the ASCII character set described in table A-2 is used. 8-bit characters in 12-bit bytes, packed 5 bytes per central memory word, rightj u s t i fi e d w i t h z e r o fi l l w i t h i n e a c h b y t e ; i f t h e i n p u t i s n o t t r a n s p a r e n t m o d e , the ASCII character set described in table A-2 is used. 6-bit display coded characters in 6-bit bytes, packed 10 characters per central memory word; the characters used are the ASCII set of CDC characters described in table A-1. Cannot be used for application-to-application connections or connec tions with batch devices. 5 thru 11 Reserved for CDC use. 12 thru Reserved for site-defined use. 255 The act value declared applies only to input on the connection and can be changed by a DC/CICT/R supervisory message at any time during the existence of this logical connection. You can access this field with the reserved symbol CONACT, as described in section 4. aln Application list number assigned by the application program to this logical connection; 0£ aln £ 63. You can access this field with the reserved symbol CONALN, as described in section 4. Figure 3-4. Connection-Accepted (CON/REQ/N) Supervisory Message Format, All Connection Types (Sheet 2 of 2) 59 ta r ta 51 con 49 43 req 35 23 unused Symbolic address of the application program's text area from which this asynchronous super visory message is sent. Primary function code 63-j0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CON. Secondary function code 0. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol REQ. req Reason code, specifying the reason the application program is refusing to complete the connec tion. This field is ignored. You can access this field with the reserved symbol RC, as described in section 4. Application connection number assigned by the network software to this end of the Logical con nection being rejected. The value placed in this field must be the value used in the CON/REQ/R message to which this message is a response. Upon receipt of this message, the net work software can reuse this application connection number for a different logical connection with the same program. You can access this field with the reserved symbol CONACN, as described in section 4. /0^** Figure 3-5. Connection-Rejected (CON/REQ/A) Supervisory Message Format, All Connection Types 60499500 R 3-13 59 51 fc ta 49 43 init 23 35 acn unused unused ta Symbolic address of the application program's text area receiving this asynchronous super visory message. fc Primary function code 83-|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol FC. init Secondary function code 7. You can access this field with the reserved symbol SFC, as defined in section 4. Its value is defined as the value of the reserved symbol INIT. acn Application connection number assigned by the network software to the program end of the logi cal connection that has been initialized. This value is the same as that used in previous CON/REQ/R and CON/REQ/N messages. You can access this field with the reserved symbol FCACN, as described in section 4. Figure 3-6. Initialized-Connection (FC/INIT/R) Supervisory Message Format 59 ta 51 fc 49 43 init unused 35 23 acn unused ta Symbolic address of the application program's text area from which this asynchronous super visory message is sent. fc Primary function code 83<|6. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol FC. init Secondary function code 7. You can access this field with the reserved symbol SFC, as defined in section 4. Its value is defined as the value of the reserved symbol INIT. /A^k Application connection number assigned by the network software to the program end of the logi cal connection that has been initialized. This value placed in this field roust be the value used in the FC/INIT/R message to which this message is a response. You can access this field with the reserved symbol FCACN, as described in section 4. Figure 3-7. Connection-Initialized (FC/INIT/N) Supervisory Message Format If the application program rejects the connection, no further action by the program or the network software occurs. If the application program accepts the connection but the network software cannot ini tialize the connection, the asynchronous connectionbroken supervisory message shown in figure 3-8 is sent to the application program. This connectionbroken message requires the application program to respond by issuing an end-connection asynchronous message, as shown in figure 3-9. The network soft ware finishes this sequence by responding with the connection-ended asynchronous supervisory message shown in figure 3-10. If the application program does not follow these message sequences, a logical-error asynchronous supervisory message is issued to the program. This message is discussed at the end of this section. 3-14 CONNECTING APPLICATIONS TO APPLICATIONS When one application program needs to be connected t o a n o t h e r, t h e fi r s t a p p l i c a t i o n p r o g r a m s e n d s a supervisory message request to the network software, asking for establishment of a logical connection. Unlike device-to-application connections, the net work software permits more than one logical connec tion to exist between two application programs. The only requirements for such connections are that both programs be running, have completed NETON calls (as described in section 5), and are not already connected to the maximum number of application pro grams permitted. 60499500 R 59 ta ta 51 49 con 43 35 cb 23 acn unused Symbolic address of the application program's text area receiving this asynchronous super visory message. Primary function code 6316. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CON. cb Secondary function code 5. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol CB. Reason code, specifying the cause of the broken connection. This field can have the values: 0 Reserved for CDC use. 1 Communication has been lost with the element at the other end of the logical connection. If the element is an application program, it failed, was shutdown, or ended the connection; if the element is a device, the line has disconnected or the device failed. r The network software broke the connection. This can occur if this message is a response to a CON/REQ/N message containing an invalid parameter the connection cannot be initialized, or if the NOP disabled the communication line used by the connection. 3 thru 255 Reserved for CDC use. You can access this field with the reserved symbol RC, as described in section 4. Application connection number assigned by the network software to the program end of the logical connection being broken. This number is always one for which the application program has previously received a CON/REQ/R message. You can access this field with the reserved symbol CONACN, as described in section 4. Figure 3-8. Connection-Broken (CON/CB/R) Supervisory Message Format /0^\ 60499500 R 3-15 59 ta 51 43 49 35 end con 23 17 unused acn aname /(^Sk unused ta Symbolic address of the application program's text area from which this asynchronous super visory message is sent. con Primary function code 63 - FC/INIT/R "^ FC/INIT/R -< FC/INIT/N —▶ FC/INIT/N The requested logical connection is established and enabled for input and output. Application 1 NAM Application 2 Message ▶ ~< CON/ACRQ/R CON/ACRQ/A Application program 2 is not available. The logical connection is not established. Application 1 NAM Application 2 Message ▶ CON/ACRQ/R ▶ CON/REQ/R *^ CON/REQ/R -<- CON/REQ/A ▶ CON/REQ/N "< CON/CB/R ▶ "^ CON/END/R CON/END/N Application program 2 rejects the Logical connection. Figure 3-11. AppLication-to-Application Connection Supervisory Message Sequences 60499500 R 3-17 5958 ta 55 52 49 47 con 43 59 35 "5 1 17 15 27 23 lid acrq namel A1 dbl res naroe2 dbz res ws abl dpls ubl facn cud I ubz res res res res fac facl . . facl fac prid udata (0-124 octets) ta Symbolic address of the application program's text area from which this asynchronous super visory message is sent. Primary function code 63^Q. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of reserved symbol CON. acrq Secondary function code 2. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol ACRQ. lid Logical Identifier. It is optional but at least one of the parameters LID/NAME2, must be specified for interhost connections. If a logical identifier is specified, then that LID should have been previously specified in the LIDCMid file. (See NOS IHB.) If a LID is specified and NAME2 is not specified, then a physical identifier (PID) that is linked to NAM at the time of issuing the CON/ACRQ message is used as NAME2 in the OUTCALL search. If both LID and a NAME2 parameters are specified, then NAME2 is assumed to be a PID, and must have been previously specified as a legal PID for the LID in the LIDCMid file, and the PID must be linked to NAM at the time of issuing a CON/ACRQ message. Note: For NAM to be able to detect that a PID is Linked to NAM, the PID must have been previously used as a PID=xxx parameter in an OUTCALL statement in the LCF previously created by NDL. namel Outcall Identifier, 1-7 alphanumeric characters with a leading alpha, left justified and blank-filled. This parameter is used to uniquely identify the appropriate OUTCALL definition that establishes a connection to another application. Figure 3-12. Request-Application-Connection (CON/ACRQ/R) Supervisory Message Format (Sheet 1 of 3) • 3-18 60499500 S name2 Outcall Identifier, 1-3 alphanumeric characters, left justified and blank-filled. This parameter is optional (see LID parameter); when explicitly specified in the CON/ACRQ message, HpfftEi^i Xfrom the the LID,collection together of with NAME1, it is used to seLect specified the appropriate definition outcall definitions as previously by the OUTCALL Network all? t2 La"Suage ?VTCAITL statement during the creation of the Local Configuration File and NAM J nr In nnr^, ,°f NAME1 and NAME2 (imPLi"t °r explicit) must appear as NAME1 PID mTy be zero! " statement. For intra-host connections, both the LID and the If the application supplies its own outcall block, then the explicit or implicit PID must have appeared on a PID parameter in the OUTCALL statement of a previously created LCF? IneaPDMcat^n ilr foL,L°W "1 throu9h udata> are application supplied OUTCALL parameters, an «J= entrv oointSUor^ ^ "" °S^L Parameters if " <• * privileged application (has appear tZOUTCALL St?!,'.- A™""!*?0 ln th1s case' these Parameters do not need to appear ininthe statementS?ID)* in the LCF. A1 Flag indicating priority. 0 = No 1 = Yes dbl ^Un2ASJ°-l!rflISt'*hD0,inline*bl??k* th8t C3n bG outstandi"9 ^tween the host computer ll'nl't\, l a"d the °*her end of this logical connection. The value chosen determines how vl?J o\F the JT the.f V^U^ fT the t0taL number of outstanding blocks SS parameter dbl < 7° specified by the dbz. This parameter is optional and has a range of 1 £ dbz Wo!J2l|!?e bLocl< size- The recommended maximum number of 8-bit character bytes in any network ?n2?catri00^^rblocksC!nneCtiOn' ™S ""^ "" *"" "^ ° ~ dbZ * 2°' Hhere °' 1 b°th abl Application block limit. Specifies the maximum number of data or synchronous supervisory message blocks the program can have outstanding (unacknowledged as delivered by the network software) on this connection at any time. This field has the range 1 < abl < 7. You can access this field with the reserved symbol CONABL, as described in section 47 ubl Upline block limit. This parameter specifies the maximum number (1 < upblim < 31) of blocks that the NPU can have outstanding (unacknowledged) to the calling holt. This~parameter is meaningful only for X.25 connections. ubz Upline block size. This parameter specifies the maximum number (1 £ upsize < 2000) of bytes that the NPU can send to the calling host in a block. This parameter is only used for X.25 links. Send window size. (Applicable on Public Data Network A-A connections only. Ignored on other A-A connections.) 0$^- dpls Send data packet length. (Applicable on Public Data Network A-A connections only. Ignored on other A-A connections.) facn Number of facility groups. (Applicable to Public Data Network A-A connections only.) cudl Length of call user data (in octets). facl Facility codes length, within the CM word. (Applicable to Public Data Network A-A connections only.) fac Facility codes. (Applicable to Public Data Network A-A connections only.) prid Protocol ID. (Applicable to Public Data Network A-A connections only.) 1-8 hexadecimal digits, left justified, zero filled. If CUDL t 0, then only the first 6 hexadecimal digits will be passed on to the PDN, the last two hexadecimal digits will be zeroed. Figure 3-12. Request-Application-Connection (CON/ACRQ/R) Supervisory Message Format (Sheet 2 of 3) 60499500 S 3-19* udata Call user data. If the destination host is a NOS system running network products, the first 12t octets must be of the form SSS DD AAAAAAA, where: SSS is the 3 ASCII character equivalent of the SNODE (sendng node number) value, right justified, zero-character filled. D D is the 2 ASCII character string equivalent of the DHOST (destination host number) value, right justified, zero-character filled. AAAAAAA is the 7 ASCII character string equivalent of the called applica- tion's application name, left justified, blank-character filled. The remainder of the UDATA filled (0-112 octets) will be passed to the called application as user data. At any rate, the called host/application if accessed through a public data network must be able to support the Fast Select Facility, if more than 12 octets of information are specified. Note: For applications accessing foreign hosts through a public data network the 4 octets of the PRID field and the (up to) 124 octets of the UDATA field are combined into the (up to) 128 octets of used data as defined by the CCITT recommendation for X.25 networks. TAn octet is 8 bits of information. Figure 3-12. Request-Application-Connection (CON/ACRQ/R) Supervisory Message Format (Sheet 3 of 3) 59 ta 51 con 49 acrq 43 35 re namel ta 17 abn reserved name2 Symbolic address of the application program's text area receiving this asynchronous super visory message. Primary function code 63^0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of reserved symbol CON. acrq Secondary function code 2. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol ACRQ. Reason code, specifying the cause for rejecting the connection request. The field is actually made up of two 4 bit subfields, rc1 and rc2. The rc1 field comprises bits 40-43 and the rc2 field comprises bits 36-39. The rc2 field is used so that the application can determine what action to take when it receives a CON/ACRQ/A message and it provides some general information about the source of the trouble. This field can have the following values: 1 = Critical error in call request detected by source host (only LID/PID/NDL configuration changes or application code changes would solve the problem). 2 = Critical error in call request detected by destination host. 3 = Source host temporarily cannot make the connection (resources are currently not available, but they might become available without operator intervention). 4 = Destination host temporarily cannot make the connection. Figure 3-13. Application-Connection-Reject (CON/ACRQ/A) Supervisory Message Format (Sheet 1 of 4) • 3-20 60499500 S 5 = Source host cannot make the connection for an indefinite period of time (resources can be made available by operator intervention such as enabling a LID/PID, network element, or bringing up a system or subsystem). 6 = Destination host cannot make the connection for an indefinite period of time. Thus if rc2 = 1 or 2, the application would not try establishing the connection again, it would notify the user and/or operator that the connection is not possible. If rc2 =3 or 4 then the application can retry the CON/ACRQ message after a shorter period of time, and if rc2 = 5 or 6 then it will retry the CON/ACRQ after a somewhat longer period of time. The rd field is used in combination with the rc2 field to uniquely identify the exact source of the trouble, so that the user/operator can take the appropriate action to fix the problem. The full 8 bit reason code field can therefore have the following values: 2 = Network error detected by destination host. Contact system analyst at destination nost. 4 = Connection number conflict between source and destination host. Retry connection request. 17 = Illegal LID/PID combination was specified. Correct LID/PID in OUTCALL block. 18 = Called application is not defined in system record (CONTNAP) at destination host. Contact system analyst. 19 = Network Validation Facility (NVF) temporarily cannot process connection request. Retry later. 20 = Called application cannot accept any more connections and another copy of the application cannot be started up. Retry later. 22 = Called application is not running and cannot be started automatically. Contact system analyst to start up called application. 33 = Calling application is not privileged, i.e., it is not allowed to issue OUTCALLS. Contact system analyst to make the application a privileged application in the LCF. 34 = OUTCALL block has facility parameters greater than 4 octets in length. Correct the OUTCALL block. 35 = NAM temporarily cannot complete the connection request because the (logical) link to the destination host is not available. Retry Later. 37 = Specified PID is valid but is currently not available. Retry later. 38 = Called application is disabled. Contact system analyst to enable the application. 49 = Application specified its own OUTCALL parameters but there was no corresponding OUTCALL entry in the LCF for the same PID. Correct the OUTCALL parameters in the CON/ACRQ/A. 50 = OUTCALL block had user parameters greater than 124 octets in length. Correct the OUTCALL block. 53 = Source host is not allowing any new connections because it is in idle or disabled state. Retry Later. 54 = Destination host is not allowing any new connections because it is in idle or disabled state. Retry later. 65 = Application specified its own OUTCALL parameters but there was no matching OUTCALL entry in the LCF. Correct the OUTCALL parameters in the CON/ACRQ/R. 66 = Destination host could not find a matching INCALL block in its LCF. Correct the OUTCALL block. 81 = Calling application has already reached its maximum number of allowed connections. Retry later. 40^\ Figure 3-13. Application-Connection-Reject (CON/ACRQ/A) Supervisory Message Format (Sheet 2 of 4) 60499500 S 3_21# 82 = Name of application specified in CON/ACRQ is invalid. Correct the application. 97 = Retry limit has been reached for calling application. No more application to application connection requests (CON/ACRQ/R) should be issued. The reason codes for the previous CON/ACRQ/A should be analyzed. 98 = Destination host could not find a matching INCALL block in the LCF with a matching facility code. Correct the facility code in the OUTCALL block. 100 = Network Validation Facility (NVF) in the destination host has not netted on yet. Retry Later. 114 = Application requested Fast select but matching INCALL block in LCF at the destination host does not have Fast select specified. Correct the OUTCALL block to not select Fast select. 129 = No X25 TIP in NPU at source host. Contact system analyst to rebuild CCP with X25 TIP. 130 = Error in incoming call packet header. Contact system analyst about possible PSN problem. 132 = Unknown packet from remote, i.e., the packet received is not a call accepted or call connected. This is assumed to be caused by a call collision. Retry later. 133 = No available logical channel at source host, i.e., active number of SVCs are greater than enabled SVCs. Contact the system analyst about enabling additional SVCs. 134 = No available logical channel at destination host, i.e., active number of SVCs are greater than enabled SVCs. Contact the system analyst at the destination host to enable some more SVCs. 145 = X25 subtip not available in NPU at source host. Contact system analyst for rebuilding CCP. 146 = X25 subtip not available in NPU at destination host. Contact system analyst at destination site for rebuilding CCP. 147 = NPU at source host temporarily has no buffer space to support the connection. Retry later. 148 = NPU at destination host temporarily has no buffer space to support the connection. Retry later. 161 = Problem detected by X25 network at local host. PSN CCC=13. Local procedure error. Clear problem with PSN administration. 162 = Remote host not known. Correct DD field in UDATA in OUTCALL entry in the LCF or in the CON/ACRQ/R message. 163 = No connection available, i.e., all SVCs (outside lines) have been used. Retry l a t e r. 164 = Problem detected by X25 network at destination host. PSN CCC=1. Number at destination host is busy. Retry later. 165 = X25 line is down at source host. Retry later. 166 = X25 line is down at destination host. Retry later. 178 = Unknown subtip connection; i.e., the PRID field is not CO (PAD) or C1 (A-A). Fix the PRID field in the OUTCALL entry in the LCF or in the CON/ACRQ/R message. 180 = Problem detected by X25 network. PSN CCC=5. PSN congestion. Retry later. 182 = CCP cannot complete the connection because the (logical) link at the destination host is not up (enabled). The system analyst should be contacted to enable the logical link. Figure 3-13. Application-Connection-Reject (CON/ACRQ/A) Supervisory Message Format (Sheet 3 of 4) • 3-22 60499500 S dpls Send data packet length, specifying the maximum number of data octets (8-bit bytes) an X 25 packet can contain. This parameter applies only to X.25 network application-to-application connections and is ignored on other application-to-application connections. The dpls £a,£aT?.ter 1s an aPP!:ication OUTCALL parameter. application supply its SSID) own OUTCALL parameters if it is asupplied privileged application (SSJ= An entry point, orcan a non-zero This parameter does not need to appear in the OUTCALL statement in the LCF. You can access" this field with the reserved symbol CONDPLS, as described in section 4. fa en Number of facility groups. This parameter applies only to X.25 network a P P ^ t ^ - t o -parameter. a p p l i c a t i An o n application c o n n e c t i ° n can s. Th e f a c nits pown a r a mOUTCALL e t e r i s a nparameters a p p l i c a t i oifn it s uisp pal i e d OUTCALL supply privileged application (SSJ= entry point, or a non-zero SSID). In this case, the facn parameter does not need to appear in the OUTCALL statement in the LCF. You can access this field with the reserved symbol CONFACN, as described in section 4. cudl Length of user data (in octets). The cudl parameter is an application supplied OUTCALL parameter. An application can supply its own OUTCALL parameters if it is a privileged •PP uCa!nS!!,MSSJ= entry P- This parameter does not need to appear l S , 0 U T C A L s t a t e m e n t i n t h e L C F. Yo u c a n a c c e s s t h i s fi e l d w i t h t h e r e s e r v e d symbol CONAUDL, as described in section 4. facl F a c i l i t y c o d e l e n g t h , s p e c i f y i n g t h e l e n g t h o f a f a c i l i t y fi e l d w i t h i n t h e c e n t r a l memory word. This parameter applies only to X.25 network application-to-application connections. The facl parameter is an application supplied OUTCALL parameter. An application can supply sSSID). c ™ ? ™This ^ T Cparameter ALL P^^te r s i fnot i t need i s a to p r i vappear i l e g e d ina pthe p l i c aOUTCALL t i o n ( S S Jstatement = e n t r y in p o ithe n t , LCF. or a non-zero does fac F a c i l i t y c o d e , s p e c i f y i n g t h e f a c i l i t y c o d e f o r a f a c i l i t y fi e l d . T h i s p a r a m e t e r a p p l i e s only to X.25 network application-to-application connections. The fac parameter is an application supplied OUTCALL parameter. An application can supply its own OUTCALL parameters if it is a privileged application (SSJ= entry point, or a non-zero SSID). This parameter does not need to appear in the OUTCALL statement in the LCF. prid The protocol identification. This parameter tells the PSN or remote node of a direct X.25 link how call user data is to be used. This parameter applies only to X.25 network a p p l i c a t i o n - t o - a p p l i c a t i o n c o n n e c t i o n s a n d m u s t b e 1 t o 8 h e x a d e c i m a l d i g i t s , l e f t - j u s t i fi e d , and zero-filled. If CUDL r 0, only the first 6 hexadecimal digits are passed to the X.25 network, and the last two hexadecimal digits are zeroed. The prid parameter is an application supplied OUTCALL parameter. An application can supply its own OUTCALL parameters if it is a privileged application (SSJ= entry point, or a non-zero SSID). This parameter does not need to appear in the OUTCALL statement in the LCF. udata Call user data. If the destination host is a NOS system running network products, the first 12T octets must be of the form sss dd aaaaaaa, where: sss is the 3 character ASCII equivalent of the SNODE (sendng node number) value, r i g h t - j u s t i fi e d , z e r o fi l l e d . dd j0^\. is the 2 character ASCII equivalent of the DHOST (destination host number) v a l u e , r i g h t - j u s t i fi e d , z e r o fi l l e d . aaaaaaa is the 7 character ASCII equivalent of the called application's application n a m e , l e f t - j u s t i fi e d , b l a n k fi l l e d . The remainder of the udata field (0-112 octets) is passed to the called application as user data. The called host/application (if accessed through an X.25 network) must be able to support the Fast Select Facility, if more than 12 octets of information are specified. Note: For applications accessing foreign hosts through an X.25 network, the 4 octets of the PRID field and the (up to) 124 octets of the UDATA field are combined into the (up to) 128 octets of used data as defined by the CCITT recommendation for X.25 networks. You cannot access this field with NFETCH. tAn octet is 8 bits of informati< Figure 3-12. Request-Application-Connection (CON/ACRQ/R) Supervisory Message Format (Sheet 3 of 3) 60499500 W 3-23 59 ta 51 43 49 35 abn acrq namel ta 17 reserved name2 Symbolic address of the application program's text area receiving this asynchronous super visory message. Primary function code 63 , 60499500 W 3-27 Ap?iication con?ection number assigned to this logical connection; 1 < minacn < acn < maxacn £ 4095, where minacn and maxacn are minimum and maximum values establTshed by The application program in its NETON call. (See section 5.) You can access this field with the reserved symbol CONACN, as described in section 4. abl Application block limit, specifying the maximum number of data or synchronous supervisory message blocks the program can have outstanding (unacknowledged as delivered by the network software) on this connection at any time. This value is established when the connection is d e s c r i b e d i n t h e l o c a l c o n fi g u r a t i o n fi l e . I f y o u r a p p l i c a t i o n p r o g r a m i n i t i a t e d t h e connection request, this value comes from the ABL parameter of the NDL OUTCALL statement used by your program; if another application program initiated the connection request, the initial value comes from the ABL parameter of the NDL INCALL statement used by that program. This value is also supplied from the abl in the CON/ACRQ if the application supplies its own OUTCALL parameters. This field has the range 1 £ abl £7. You can access this field with the reserved symbol CONABL, as described in section 4. dt Device type of the connection. This field can have the values: /<**V 5 Application-to-application connection within the same host 6 Application-to-application connection between two hosts You can access this field with the reserved symbol CONDT, as described in section 4. app Application name. This field contains the application name of the other application program f o r i n t r a h o s t a p p l i c a t i o n - t o - a p p l i c a t i o n c o n n e c t i o n s ; o t h e r w i s e , t h i s fi e l d c o n t a i n s z e r o . shost Source host identifier. This field contains the node number of the host in which the other application program runs if this CON/REQ/R is received by the called application. The value i s i n 6 - b i t d i s p l a y c o d e c h a r a c t e r s , l e f t - j u s t i fi e d w i t h b l a n k fi l l . T h e c a l l i n g a p p l i c a t i o n receives a CON/REQ/R with the name2 field of the previous CON/ACRQ/R message or the name2 value of the corresponding OUTCALL parameter block. abn Application block number. This field contains the abn value assigned by your application program to the CON/ACRQ/R supervisory message if your program initiated the connection request; otherwise, this field contains a zero. You can access this field with the reserved symbol CONABN, as described in section 4. dbz Downline block size. The recommended maximum number of 8-bit character bytes in any network data block sent on the connection. If your application program initiated the connection request, this value comes from the DBZ parameter of the NDL OUTCALL statement used by your program; if another application program initiated the connection request, the initial value comes from the DBZ parameter of the NDL INCALL statement used by that program. This field can have the values 1 £ dbz £ 2043. You can access this field with the reserved symbol CONDBZ, as described in section 4. ubz Upline block size. The number of 8-bit bytes (in multiples of 100) the network will deliver in each upline network data block on the connection. If your application program initiated the connection request, this value comes from the UBZ parameter of the NDL OUTCALL statement used by your program. If another application program initiated the connection request, the initial value comes from the UBZ parameter of the NDL INCALL statement used by that program. This field can have the values 0 £ ubz £ 20, where 0 and 1 both indicate 100-byte blocks. If ubl is not specified, the default value of 2 is used. You can access this field with the reserved symbol C0NUBZ, as described in section 4. cudl The call for the user's data length expressed in the number of octets, zero if there is no call user data. ^rsE^x ,^SrJ\ T h i s fi e l d i s s e t t o You can access this field with the reserved symbol C0NUDL, as described in section 4. udata ? u t i ^CON/ACRQ/R f , L ^ i L U S e r dsupervisory a * a * T h 1 s message 1 s t h e cfrom a L l au s NOS e r d ahost; t a s por, e c i fiite dis the of call user data an X.25 network. Allows applications to send each other without actually establishing a connection via the network. bthe y t h13th e c athrough l l i n g a p128th p l i c a toctets ion in a small amount of data to fast select facility on an X.25 You cannot access this field with NFETCH. Figure 3-14. Connection-Request (CON/REQ/R) Supervisory Message Format, Application-to-Application Connections (Sheet 2 of 2) ^f^S^V 3-28 60499500 W 59 ta 0^\ ta 1st fdx 51 49 1st 43 fdx 35 unused 23 acn unused Application program text area from which this asynchronous supervisory message is sent. Hal!^KJU"Ct1On^ode/C01vcanis access field value with the reserved symbol PFC, as described in section 4. ?ts You value defined this as the of the reserved symbol LST. S!!:0nda!2 tunction 3. You access this fieldvalue with of the the reserved symbol SFC, as described m sectioncode 4. Its valuecan is defined as the reserved symbol FDX. Application connection number assigned by the network software to the program end of the loqical connection for which full-duplex list processing is being enabled. The value Ssedin this field can be either zero or the value used in a CON/REQ/R message processed by the a«fi-*at2°n pr°9r?m- .If acn is zero, all connections are enabled; if acn is nonzero, the as described desrHhfr^c10?18 in section ?nabLed4. You can access this field with the reserved symbol LSTACN, Figure 3-24. Turn-On-Full-Duplex-List-Processing (LST/FDX/R) Supervisory Message Format If either of the list duplexing control messages is issued for a connection already operating in the requested duplexing mode, the extra message is i g n o r e d . I f t h e a c n fi e l d s p e c i fi e d w i t h i n e i t h e r m e s s a g e i d e n t i fi e s a n o n e x i s t e n t l o g i c a l c o n n e c tion, a logical-error supervisory message is sent to the application program and the requested change in duplexing operation does not occur. If either of the list duplexing control messages is issued with an acn field value of zero, the duplex ing mode of application connection zero remains unchanged. The asynchronous supervisory message connection is always enabled for full-duplex opera tion on application list zero. CONTROLLING DATA FLOW Data to and from console connections has its flow controlled at both ends of those connections. Whenever possible, this control is imposed volun tarily by the application program. Conditions out side the network, however, can interfere with data flow. Flow control is therefore also imposed by the network software in reaction to external conditions. When the latter occurs, the application program must compensate for the effect on data flow. Because the application program is not directly involved in the data exchange on batch device con nections, the remaining paragraphs in this sub section do not apply to application-to-batch device connections. D o w n l i n e fl o w c o n t r o l i s l o g i c a l l y s e p a r a t e d f r o m u p l i n e fl o w c o n t r o l . T h i s s e p a r a t e s fl o w c o n t r o l into an input function and an output function. Downline flow control Is implemented through block delivery monitoring mechanisms. These mechanisms involve exchanges of asynchronous supervisory mes sages, and the application program's adherence to data block transmission conventions. Upline flow is controlled by synchronous supervisory messages and by the application program's adherence to data block transmission conventions. 60499500 S MONITORING DOWNLINE DATA An application program can send downline blocks along a particular connection much faster than they can be output at a device or delivered to another application. Since NAM and CCP must save these extra blocks until they are processed by the other end of the connection, the extra blocks can cause NAM and CCP to have storage problems. On the other hand, the same application program might be sending blocks along another connection at such a slow rate that the other end of the connection is underoccupied. Network software provides a set of con ventions that allow the application to control the flow of data between itself and its connections for increased efficiency in such cases. A block limit is established for each logical con nection; this parameter indicates how many blocks of data or synchronous supervisory messages an application program can have outstanding on the logical connection at any instant. This block limit i s t h e a b l fi e l d v a l u e i n c l u d e d i n t h e c o n n e c t i o n request supervisory message. As blocks queue for I delivery to the device or application, a block- | delivered asynchronous supervisory message (figure 3-25) is returned to the application. If the application program's output exceeds the value of the block limit, a logical-error asynchronous supervisory message is returned to the application, t o g e t h e r w i t h t h e r e a s o n f o r t h e e r r o r, a n d t h e last block is discarded by NAM. The block-delivered supervisory message is used to m a n a g e fl o w c o n t r o l ; h o w e v e r, r e c e i p t o f a b l o c k - | delivered supervisory message does not in all cases guarantee that the data block has reached its des tination. If the communication line, for example, fails before a block is completely output on a terminal device, the application program might still receive a block-delivered message. If the application program's output does not exceed the block limit, but for some reason a block is l o s t o r u n a c c o u n t e d f o r, a b l o c k - n o t - d e l i v e r e d a s y n c h r o n o u s s u p e r v i s o r y m e s s a g e ( fi g u r e 3 - 2 6 ) i s returned to the application. Neither the blockdelivered message nor the block-not-delivered mes sage requires the application program to issue a response or acknowledgment message to NAM. 3-29 59 ta 51 49 fc 43 ack acn unused 5 23 35 abn 0 unused ta Symbolic address of the application program's text area receiving this asynchronous super visory message. fc Primary function code 83 A/l A-2 8-bit characters in 12-bit bytes, packed 5 characters per central memory word, r i g h t - j u s t i fi e d w i t h z e r o fi l l w i t h i n e a c h b y t e ; i f t h e i n p u t i s n o t t r a n s p a r e n t mode, the ASCII character set described in table A-2 is used. 6-bit display code characters in 6-bit bytes, packed 10 characters per central memory word; the characters used are the ASCII set of CDC characters described in t a b l e A - 1 . T h i s a p p l i e s t o t e r m i n a l - t o - a p p l i c a t i o n c o n n e c t i o n s o n l y. 5 thru 11 Reserved for CDC use. 12 thru 15 Reserved for installation use. The act value declared applies only to input on the connection and can be changed by another DC/CICT/R message at any time during the existence of this logical connection. You can access this field with the reserved symbol CONACT, as described in section 4. Figure 3-42. Change-Input-Character-Type (DC/CICT/R) Supervisory Message Format (Sheet 2 of 2) REPACKING SYNCHRONOUS SUPERVISORY MESSAGE BLOCKS S y n c h r o n o u s s u p e r v i s o r y m e s s a g e b l o c k fi e l d s a r e packed in either 8-bit or 12-bit bytes, at the discretion of the application program. NAM packs or unpacks fields in a given synchronous supervisory message block according to the application character type associated with the block (downline) or with the connection (upline). Synchronous supervisory messages sent downline by an application program have an application character type associated with them on a block-by-block basis. When the application program needs to change the packing performed for blocks on a given connection, i t s i m p l y c h a n g e s t h e a c t fi e l d v a l u e u s e d i n t h e block header of each synchronous supervisory mes s a g e . T h e e f f e c t s o f a g i v e n a c t fi e l d v a l u e declaration are described in detail in section 2. An upline synchronous supervisory message block has an application character type associated with the connection on which the block is received. The application character type associated with the connection is assigned by the application program as the set field value when the connection is first established. This assignment is part of the connection-accepted supervisory message and is separate from the assignment made for data blocks received on the connection. 60499500 R When the application program needs to change the packing performed for upline synchronous supervisory messages on a given connection, it changes the set fi e l d v a l u e a s s o c i a t e d w i t h t h e c o n n e c t i o n b y issuing the asynchronous change-input-character-type supervisory message. This message can be issued at any time the logical connection exists, after the application program has issued the FC/INIT/N message for the connection. As shown in figure 3-41, there is no response to the change-input-character-type supervisory message, but the message takes effect immediately. The change-input-character-type message has the f o r m a t s h o w n i n fi g u r e 3 - 4 2 . T h e a p p l i c a t i o n c h a r a c t e r t y p e s s e l e c t e d w i t h t h e s e t fi e l d v a l u e s are described in more detail in section 2. The repacking change requested by the change-inputcharacter- type message affects the next block fetched by the application program. For example, the application program might have been receiving synchronous supervisory messages with fields packed in 12-bit bytes (using an application character type of 3); the application program now needs to receive synchronous supervisory message blocks with fi e l d s s t o r e d i n 8 - b i t b y t e s ( u s i n g a n a p p l i c a t i o n character type of 2). The program sends a changeinput-character-type message, specifying an set fi e l d v a l u e o f 0 ; t h e n e x t s y n c h r o n o u s s u p e r v i s o r y message block received on that logical connection is packed in 8-bit bytes. 3-41 EXCHANGING TRANSPARENT DATA WITH DEVICES Transparent data is exchanged with a terminal device at the discretion of the application program. NAM transfers transparent data blocks according to the transparent data flag associated with the block. Network data blocks sent downline by an application p r o g r a m h a v e a t r a n s p a r e n t d a t a fl a g a s s o c i a t e d with them on a block-by-block basis. When the application program needs to change from or to transparent mode output on a given connection, it s i m p l y c h a n g e s t h e x p t fi e l d v a l u e u s e d i n t h e application block header of each downline data b l o c k . T h e e f f e c t s o f a g i v e n x p t fi e l d v a l u e a r e described in detail in section 2. Upline network data blocks also have a transparent data flag associated with them on a block-by-block basis. Each connection has a no-transparent-data fl a g a s s o c i a t e d w i t h t h a t c o n n e c t i o n . T h i s fl a g indicates whether t h e a p p l i c a t i o n w a n t s t o r e c e i v e transparent data or wants NAM to discard such data. T h e n o t r a n s p a r e n t - d a t a fl a g s e t t i n g a s s o c i a t e d with the connectio n i s a s s i g n e d b y t h e a p p l i c a t i o n program as the nxp field value when the connection i s fi r s t e s t a b l i s h e d . T h i s a s s i g n m e n t i s p a r t o f the connection-accepted supervisory message. When the application program needs to change the v a l u e o f t h e n o - t r a n s p a r e n t - d a t a fl a g f o r a g i v e n connection, it issues the change-input-charactertype synchronous supervisory message. This message can be issued at any time the logical connection exists, after the application program has issued the FC/INIT/N message for the connection. As shown in figure 3-41, there is no response to the changeinput-character-type message, but the message takes e ff e c t i m m e d i a t e l y. The change-input-character-type message has the f o r m a t s h o w n i n fi g u r e 3 - 4 2 . T h e e f f e c t s o f t h e nxp field values used in the message are described in section 2, where the application block header fi e l d s a r e d e s c r i b e d . The transparent data exchange change requested by the change-input-character-type message affects the next upline block and all subsequent blocks queued for the application program. For example, the application program might have been receiving transparent blocks for an interactive console when the program contains no code to process those blocks; it needs to prevent receipt of any more transparent blocks while that connection exists. The program sends a change-input-character-type m e s s a g e , s p e c i f y i n g a n n x p fi e l d v a l u e o f 1 ; t h e next (and any subsequent) block from that terminal device is discarded if it is in transparent mode, even if that block completes the current message. T h e s e t t i n g o f t h e n o - t r a n s p a r e n t - i n p u t fl a g d o e s not cause data blocks on application-to-application connections to be discarded, unless the sending application program sets the xpt field value of the associated block header to 1. *£^$. TRUNCATING UPLINE BLOCKS Blocks received upline by an application program from a terminal or from another application can be t r u n c a t e d t o fi t t h e t e x t a r e a b u f f e r p r o v i d e d b y your application. This truncation allows the application to obtain at least part of a block longer than the text area instead of receiving an input-block-undeliverable reply (ibu bit set in the block header). An asynchronous supervisory message can be used to inform NAM that the application wants to have a block truncated on a particular connection or to have blocks truncated on all existing and future connections. As indicated in figure 3-43, the effect of this supervisory message cannot be reversed, and there is no response. Application NAM Message DC/TRU/R The next upline block d e l i v e r e d for t h i s logical connection or all connections (depending on whether a nonzero acn is specified in the DC/TRU/R) will be truncated if necessary. Figure 3-43. Block Truncation Supervisory Message Sequence When a block is truncated, the tru bit in the a p p l i c a t i o n b l o c k h e a d e r i s s e t , a n d t h e t i c fi e l d in the block header is set to the size of the portion of the block received (instead of being set to the full size of the block). T h i s b l o c k t r u n c a t i o n s u p e r v i s o r y m e s s a g e ( fi g u r e 3-44) can be issued at any time after completion of a NETON call. This message affects all messages on the connection, including synchronous supervisory m e s s a g e s . I f a c n = 0 i s s p e c i fi e d , t h e a p p l i c a t i o n has to call NETOFF and NETON again to not receive truncated data blocks. I f t h e a c n fi e l d s p e c i fi e d w i t h i n t h e m e s s a g e i d e n t i fi e s a n o n e x i s t e n t l o g i c a l c o n n e c t i o n , a logical-error supervisory message is sent to the a p p l i c a t i o n a n d d a t a t r u n c a t i o n d o e s n o t o c c u r. I f more than one data truncation message affecting a connection is issued, the extra messages are ignored. .tfriWft 3-42 60499500 R 59 ta 51 dc 49 tru 43 35 unused 23 acn unused ta Application program text area from which this asynchronous supervisory message is sent. dc Primary function code C2-J*. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol DC. tru Secondary function code 0116. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol TRU. Application connection number. If zero, all existing and future connections other than con nection zero will have truncation control on. If acn is not zero, truncation control will be on for that connection only. You can access this field with the reserved symbol DCACN, as described in section 4. Figure 3-44. Block Truncation (DC/TRU/R) Supervisory Message Format /p^S MANAGING DEVICE CHARACTERISTICS Character used at the end of a logical input line or of an input block (does not apply to terminal class 4) Devices serviced as interactive virtual terminals h a v e m a n y c h a r a c t e r i s t i c s t h a t c a n a ff e c t t h e w a y in which they send or output data. The network software can use varying numbers of these charac teristics, depending on the terminal class of the device and sometimes on the protocol used by the device. Echoplex mode (does not apply to terminal class 4) The following characteristics can be known and used through the network software when servicing an asynchronous device in terminal classes 1 through 8, or any device in terminal classes 28 through 31: Character used to discard a block of output Whether the break key should be interpreted as a cancel input and user break 1 command (does not apply to terminal class 4) Whether full-ASCII or special editing mode is in use Whether the host availability display appears in full form Whether the device supports input or output flow control characters (does not apply to terminal class 4) Whether the device is using paper tape, a key board, block mode, or transparent mode during input (does not apply to terminal class 4) Backspace character used to edit a line of data W h e t h e r t h e d e v i c e i s u s i n g a d i s p l a y, a p r i n t e r, o r p a p e r t a p e d u r i n g o u t p u t ( p a p e r tape does not apply to terminal class 4) Characters used as user break 1 and user break 2 commands The parity processing required during input and output (does not apply to terminal class 4) Number of idle characters needed after a car riage return or a line feed What the page width and page length are Character used to cancel an input line Cursor positioning needed at the end of a physcial line or block (does not apply to terminal class 4) Network control character used Delimiters of single-message transparent input (does not apply to terminal class 4) Delimiters of multiple-message transparent input (does not apply to terminal class 4) 60499500 R Whether page waiting occurs Whether unsolicited messages from the network operator can be delivered What the terminal class is Whether the communication line is serviced in full-duplex mode (does not apply to terminal class 4) What the upline blocking factor is What the transmission block size is 3-43 The following characteristics can be known and used through the network software when servicing an X.25 device in terminal classes 1 through 3 or 5 through 8: Character used at the end of a logical input line or of an input block Whether full-ASCII editing mode is in use Whether the break key should be interpreted as a user break 1 command Whether the host availability display appears in full form Backspace character used to edit a line of data Whether the device is using block mode or transparent mode during input Characters used as user break 1 and user break 2 commands Number of idle characters needed after a car riage return or a line feed What the page width and page length are Whether page waiting occurs Character used to cancel an input line Whether unsolicited messages from the network operator can be delivered Cursor positioning needed at the end of a physical line or block What the terminal class is Network control character used Delimiters of single-message transparent input Delimiters of multiple-message transparent input Character used at the end of a logical input line or of an input block Whether full-ASCII mode is in use What the upline blocking factor is What the terminal transmission block size is The following characteristics can be known and used through the network software when servicing a HASP device in terminal classes 9 or 14: Characters used as user break 1 and user break 2 commands Character used to cancel an input line Whether the host availability display appears in full form Network control character used W h e t h e r t h e d e v i c e i s u s i n g a d i s p l a y, a printer, or paper tape during output Character used at the end of a logical input line The parity processing required during output Whether the host availability display appears in full form What the page width and page length are Whether page waiting occurs Whether unsolicited messages from the network operator can be delivered What the terminal class is Whether the communication line is serviced in full-duplex mode (does not apply to terminal class 4) What the page width and page length are Whether page waiting occurs Whether unsolicited messages from the network operator can be delivered What the terminal class is What the upline blocking factor is What the terminal transmission block size is What the upline blocking factor is What the transmission block size is The following characteristics can be known and used through the network software when servicing a CDC mode 4 device in terminal classes 10 through 13 or 15: 3-44 The following characteristics can be known and used by the network software when servicing a 2780 or 3780 device in terminal classes 16 or 17: Network control character used What the page width and page length are Characters used as user break 1 and user break 2 commands Whether page waiting occurs Character used to cancel an input line Whether unsolicited messages from the network operator can be delivered Network control character used What the terminal class is Delimiters of single-message transparent input What the upline blocking factor is Delimiters of multiple-message transparent input What the terminal transmission block size is 60499500 R The following characteristics can be known and used through the network software when servicing a 3270 device in terminal class 18: X^^Sy Whether the host availability display appears in full form What the page width and page length are Characters used as user break 1 and user break 2 commands Whether page waiting occurs Character used to cancel an input line Whether unsolicited messages from the network operator can be delivered Network control character used What the terminal class is Character used at the end of a logical input line What the upline blocking factor is What the terminal transmission block size is j0$>\ 60499500 S 3-44.1/3-44.2* < /*% Yo u r a p p l i c a t i o n p r o g r a m c a n d e t e r m i n e t h e s e characteristics or change them by using the super visory messages described in the next subsections. Information on the use of these characteristics a p p e a r s i n t h e N A M 1 / C C P 3 Te r m i n a l I n t e r f a c e s reference manual listed in the preface. s e c t i o n , R e q u e s t i n g D e v i c e C h a r a c t e r i s t i c s . Te r minal definition commands are described in the NAM 1/CCP 3 Terminal Interfaces reference manual listed in the preface. Figure 3-45 shows the most probable message sequences involved in changing terminal character istics. CHANGING DEVICE CHARACTERISTICS The application program is advised of the terminal d e fi n i t i o n c o m m a n d e n t r y e x p l i c i t l y o n l y w h e n t h e command changes one of three device characteristics: T h e p r o c e s s o f c o n fi g u r i n g a t e r m i n a l c o n s i s t s o f d e fi n i n g a n u m b e r o f d e v i c e c h a r a c t e r i s t i c s t h a t the network software should use in communication with a terminal. Some device characteristics can be given default values by the Communications Control Program (CCP), while others can be provided by the Network Definition Language (NDL) and the s i t e a d m i n i s t r a t o r. Te r m i n a l c l a s s ( v a l u e d e s c r i b i n g t h e p h y s i c a l a ttr i b u te s o f a g r o u p o f s i m i l a r terminals) Page width (value describing the number of characters in each physical line of output) Page length (value describing the number of physical lines output per page) O n c e a d e v i c e i s c o n fi g u r e d ( o r d e fi n e d ) , s u b s e q u e n t c h a n g e s t o t h e d e v i c e d e fi n i t i o n c a n b e m a d e v i a t e r m i n a l d e fi n i t i o n c o m m a n d s f r o m t h e terminal operator, or via supervisory messages from the application program to which the device is connected. T h e u p l i n e t e r m i n a l - c h a r a c t e r i s t i c s - r e d e fi n e d supervisory message is an asynchronous one, with t h e f o r m a t s h o w n i n fi g u r e 3 - 4 6 . T h i s m e s s a g e i s sent to the application by NAM whenever NAM is n o t i fi e d t h a t o n e o f t h e t h r e e d e v i c e c h a r a c t e r istics has been redefined by a terminal user or by the application program. The effect of the ter m i n a l d e fi n i t i o n c o m m a n d c a u s i n g t h i s m e s s a g e i s immediate, and no response is required from the application program. This subsection describes the supervisory messages that the application can use to change the settings of device characteristics. The supervisory message u s e d t o fi n d o u t t h e c u r r e n t v a l u e s o f d e v i c e characteristics is described in the following sub Application NAM Message The terminal operator enters the TC, PW, or PL commands to the Terminal Interface Progran. TCH/TCHAR/R The next block sent to the device or from the device is affected by any constraints imposed under the new device page width, page Length, or terminal class. Application NAM TIP Message The application program changes a device characteristic other than page width, page length, or terminal class. CTRL/DEF/R The next block sent to the device or sent from the device is affected by any constraints imposed under the new device characteristic. Application NAM TIP Message The application program changes page width, page length, or terminal class. ▶ CTRL/DEF/R TCH/TCHAR/R The next block sent to the device or sent from the device is affected by any constraints imposed under the new page width, page length, or terminal class. Figure 3-45. Terminal Characteristics Redefinition Supervisory Message Sequences (Sheet 1 of 2) /^P^V. 60499500 R 3-45 NAM Application Message The application sends a define-multiple-terminal-characteristics message to NAM in order to redefine several of the terminal characteristics with a single message. The message is properly formatted and the new characteristics take effect immediately. NAM replies with a define-terminal-characteristics normal response. CTRL/CHAR/R CTRL/CHAR/N NAM Application Message The application sends a define-terminal-characteristics message to NAM, but one of the FN/FV pairs is bad. The changes do not take effect, and a define-terminalcharacteristics abnormal response is sent to the application. CTRL/CHAR/R CTRL/CHAR/A Figure 3-45. Terminal Characteristics Redefinition Supervisory Message Sequences (Sheet 2 of 2) 59 ta 51 tch 49 tchar 43 35 23 acn unused 15 tclass pw Pi ta Symbolic address of the application program's text area receiving this asynchronous super visory message. tch Primary function code 64-|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol TCH. tchar Secondary function code 0. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol TCHAR. Application connection number nection for which the change the application program in an symbol CONACN, as described tclass assigned by the network software to this end of the logical con occurred. This field always contains a value previously used by FC/INIT/N message. You can access this field with the reserved in section 4. The terminal class currently associated with the real device by the TIP servicing it. The terminal class determines the parameters and ranges valid for redefinition of the device. The device is serviced by the TIP according to the attributes associated with the terminal class (see text). The tclass field can contain the values: 0 Reserved for CDC use. 1 Archetype terminal for the class is a Teletype Corporation Model 30 Series. 2 Archetype terminal for the class is a CDC 713-10, 751-1, 752, 756. 3 Archetype terminal for the class is a CDC 721. 4 Archetype terminal for the class is an IBM 2741. 5 Archetype terminal for the class is a Teletype Corporation Model 40-2. 6 Archetype terminal for the class is a Hazeltine 2000, operating as a teletypewriter. 7 Archetype terminal for the class is a VT100 (ANSI X3.64). Figure 3-46. Terminal-Characteristics-Redefined (TCH/TCHAR/R) Supervisory Message Format (Sheet 1 of 2) 3-46 60499500 R Archetype terminal for the class is a Tektronix 4000 Series, operating as a teletypewriter. 9 /^^\ Archetype terminal for the class is a HASP (post-print) protocol multileaving workstation. 10 Archetype terminal for the class is a CDC 200 User Terminal. 11 Archetype terminal for the class is a CDC 714-30. 12 Archetype terminal for the class is a CDC 711-10. 13 Archetype terminal for the class is a CDC 714-10/20. 14 Archetype terminal for the class is a HASP (pre-print) protocol multileaving workstation. 15 Archetype terminal for the class is a CDC 734. 16 Archetype terminal for the class is an IBM 2780. 17 Archetype terminal for the class is an IBM 3780. 18 Archetype terminal for the class is an IBM 3270. 19 thru 27 Reserved for CDC use. 28 thru 31 S i t e - d e fi n e d t e r m i n a l c l a s s . If the terminal class value received has not changed from that previously associated with the device, then the value in either the pw or pi fields (or both) has usually changed. If the terminal class value received has changed from that previously associated with the device, then all attributes associated with the device have been changed to the default attributes for the new terminal class; the values in the pw and pi fields might have changed from those previously associated with the real device. You can access this field with the reserved symbol TCHTCL, as described in section 4. pw The most recently declared page width of the console device, specifying the number of characters in a physical line of output. This field can contain the values 0 or 20 £ pw £ 255. You can access this field with the reserved symbol TCHPW, as described in section 4. pi The most recently declared page length of the console device, specifying the number of physical lines that constitute a page. This field can contain the values 0 or 8 < pi < 255. You can access this field with the reserved symbol TCHPL, as described in section 4. Figure 3-46. Terminal-Characteristics-Redefined (TCH/TCHAR/R) Supervisory Message Format (Sheet 2 of 2) There are two different formats for changing terminal characteristics. Regardless of the format used, terminal class should only be changed before other changes are made. A change in terminal class resets many other characteristics. T h e d e fi n e - t e r m i n a l - c h a r a c t e r i s t i c s s u p e r v i s o r y m e s s a g e ( fi g u r e 3 - 4 7 ) s p e c i fi e s t e r m i n a l c h a r a c teristic commands as a string of ASCII characters. If there is an error in one of the commands, the TIP stops processing the message, no indication is sent to the application, and any commands prior to the error are processed. There is no response to this message. 60499500 S T h e d e fi n e - m u l t i p l e - t e r m i n a l - c h a r a c t e r i s t i c 8 m e s s a g e is described in figure 3-48. This message specifies a string of pairs of 8-bit numbers starting after the secondary function code field and extending for a s m a n y 8 - b i t b y t e s a s n e c e s s a r y. T h e a p p l i c a t i o n s t o r e s a n 8 - b i t fi e l d n u m b e r ( F N ) i n t h e fi r s t o f a pair of bytes and a field value (FV) in the second b y t e o f t h e p a i r. E a c h F N r e p r e s e n t s a p a r t i c u l a r device characteristic corresponding to a terminal definition command or command parameter, and the corresponding FV represents the value the applica tion program wishes to assign to that character istic. The application program needs to specify only the FN/FV pairs for the characteristic it wants 3-47 59 ta 51 49 def Ctrl 43 35 chari 27 char2 19 char3 11 char4 3 0 char5 char6 s ta + 7 s char111 59 ta char112 55 ctrl 47 unused 43 41 35 0 0 def 31 chari 23 19 char2 11 7 0 char3 s ta + 21 act=2 act=3 s 0 chari 09 char110 char111 char112 unused ta Symbolic address of the application program's text area from which this synchronous supervisory message is sent. c t r l - P r i m a r y f u n c t i o n c o d e C 1 < | 0 . Yo u c a n a c c e s s t h i s fi e l d w i t h t h e r e s e r v e d s y m b o l P F C , a s described in section 4. Its value is defined as the reserved symbol CTRL. d e f S e c o n d a r y f u n c t i o n c o d e 4 . Yo u c a n a c c e s s t h i s fi e l d w i t h t h e r e s e r v e d s y m b o l S F C , a s described in section 4. Its value is defined as the value of the reserved symbol DEFF. chari Up to 112 7-bit ASCII characters of one or more commands consisting of the network control character, characteristic mnemonic, and its desired setting. The characteristic and its value are separated by an equals sign. Multiple characteristics can be changed by separating the commands with the network control character. See the Terminal Interfaces reference manual for the possible commands that can be sent. Figure 3-47. Define-Terminal-Characteristies (CTRL/DEF/R) Supervisory Message Format to change. If one of the FN/FV pairs contains an incorrect value, no characteristics are changed and the application program receives the abnormal response message shown in figure 3-49. Figure 3-50 s h o w s t h e n o r m a l r e s p o n s e t o t h e d e fi n e - m u l t i p l e terminal-characteristics supervisory message. Va l i d c o m b i n a t i o n s o f F N / F V p a i r s a r e d e fi n e d i n table 3-2. Field numbers are listed in hexadecimal, 3-48 with octal equivalents in parentheses, are listed only in hexadecimal. Field values T h e d e fi n e - t e r m i n a l - c h a r a c t e r i s t i c s a n d d e fi n e multiple-terminal characteristics supervisory mes sages sent downline by the application program are removed from the output stream by the TIP and acted o n d i r e c t l y. T h e t e r m i n a l o p e r a t o r i s n o t a d v i s e d of their occurrence in the output stream. 60499500 R / * ^ | l 59 ta 51 ctrl 49 43 char /|P?N ta + 7 f n56 ta + 21 fn-| 27 fVl 19 fn2 f v 56 59 55 ta 35 11 fvg fv3 fv4 act=2 unused 47 43 41 35 31 23 19 11 7 Ctrl char fn-| fV1 *55 fv55 fn56 ^56 fng act=3 unused ta Symbolic address of the application program text area from which this synchronous supervisory message is sent. ctrl Primary function code C1<|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. char Secondary function code 8. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol CHAR. The 8-bit field number of the parameter to be changed. f v. The 8-bit field value for the parameter. Up to 56 field number and field value pairs can be specified in a single message. Valid field numbers and values are defined in table 3-2. Figure 3-48. Define-Multiple-Terminal-Characteristics (CTRL/CHAR/R) Supervisory Message Format 60499500 R 3-49 59 ta ta 51 49 43 ctrl char 59 55 47 0 35 fn 27 re 43 41 35 ctrl unused 31 23 11 19 fn char act=3 re unused act=3 ta Symbolic address of the application program text area receiving this synchronous supervisory message. ctrl Primary function code C1-j0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. char Secondary function code 8. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol CHAR. fn Field number causing the abnormal response. Reason code for error. This field can have the values: 0 Reserved for CDC use. 1 Out of range value for command or parameter 2 D u p l i c a t e c h a r a c t e r d e fi n i t i o n 3 Invalid command or parameter value for terminal class to which device belongs 4 Illegal terminal class change 5 Illegal command or parameter for terminal class to which device belongs 6 thru Reserved for CDC use 255 Figure 3-49. Define-Multiple-Terminal-Characteristies Abnormal Response (CTRL/CHAR/A) Supervisory Message Format 59 ta ta 51 49 43 ctrl char 59 55 47 0 Ctrl unused 43 char 41 act=2 35 0 unused act=3 ta Symbolic address of the application program's text area receiving this synchronous supervisory message. ctrl Primary function code C1<|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. char Secondary function code 8. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol CHAR. Figure 3-50. Multiple-Terminal-Characteristics-Defined (CTRL/CHAR/N) Supervisory Message Format 3-50 60499500 R TABLE 3-2. VALID FIELD NUMBERS AND FIELD VALUES Command (Mnemonic) Field Number (Octal) Usable for Terminal Classes (T) Field Value Field Value Content Meaning Abort block (AB) 29 (51) 1 thru 8, @ 28 thru 31 (9 thru 18) 0 thru 7E (|) Numerical value for character Blocking factor (BF) 31 (61) 1 thru 8, 10 thru 13, 15, 18 (!) (9, 14, 16, 17) 0 thru 20 Multiple of 100 characters that consti tute an upline block Break as user break 1 (BR) 33 (63) 1 thru 3, 5 thru 8, 28 thru 31 (4, 9 thru 18) 0 or 1 Yes (1), no (0) Backspace character (BS) 27 (47) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru 7E (5) Numerical value for character User break 1 character (Bl) 2A (52) 1 thru 15, 18, 28 thru 31 (16, 17) 0 thru 7E (3) Numerical value for character User-break-2 character (B2) 2B (53) 1 thru 15, 18, 28 thru 31 (16, 17) 0 thru 7E @ Numerical value for character Carriage return idle count (CI) 2C (54) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru 63 Number to insert 2E (56) 1 thru 8, 28 thru 31 (9 thru 18) Cancel character (CN) 26 (46) 1 thru 15, 18, 28 thru 31 (16, 17) 0 thru 7E (3) Numerical value for character Cursor positioning (CP) 47 (107) 1 thru 3, 5 thru 8, 28 thru 31 (4, 9 thru 18) 0 or 1 Yes (1), no (0) Network control character (CT) 28 (50) 1 thru 18, 28 thru 31 0 thru 7E (J) Numerical value for character Single message (4) transparent input delimiters (D L ) 38 (70) 1 thru 8, 28 thru 31 (9 thru 18) 0 or 1 C h a r a c t e r s p e c i fi e d ( 1 ) , n o t s p e c i fi e d ( 0 ) Message and mode delimiter 39 (71) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 thru OF Character count (upper byte) Message and mode delimiter 3A (72) 1 thru 5 thru 28 thru (9 thru 0 thru FF Character count (lower byte) Message and mode delimiter 3B (73) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16, 17) 0 thru FF (|) Numerical value for character 60499500 S 3, 8, 31 18) TIP should calculate number 3-51 TABLE 3-2. VALID FIELD NUMBERS AND FIELD VALUES (Contd) Command (Mnemonic) Field Number (Octal) Usable for Terminal Classes (l) Field Value Range Message and mode delimiter 3C (74) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) Mode type 46 (106) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 40 (100) 1 thru 3, 5 thru 8, 10 thru 13, 15, 18, 28 thru 31 0 thru FF ® Numerical value for character Use default terminator 41 (101) 1 thru 3, 5 thru 8, 10 thru 13, 15, 18, 28 thru 31 1 or 2 © End-of-line (1), end-of-block (2) End-of-block cursor positioning response 42 (102) 1 thru 3, 5 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16, 17, 18) 0 thru 3 © No (0), CR (1), LF (2), CR and LF (3) 3D (75) 1 thru 3, 5 thru 8, 10 thru 13, 15, 18, 28 thru 31 0 thru 7F © Numerical value for character Use default terminator 3E (76) 1 thru 3, 5 thru 8, 10 thru 13, 15, 18, 28 thru 31 1 or 2 End-of-line (1), end-of-block (2) End-of-line cursor positioning response 3F (77) 1 thru 3, 5 thru 8, 10 thru 13 15, 28 thru 31 (9, 14, 16, 17, 18) 0 thru 3 © No (0), CR (1), LF (2), CR and LF (3) Echoplex mode (EP) 31 (61) 1 thru 3, 5 thru 8, 28 thru 31 ® (4, 9 thru 18) 0 or 1 Yes (1), no (0) Full ASCII input (FA) 37 (67) 1 thru 8, 10 thru 13, 15, 16, 17, 18, 28 thru 31 0 or 1 Yes (1), no (0) See host availability display (HD) 21 (41) 1 thru 18, 28 thru 31 0 or 1 Yes (1), no (0) Input control (IC) 43 (103) 1 thru 3, 5 thru 8, 28 thru 31 © (4, 9 thru 18) 0 or 1 Yes (1), no (0) Input device (IN) 34 (64) 1 thru 8, 10 thru 13, 15, 28 thru 31 0 or 1 Transparent input (1), not transparent (0) 35 (65) 1 thru 8, 28 thru 31 © 0 thru 2 © Keyboard (0), paper tape (1), block mode (2) End-of-block character (EB) End-of-line character (EL) • 3-52 0 or 1 Field Value Content Meaning Timeout (1), no timeout (0) Single message (0) 60499500 S TABLE 3-2. VALID FIELD NUMBERS AND FIELD VALUES (Contd) Command (Mnemonic) Line feed idle count (LI) Field Number (Octal) Usable for Terminal Classes (T) Field Value Range Field Value Content Meaning 2D (55) 1 thru 8, 28 thru 31 (9 thru 18) 2F (57) 1 thru 8, 28 thru 31 (9 thru 18) Lockout unsolicited messages (LK) 20 (40) 1 thru 15, 18, 28 thru 31 (16) 0 or 1 Yes (1), no (0) Output control (OC) 44 (104) 1 thru 3, 5 thru 8, 28 thru 31 © (4, 9 thru 18) 0 or 1 Yes (1), no (0) Output device (OP) 36 (66) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru 2 © Display (0), printer (1), paper tape (2) Parity processing (PA) 32 (62) 1 thru 3, 5 thru 8, 28 thru 31 0 thru 4 Zero (0), odd (1), even (2), none (3), ignore (4) Page waiting (PG) 25 (45) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16, 17) 0 or 1 Yes (1), no (0) Page length (PL) 24 (44) 1 thru 18, 28 thru 31 0, 8 thru FF © Number of physical lines Page width (PW) 23 (43) 1 thru 18, 28 thru 31 0, 20 thru FF Number of characters Site-defined use 90 thru 99 (220 thru 231) 1 thru 18, 28 thru 31 0 thru FF ® S i t e - d e fi n e d Special editing mode (SE) 30 (60) 1 thru 8, © 28 thru 31 (9 thru 18) 0 or 1 Yes (1), no (0) Terminal class (TC) 22 (42) 1 thru 10, 28 thru 31 01 thru OF © Number of new class Multiple-message © transparent delimiters (XL) 38 (70) 1 thru 8, 28 thru 31 (9 thru 18) 0 or 1 C h a r a c t e r s p e c i fi e d ( 1 ) , n o t s p e c i fi e d ( 0 ) Message delimiter 39 (71) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 thru F Character count (upper byte) Message delimiter 3A (72) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 thru FF Character count (lower byte) Message delimiter 3B (73) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16) 0 thru FF © Numerical value for character 60499500 S 0 thru 63 Number to insert TIP should calculate number 3-53 TABLE 3-2. VALID FIELD NUMBERS AND FIELD VALUES (Contd) Command (Mnemonic) Field Number (Octal) Usable for Terminal Classes © Field Value Range Field Value Content Meaning Mode delimiter 3C (74) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 or 1 Timeout (1), no timeout (0) Mode delimiter 45 (105) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru FF ® Numerical value for character Mode type 46 (106) 1 thru 8, 10, 13, 15, 28 thru 31 Full duplex (none) 57 (127) 1 thru 3, 5 thru 8, 28 thru 31 (4, 9 thru 18) 0 or 1 Yes (1), no (0) Terminal transmission block size (none) IE (36) 1 thru 18, © 28 thru 31 0 thru 7 Number of characters (upper byte) IF (37) 1 thru 18, © 28 thru 31 0 thru FF Number of characters (lower byte) 18 (30) 1 thru 18, 28 thru 31 0 thru IF ® Number of blocks NPU should queue Upline block limit (none) Multiple-message (1) Notes: Q ) N o e r r o r o c c u r s if an FN/FV pair is issued for a terminal class shown in parentheses. © I g n o r e d f o r C D C --defined X.25 packet assembly/disassembly (PAD) terminals. ( T ) A n y h e x a d e c i m a l value except 00 thru 02, 20, 30 thru 39, 3D, 41 thru 5A, 61 thru 7A, or 7F. © I f t h e v a l u e o f one of the fields for this command is changed, the values of all other fields for this commanc1 must also be specified. © Not all values are legal for all terminal classes. © N o t a l l o w e d f o r CDC-defined X.25 packet assembly/disassembly (PAD) terminals. REQUESTING DEVICE CHARACTERISTICS The request-terminal-characteristics supervisory m e s s a g e ( fi g u r e 3 - 5 1 ) i s i s s u e d b y a n a p p l i c a t i o n program on console or site-defined device connec tions to learn the current value of the device c h a r a c t e r i s t i c s . T h e a p p l i c a t i o n p r o g r a m s p e c i fi e s a string of pairs of 8-bit numbers starting after the secondary function code field and extending for as many 8-bit bytes as necessary. The application s t o r e s a fi e l d n u m b e r ( F N ) i n t h e fi r s t h a l f ( 8 bits) of the 8-bit pair and reserves the second h a l f ( 8 b i t s ) f o r a fi e l d v a l u e ( F V ) . E a c h F N represents a particular characteristic. The network returns the value of the characteristic in the corresponding FV byte. Any value placed in the FV byte by the application Is ignored and overwritten. The application program needs to specify only the FNs for the characteristics it is interested in. If the string contains an incorrect FN, no device 3-54 characteristics are returned and the application receives the abnormal response message shown in fi g u r e 3 - 5 2 . F o r a l i s t o f l e g a l F N s a n d t h e c o r responding range of possible FVs, see table 3-2. The response to a request-terminal-characteristics supervisory message is a terminal-characteristics definition message (figure 3-53). This message can be received only on console or site-defined device connections. The NPU generates a string of pairs of 8-bit numbers starting after the secondary func t i o n c o d e fi e l d a n d e x t e n d i n g f o r a s m a n y 8 - b i t b y t e s a s n e c e s s a r y. T h e fi r s t 8 - b i t s o f t h e 1 6 - b i t p a i r i s o n e o f t h e fi e l d n u m b e r s s p e c i fi e d i n t h e request-terminal-characteristics supervisory mes sage. The second 8-bits of the 16-bit pair is the current value of the particular characteristic the FN represents. For a list of valid FNs and the associated valid range of FVs, see table 3-2. 60499500 S 59 ta 43 51 49 ctrl rtc 35 27 fVl fn-j 19 fn2 11 fv2 ••• ta Symbolic address of the application program's text area from which this synchronous super visory message is sent. ctrl Primary function code C1lo. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. rtc Secondary function code 9. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol RTC. frM The hexadecimal field number of the desired parameter. Valid values are defined in table 3-2. fv< Space for the hexadecimal field value of the desired parameter; can be 0. Figure 3-51. Request-Terminal-Characteristics (CTRL/RTC/R) Supervisory Message Format 59 ta 51 Ctrl 49 rtc 43 35 fn 27 re unused ta Symbolic address of the application program's text area receiving this synchronous supervisory message. Ctrl Primary function code C116. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. rtc Secondary function code 9. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol RTC. fn First field number in the string found to be erroneous by the network software. In case of several bad field numbers, only the first bad one will be diagnosed. Reason code for error. This field can have the value: 0 Reserved for CDC use thru Illegal field number value 6 thru 255 Reserved for CDC use Figure 3-52. Request-Terminal-Characteristics Abnormal Response (CTRL/RTC/A) Supervisory Message Format 60499500 R 3-55 59 ta 51 ctrl 49 43 ted 35 fni 27 fVl 19 fng 11 fvg 0 ... ta Symbolic address of the application program's text area receiving this synchronous supervisory message. ctrl Primary function code C1-j0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is defined as the value of the reserved symbol CTRL. ted Secondary function code 0A<|o. You can access this field with the reserved symbol SFC, as described in section 4. Its value is defined as the value of the reserved symbol TCD. fni The hexadecimal field number of the characteristic parameter. Valid values are defined in table 3-2. fvi The hexadecimal field value of the characteristic parameter. Valid values are defined in table 3-2. Figure 3-53. Device-Characteristics-Definition (CTRL/TCD/R) Supervisory Message Format HOST OPERATOR COMMANDS The host operator can send commands to an applica tion program through the system console K display. There are seven commands an application program might receive. Each command is delivered to the application program as a separate asynchronous supervisory message, as shown in figure 3-54. The host operator request-to-activate-debug-code supervisory message (figure 3-55) is sent from NAM to the application program when the operator enters the K-display command: K.DB=appname The application should begin using any in-line debug code you have included. Activating in-line debug code can change the application program's abort conditions or error case handling or both. There is no response to the request-to-activatedebug-code message. The host operator request-to-turn-off-debug-code s u p e r v i s o r y m e s s a g e s h o w n i n fi g u r e 3 - 5 6 i s s e n t from NAM to the application program when the operator enters the K-display command: T h e a p p l i c a t i o n s h o u l d d u m p i t s fi e l d l e n g t h . T h e application can call NETDMB to dump its field length onto the AIP dump file ZZZZDMB (see section 6). There is no response to the request-to-dump-fieldlength message. T h e h o s t o p e r a t o r r e q u e s t - t o - t u r n - A I P - t r a f fi c l o g g i n g - o n s u p e r v i s o r y m e s s a g e ( fi g u r e 3 - 5 8 ) i s sent from NAM to the application program when the operator enters the K-display command: K.LB=appname The application program should call NETDBG to turn AIP logging on and begin logging of network traffic o n t h e d e b u g l o g fi l e . ( S e e s e c t i o n 6 . ) N o t e t h a t | the application program must be loaded with NETIOD for the AIP logging to occur. There is no response t o t h e r e q u e s t - t o - t u r n - A I P - t r a f fi c - l o g g i n g - o n message. T h e h o s t o p e r a t o r r e q u e s t - t o - t u r n - A I P - t r a f fi c l o g g i n g - o f f s u p e r v i s o r y m e s s a g e ( fi g u r e 3 - 5 9 ) i s sent from NAM to the application program when the operator enters the K-display command: K.LE=appname T h e a p p l i c a t i o n s h o u l d t u r n o ff a n y i n - l i n e d e b u g code you have included. There is no response to the request-to-turn-off-debug-code message. The application program should call NETDBG to turn AIP logging off and stop logging network traffic in i t s d e b u g l o g fi l e . ( S e e s e c t i o n 6 . ) T h e r e i s n o | r e s p o n s e t o t h e r e q u e s t - t o - t u r n - A I P - t r a f fi c - l o g g i n g off supervisory message. T h e h o s t o p e r a t o r r e q u e s t - t o - d u m p - fi e l d - l e n g t h supervisory message (figure 3-57) is sent from NAM to the application program when the operator enters the K-display command: T h e h o s t o p e r a t o r r e q u e s t - t o - r e l e a s e - d e b u g - l o g - fi l e supervisory message (figure 3-60) is sent from NAM to the application program when the operator enters the K-display command: K.DE^appname K.DU=appname K.LR=appname y^^K 3-56 60499500 S Application NAM Message HOP/DB/R The program should begin using any debug code it contains. Application NAM Message -* HOP/DE/R The program can stop using any debug code it contains. Application NAM Message KOP/DU/R The program should dump its field length and any extended central storage. Application NAM Message HOP/TRACE/R The program should begin using its debug log file. Application NAN Message *< HOP/NOTR/R The program can stop using its debug log file. Application NAM Message -^ ■g^N KOP/REL/R This program should release its debug log file for postprocessing. Application NAN Message -< HOP/RS/R The program should reinitialize and restart logging of all of its statistics. Figure 3-54. Host Operator Command Supervisory Message Sequences 59 ta 51 hop 49 43 db unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code D016. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. db Secondary function code 0E<|6. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol DB. Figure 3-55. Host Operator Request-to-Activate-Debug-Code (HOP/DB/R) Supervisory Message Format 60499500 R 3-57 59 ta 51 de hop 49 43 DI unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code DO^. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. de Secondary function 0F<|o. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol DE. Figure 3-56. Host Operator Request-to-Turn-Off-Debug-Code (HOP/DE/R) Supervisory Message Format 59 51 49 du hop ta 43 unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code D0<|o. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. du Secondary function code 3. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol DU. Figure 3-57. Host Operator Request-to-Dump-Field-Length (HOP/DU/R) Supervisory Message Format 59 ta 51 hop 49 trace 43 unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code DO|0. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. tra ce Secondary function code 2. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol TRACE. Figure 3-58. Host Operator Request-to-Turn-AIP-Traffic-Logging-On (HOP/TRACE/R) Supervisory Message Format /*^%v 3-58 60499500 R 59 ta 43 51 49 notr hop unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code DO|6. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. notr Secondary function code 7. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol NOTR. Figure 3-59. Host Operator Request-to-Turn-AIP-Traffic-Logging-Off (HOP/NOTR/R) Supervisory Message Format 59 ta 51 49 43 re I hop unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code D0i6. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. re I Secondary function code 0Dl6. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the.reserved symbol REL. Figure 3-60. Host Operator Request-to-Release-Debug-Log-File (HOP/REL/R) Supervisory Message Format The application program should call NETREL to r e l e a s e t h e d e b u g l o g fi l e . To e n s u r e p r o p e r p r o c e s s i n g o f t h e d e b u g l o g fi l e , t h e a p p l i c a t i o n program must have issued a prior NETREL call as described in section 6. There is no response to t h e r e q u e s t - t o - r e l e a s e - d e b u g - l o g - fi l e s u p e r v i s o r y message. The host operator request-to-restart-statisticsgathering supervisory message (figure 3-61) is sent from NAM to the application program when the opera tor enters the K-display command: K.RS=appname 59 ta 51 hop T h e a p p l i c a t i o n p r o g r a m s h o u l d fl u s h i t s s t a t i s t i c s counters, reset them to zero, and restart statistics gathering. For this supervisory message to be useful the application program should do at least one of the following: Restart AIP statistics gathering by calling NETSTC (described in section 6) to turn AIP s t a t i s t i c s g a t h e r i n g o ff o r b a c k o n. Restart any other statistical information internal to the application program that can be used to tune the particular application. The application program can write such statistical 43 49 rs unused ta Symbolic address of the application program's text area receiving this asynchronous supervisory message. hop Primary function code D0|o. You can access this field with the reserved symbol PFC, as described in section 4. Its value is the value of the reserved symbol HOP. Secondary function code 8. You can access this field with the reserved symbol SFC, as described in section 4. Its value is the value of the reserved symbol RS. Figure 3-61. Host Operator Request-to-Restart-Statisties-Gathering (HOP/RS/R) Supervisory Message Format Xi^^V 60499500 R 3-59 i n f o r m a t i o n o n t o t h e A I P s t a t i s t i c a l fi l e ZZZZZSN by calling NETLGS (see section 6). There is no response to the request-to-restartstatistics-gathering message. Application NAM -< SHUT/INSD/R (idle-down) ▶ HOST SHUTDOWN Conditions sometimes require the host operator to terminate network operations or to abort the appli cation program. The host operator can shut down the entire data communications network or portions of the network, element by element, including executing application programs. The operator has two shutdown options available. The operator can select an idle-down option that permits gradual termination of operations, usually as a normal part of network service. The operator can also select a disable option; this option requests immediate termination of application pro gram operations and can either follow selection of the Idle-down option or be independently selected. The type of shutdown determines the shutdown proc essing that should be performed by the application program. Figure 3-62 illustrates the three asyn chronous supervisory message sequences that can o c c u r d u r i n g s h u t d o w n o p e r a t i o n s . T h e fi r s t sequence begins when an idle-down option is selec ted; the application program receives an advisory shut-down message, shuts down its connections g r a c e f u l l y, a n d t e r m i n a t e s n e t w o r k a c c e s s w i t h o u t additional network or host operator action. The second sequence begins when a disable option is selected; the application program receives a man datory shut-down message and should not attempt to t e r m i n a t e c o n n e c t i o n s g r a c e f u l l y. T h e t h i r d s e q u e n c e i s a h y b r i d o f t h e fi r s t t w o ; i f i n s u f fi cient time elapses between selection of an idledown option and selection of a disable option, the application program can terminate some of its con nections gracefully, but not all of them. The Network Access Method does not attempt to force the termination of applications that do not call NETOFF in response to an idle-down or disable re q u e st. N o rma l te r m i n a t i o n o f n e t w o r k o p e r a t i o n s , h o w e v e r, d e p e n d s o n c o r r e c t a p p l i c a t i o n b e h a v i o r. Applications that do not eventually call NETOFF after receiving an idle or disable request must be d r o p p e d b y t h e h o s t o p e r a t o r. T h i s t h e n p e r m i t s normal termination of the network software. Figure 3-63 shows the two forms of the host-shutdown supervisory message. The application program does not issue a response to this supervisory message. ERROR REPORTING The primary mechanism used by the network software to indicate logic errors to an application program is an asynchronous supervisory message. In all cases, the message sequence for this mechanism con sists of a single message (figure 3-64). The mes sage used in this sequence is the logical-error s u p e r v i s o r y m e s s a g e , s h o w n i n fi g u r e 3 - 6 5 . T h e application program does not send a response to this supervisory message. 3-60 Message -< CON/END/R CON/END/N The application program fetches all queued upline blocks from all terminals or other appli cation programs, then ends all connections prior to a shutdown of the network. The application program can then disconnect from the network with a call to the AIP routine NETOFF. (See section 5.) Application NAM Message SHUT/INSD/R (disable) The application program must perform an imme diate call to NETOFF to avoid being aborted by system console operator commands during the network shutdown in progress. Application NAM Message SHUT/INSD/R (idle-down) CON/END/R CON/END/N SHUT/INSD/R (disable) The application program fetches as many queued upline blocks as possible and ends as many connections as possible prior to shutdown of the network, then issues its NETOFF call immediately after receipt of the second shutdown message. Figure 3-62. Host Shutdown Supervisory Message Sequences As indicated by the reason codes included in the message, many conditions are considered to be logical errors by the network software. The s i m p l e r c o n d i t i o n s a r e c o m p l e t e l y d e fi n e d w i t h i n the figure; more details are described here. The re field value of 1 is received when: On an application-to-application connection, t h e a p p l i c a t i o n c o n n e c t i o n s p e c i fi e d a n application character type of 4 either in the application block header or in a change-inputcharacter-type supervisory message. For a supervisory message the application s p e c i fi e d a n a p p l i c a t i o n c h a r a c t e r t y p e o t h e r than 1, 2, or 3 in the application block header. On an application-to-terminal connection, an application character type other than 2, 3, or 4 was used in a downline block header or in a change-input-character-type supervisory message. 60499500 R TABLE 3-2. VALID CCP FIELD NUMBERS AND FIELD VALUES (Contd) Command (Mnemonic) Line feed idle count (LI) Field Numbe r (Octal) Usable for Terminal Classes ® Field Value Range Field Value Content Meaning 2D (55) 1 thru 8, 28 thru 31 (9 thru 18) 2F (57) 1 thru 8, 28 thru 31 (9 thru 18) Lockout unsolicited messages (LK) 20 (40) 1 thru 15, 18, 28 thru 31 (16) 0 or 1 Yes (1), no (0) Output control (OC) 44 (104) 1 thru 3, 5 thru 8, 28 thru 31 (4, 9 thru 18) 0 or 1 Yes (1), no (0) Output device (OP) 36 (66) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru 2 © Printer (0), display (1), paper tape (2) Parity processing (PA) 32 (62) 1 thru 3, 5 thru 8, 28 thru 31 0 thru 4 Zero (0), odd (1), even (2), none (3), ignore (4) Page waiting (PG) 25 (45) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16, 17) 0 or 1 Yes (1), no (0) Page length (PL) 24 (44) 1 thru 18, 28 thru 31 0, 8 thru FF © Number of physical lines Page width (PW) 23 (43) 1 thru 18, 28 thru 31 0, 20 thru FF Number of characters Site-defined use 5A thru 63 (132 thru 143) 1 thru 18, 28 thru 31 0 thru FF © S i t e - d e fi n e d Special editing mode (SE) 30 (60) 1 thru 8, 28 thru 31 (9 thru 18) 0 or 1 Yes (1), no (0) Terminal class (TC) 22 (42) 1 thru 10, © 28 thru 31 01 thru OF © Number of new class Multiple-message © transparent delimiters (XL) 38 (70) 1 thru 8, 28 thru 31 (9 thru 18) 0 or 1 Character specified (1), not s p e c i fi e d ( 0 ) Message delimiter 39 (71) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 thru F Character count (upper byte) Message delimiter 3A (72) I thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 thru FF Character count (lower byte) Message delimiter 3B (73) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 (9, 14, 16) 0 thru FF © Numerical value for character 60499500 W 0 thru 7F Number to insert TIP should calculate number 3-61 TABLE 3-2. VALID CCP FIELD NUMBERS AND FIELD VALUES (Contd) Command (Mnemonic) Field Number (Octal) Usable for Terminal Classes (T) Field Value Range Field Value Content Meaning Mode delimiter 3C (74) 1 thru 3, 5 thru 8, 28 thru 31 (9 thru 18) 0 or 1 Timeout (1), no timeout (0) Message de limiter 92 (222) 1 thru 5 thru 28 thru (9 thru 0 or 1 Forward on timeout (1), do not forward on timeout (0) Mode delimiter 45 (105) 1 thru 8, 28 thru 31 (9 thru 18) 0 thru FF © Numerical value for character Mode type 46 (106) 1 thru 8, 10, 13, 15, 28 thru 31 Full duplex (none) 57 (127) 1 thru 3, 5 thru 8, 28 thru 31 (4, 9 thru 18) 0 or 1 Yes (1), no (0) Terminal transmission block size (none) IE (36) 1 thru 18, © 28 thru 31 0 thru 7 Number of characters (upper byte) IF (37) 1 thru 18, © 28 thru 31 0 thru FF Number of characters (lower byte) Set terminal in solicited input mode 70 (160) 1 thru 8, 10 thru 13, 15, 18, 28 thru 31 0 or 1 Yes (1), no (0) Carriage return idle delay 93 (223) 1 thru 8, 28 thru 31, (9 thru 18) 0 thru FA Idle delay in increments of 4 milliseconds Linefeed idle delay 94 (224) 1 thru 8, 28 thru 31, (9 thru 18) 0 thru FA Idle delay in increments of 4 milliseconds 3, 8, 31, 18) Multiple-message (1) Notes: 3-62 ® © ® © No error occurs if an FN/FV pair is issued for a terminal class shown in parentheses. © © Not all values are legal for all terminal classes. Ignored for CDC-defined X.25 packet assembly/disassembly (PAD) terminals. Any hexadecimal value except 00 thru 02, 20, 30 thru 39, 3D, 41 thru 5A, 61 thru 7A, or 7F. If the value of one of the fields for this command is changed, you need to ensure that the others are set to known values if they could affect your application. All of the fields need not be specified. However, any fields not specified contain their previously recorded setting which could produce undesirable results. Not allowed for CDC-defined X.25 packet assembly/disassembly (PAD) terminals. For terminal class (TC) changes, refer to Effects of Changing Terminal Class on CDCNET, in this section. 60499500 V 16 Reserved for the NAM subsystem. thru 256 You can access this field with the reserved symbol RC, as described in section 4. abherr Application block header word associated with the supervisory message that caused the ERR/L6L/R message. This field contains a non-zero word unless the re value is 7. You can access this field with the reserved symbol ERRABH, as described in section 4. firstwrd The first 60 bits of the supervisory message causing the ERR/L6L/R message are placed in this field if the network software can supply the information. This field contains a non-zero word unless the re value is 7. You can access this field with the reserved symbol ERRMSG, as described in section 4. Figure 3-65. Logical-Error (ERR/LGL/R) Supervisory Message Format (Sheet 2 of 2) 60499500 S 3-63 • USER PROGRAM INTERFACE DESCRIPTIONS This section describes the language interface requirements of an application program, the inter facing utilities available to a program, and those aspects of network software internal interfacing that affect program use of certain Network Access Method (NAM) features. However, this manual does not attempt to describe all network software inter faces. Portions of the network software that exe cute as application programs use supervisory mes sages that are either not discussed in this manual or else that are modified from the format presented in this manual. This section treats only those areas of interface that are properly used by an installation-written application program. LANGUAGE INTERFACES Application program use of the Application Interface Program (AIP) is essentially independent of the language used to code the application program. Parameter list and calling sequence requirements are the same for COMPASS assembler language and compiler-level languages. The residence of the AIP routines, the form of the calling sequences, and the utilities available to the application program differ for COMPASS and compiler-level languages. /0^. PARAMETER LIST AND CALLING SEQUENCE REQUIREMENTS The AIP statements and interfacing utilities use FORTRAN-style calling sequences and parameter lists; that is, a parameter list contains one 60-bit word p e r p a r a m e t e r. T h e a d d r e s s o f t h i s p a r a m e t e r l i s t is passed to the appropriate routine in register Al. Linkage with the statement within the application program is performed by executing a return jump i n s t r u c t i o n ( R J ) t o t h e e n t r y p o i n t . To p r o v i d e compact object code, traceback information is not generated, and the parameter list need not be fol lowed by a word of zeros. Because the statement parameters are passed by address (called by reference), the NAM programmer should be careful about substituting values when d e fi n i n g t h e p a r a m e t e r s . T h o s e p a r a m e t e r s i d e n t i fi e d a s r e t u r n p a r a m e t e r s s h o u l d n o t b e s p e c i fi e d as constants or expressions In the call statement. Such specifications can produce unpredictable errors in program code. This restriction is compatible with normal FORTRAN programming practices. Return parameters are normally defined by variable names, array names, array element names, or similar symbolic addresses. Since the terminology for such entities varies according to the programming lan guage used, this manual uses the term symbolic address for all such possibilities. Unless other wise stated, numeric absolute or relative addresses are not used in call statements. r 60499500 R 4| Those parameters identified as input parameters can b e d e fi n e d b y c o n s t a n t s , e x p r e s s i o n s t h a t c a n b e evaluated to produce constants, or symbolic addresses (as defined above). Input parameters are u s u a l l y d e fi n e d b y c o n s t a n t s o r e x p r e s s i o n s ; t h i s manual uses the term value for all such possibil ities. All AIP statement parameters used by a COBOL program must be described in the Data Division as level 01 data entries, or data entries at other levels when t h e e n t r i e s a r e l e f t - j u s t i fi e d t o w o r d b o u n d a r i e s . COBOL 5 programs that access fields within param e t e r s m u s t a l s o d e s c r i b e t h e fi e l d s i n t h e D a t a Division as COMP-4 numeric data entries to manipu l a t e v a l u e s w i t h i n t h e fi e l d s a s 6 - b i t e n t i t i e s . D i r e c t fi e l d a c c e s s a n d A I P u s e i s d i f fi c u l t u s i n g COBOL; COMPASS macros or FORTRAN subroutines are sometimes necessary to set up parameters before AIP calls or to unpack them after AIP calls. All direct calls from a COBOL program to AIP must be coded as calls to FORTRAN-X subroutines. Refer to section 5. Indirect use of AIP by a COBOL pro gram is also possible; refer to the Queued Terminal Record Manager description later in this section. The AIP statement calling sequence does not permit recursive calls. PREDEFINED SYMBOLIC NAMES T h e fi e l d s i n N A M s u p e r v i s o r y m e s s a g e s o f a p p l i cation character types 1 and 2 have been assigned s y m b o l i c n a m e s s o t h a t t h e y c a n b e i d e n t i fi e d t o the utilities described later in this section. These names are display-coded Hollerith characters a n d a r e l i s t e d a n d d e fi n e d i n t a b l e 4 - 1 . T h e capitalized symbol appears as it should be used in calls to NFETCH or NSTORE. The symbols are arranged alphabetically within the table. Each symbol consists of the characters identifying its field within a message, combined with characters i d e n t i f y i n g t h e s p e c i fi c m e s s a g e o r g r o u p o f m e s sages. For example: All primary function code fields can be accessed through the symbol PFC. A l l fi e l d s i n m e s s a g e s w i t h t h e p r i m a r y f u n c tion code mnemonic CON begin with CON; the a p p l i c a t i o n l i s t n u m b e r fi e l d i n s u c h m e s s a g e s is therefore CONALN. A l l fi e l d s i n t h e a p p l i c a t i o n b l o c k h e a d e r w o r d can be accessed through symbols beginning with ABH. 4-1 Some symbols are restricted to use in certain con texts. For example, the FORTRAN 5 call: IVAL=NFETCH(0,L"C0NEND") Application Interface Program Macro Call Formats For those AIP statement calls with parameters, three forms of the COMPASS macro call are possible: returns the primary and secondary code value for the corresponding fields in a CON/END/R message; however, the FORTRAN 5 call: [label] macro-name parameters This is the format of the standard call, which produces the full calling sequence. CALL NSTORE(SMTA,L"CONEND",IVAL) causes an error message indicating that the symbol CONEND is unrecognized. The symbol is unrecognized because its context is incorrect. The correct FORTRAN call to store the information is: [labell] macro-name /LIST=label2 \ lLIST=register name I When this format is used, macro expansion assumes that the proper calling parameter b l o c k i s l o c a t e d a t t h e a d d r e s s s p e c i fi e d by the LIST value, loads this address into register Al, and performs the call to the AIP procedure. CALL NSTORE(SMTA,L,,PFCSFC",IVAL) or the call: CALL NSTORE(SMTA,L,,PFCSFC",L"CONEND") There are no predefined names for the AIP statement parameters described in section 5. Iabel2 macro-name parameters, LIST When this format is used, macro expansion produces a parameter block in place but does not generate the call to the AIP pro cedure; the address of the statement using this form is the address used in the second form. PREDEFINED SYMBOLIC VALUES S o m e o f t h e s u p e r v i s o r y m e s s a g e fi e l d s w i t h p r e defined symbolic names have predefined values that can be obtained through the utilities described l a t e r i n t h i s s e c t i o n . Va l u e s f o r s u c h n a m e s a r e given in table 4-1, where the names are listed a l p h a b e t i c a l l y. Use call once with save t h e fi r s t f o r m w h e n m a k i n g a s t r a i g h t f o r w a r d to the AIP procedures. Use the second form the parameter list has been created elsewhere the third form. The second and third forms space when procedures are used several times. You can obtain the value assigned to a given sym bolic name in the released version of the network software by using a form of the NFETCH utilities. The NFETCH utilities comprise a macro that can be called by a COMPASS program; and a similar subrou tine that can be called by a program written in a high-level language. Example 1: Be careful in using names with predefined values; in some instances, a name and corresponding value have been assigned to a group of fields. Choosing a wrong name in a u ti l i ty ca l l ca n fil l mo re fie l d s than the programmer intends. The NAM programmer s h o u l d b e c o m e f a m i l i a r w i t h a l l o f t h e p r e d e fi n e d symbolic names before using the interfacing utili ties. Example 2: NETPUT IHA.ITA This statement is a direct call to execute the NETPUT macro with the two symbolic address param eters shown. PUT1 NETPUT IHA,ITA,LIST This statement expands the NETPUT macro and creates the indicated parameter list at symbolic address PUT1 but does not execute NETPUT. Example 3: NETPUT LIST=PUT1 COMPASS ASSEMBLER LANGUAGE A p p l i c a t i o n p r o g r a m s c o d e d i n C O M PA S S u s e A I P statements that make macro calls. These AIP macros reside in the system text library NETTEXT. Packing and unpacking supervisory message blocks in a COMPASS program is easily accomplished using the interfacing utilities NFETCH and NSTORE. These fi e l d a c c e s s u t i l i t i e s a l s o r e s i d e i n t h e s y s t e m text library NETTEXT. An application program using e i t h e r u t i l i t y m u s t fi r s t c o n t a i n c a l l s t o S S T a n d NETMAC. 4-2 This statement actually executes the NETPUT macro with the parameters in the list expanded at location PUT1. If a macro call is issued with an error, the COMPASS assembler flags the error and provides an explana tion during assembly of the macro. A complete listing of the assembly error messages from AIPrelated macros is provided in appendix B. A summary of all the macro call formats available appears in appendix D. 60499500 R TABLE 4-1. RESERVED SYMBOLS Symbol Entity Defined by Symbol Predefined Integer Value ABHABN Application block number field in application block header for all upline or downline blocks None ABHABT A p p l i c a t i o n b l o c k t y p e fi e l d i n a p p l i c a t i o n b l o c k h e a d e r f o r a l l u p l i n e o r downline blocks None ABHACT A p p l i c a t i o n c h a r a c t e r t y p e fi e l d i n a p p l i c a t i o n b l o c k h e a d e r f o r a l l u p l i n e or downline blocks None ABHADR Process number address field in application block header for supervisor pro gram upline or downline blocks (system use only). Application connection number field in application block header for all application program upline or downline blocks. None ABHBIT P a r i t y e r r o r fl a g b i t i n a p p l i c a t i o n b l o c k h e a d e r f o r u p l i n e ( i n p u t ) b l o c k s . Auto-input mode flag bit in application block header for downline (output) blocks. None ABHCAN Cancel previous blocks bit in application block header for upline (input) blocks. Punch banner (lace) card bit in application block header for down line (output) blocks. None ABHIBU Input block undeliverable bit in application block header for upline (input) blocks None ABHNCP No cursor positioning flag bit in application block header for downline (output) blocks. None ABHNEP No echoplex flag bit in application block header for downline (output) blocks. None ABHNFE No format effectors flag bit in application block header for downline (out put) blocks None ABHTLC Te x t - l e n g t h - i n - c h a r a c t e r - u n i t s fi e l d i n a p p l i c a t i o n b l o c k h e a d e r f o r a l l upline or downline blocks None ABHTRU Truncation occurred bit in the application block header for upline (input) data or supervisory message blocks None ABHWORD Application block header word for all upline or downline blocks None ABHXPT Transparent mode transmission bit in application block header for all upline or downline blocks None ACCON Application character type of CON supervisory messages, for use in applica tion block header 1 ACCTRL Application character type of CTRL supervisory messages, for use in applica tion block header ACDBG Application character type of DBG supervisory messages, for use in applica tion block header ACDC Application character type of DC supervisory messages, for use in applica tion block header ACERR Application character type of ERR supervisory messages, for use in applica tion block header ACFC Application character type of FC supervisory messages, for use in applica tion block header ACHOP Application character type of HOP supervisory messages, for use in applica tion block header ACIFC Application character type of IFC supervisory messages, for use in applica tion block header 60499500 W 4-3 TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value ACINTR Application character type of INTR supervisory messages, for use in applica tion block header ACK Secondary function code field for FC/ACK/R ACLST Application character type of LST supervisory messages, for use in applica tion block header ACRQ Secondary function code field for CON/ACRQ messages ACSET Application character type of SET supervisory messages, for use in applica tion block header ACSHUT Application character type of SHUT supervisory messages, for use in applica tion block header ACTCH Application character type of TCH supervisory messages, for use in applica tion block header ALT Secondary function code field in HOP/ALT/R B APP Secondary function code field for INTR/APP/R 2 BI Primary function code field for BI/MARK/R BTMARK Primary and secondary function code fields for BI/MARK/R, including EB and RB fields as zero CAOO BRK Secondary function code field for FC/BRK/R and HOP/BRK/R 0 CB Secondary function code field for CON/CB/R 5 CCD Secondary function code field for CON/CCD/R CA16 16 0C16 CHAR Secondary function code field for CTRL/CHAR/R CICT Secondary function code field for DC/CICT/R 0 CMD Secondary function code field in HOP/CMD/R 1 CON Primary function code field for connection management (CON) supervisory messages 816 6316 CONAABL Application block limit field in CON/ACRQ/R None CONABN Application block number field of CON/REQ/R None CONAABN Application block number field of CON/ACRQ/R None CONAAWC User validation control word in CON/REQ/R CONABL Application block limit field in CON/REQ/R None CONABN Application block number field of CON/ACRQ/R None CONABZ Block size in connection management (CON) supervisory messages None CONACN Application connection number field in connection management (CON) supervisory messages None CONACR Primary and secondary function code fields for CON/ACRQ/R, including EB and RB fi e l d s a s z e r o 6302 16 CONACRA Primary and secondary function code fields in CON/ACRQ/A including EB field set to 1 6382 4-4 None 16 60499500 W TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value CONACT Application input character type field in CON/REQ/N None CONADBL Downline block limit field in CON/ACRQ/R None CONADBZ Downline block size field in CON/ACRQ/R None CONAHDS User validation control word in CON/REQ/R None j0m^s 60499500 W 4-4.1/4-4.2 | //!^*^v 0^%L TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value CONCB Primary and secondary function code fields for CON/CB/R, including EB and RB fields as zero 6305 CONDBZ Downline block size in CON/REQ/R None CONDT Device type field in CON/REQ/R None CONEND Primary and secondary function code fields in CON/END/R, including EB and RB fields as zero 6306 CONENDN Primary and secondary code fields in CON/END/N including RB field set to 1 6346 16 CONFAM Login family name field in CON/REQ/R None CONFO Login family ordinal field in CON/REQ/R None CONHID Host node field in CON/REQ/R None CONICT Application input character type field in CON/REQ/N None CONNXP No transparent data field in CON/REQ/N None CONORD Device ordinal field in CON/REQ/R None CONOWNR Terminal name field in CON/REQ/R None CONPAR First word of parameters in CON/REQ/R None CONPL Page length field in CON/REQ/R None CONPW Page width field in CON/REQ/R None CONR Restricted interactive capability field in CON/REQ/R None CONRAC Reason code field in CON/REQ/N and CON/REQ/A None CONRCB Reason code field in CON/CB/R None CONREQ Primary and secondary function code fields in CON/REQ/R, including EB and RB fi e l d s a s z e r o 6300 CONREQA Primary and secondary function code fields in CON/ACRQ/A including EB field set to 1 6380 CONREQN Primary and secondary function code fields in CON/REQ/N including RB field set to 1 6340 16 CONSCT Synchronous message type field in CON/REQ/R None CONSDT Subdevice type field in CON/REQ/R None CONSL Security limit field in CON/REQ/R None CONT Terminal class field in CON/REQ/R None CONTNM Terminal name field in CON/REQ/R None CONUBZ Upline block size in CON/REQ/R None CONUI User index field in CON/REQ/R None CONUSE User name field in CON/REQ/R None CONXBZ Transmission block size field in CON/REQ/R None CTRCHAR Primary and secondary code fields in CTRL/CHAR/R, including EB and RB fields as zero C108 60499500 R 16 16 16 16 16 4-5 TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value CTRDEF Primary and secondary function code fields in CTRL/DEF/R, including EB and RB fields as zero C10416 CTRL Primary function code field in terminal control (CTRL) supervisory messages C116 CTRRTC Primary and secondary function code fields for CTRL/RTC/R, including EB and RB fields as zero C10916 CTRTCD Primary and secondary code fields in CTRL/CHAR/R, including EB and RB fields as zero C10A16 DB Secondary function code field in HOP/DB/R E16 D C Primary function code field in DC/CICT/R C216 DCACN Application connection number field in DC/CICT/R None DCACT Application character type field in DC/CICT/R None DCCICT Primary and secondary function code fields in DC/CICT/R, including EB and RB fi e l d s a s z e r o C200,, 10 DCNXP No transparent data field in DC/CICT/R None DCSCT Synchronous message character type field in DC/CICT/R None DCTRU Primary and secondary function code fields in DC/TRU/R, including EB and RB fi e l d s a s z e r o C20116 DE Secondary function code field in HOP/DE/R F16 DEFF Secondary function code field in CTRL/DEF/R DU Secondary function code field in HOP/DU/R EB Error bit in all supervisory messages ENDD Secondary function code field in CON/END/R ERR Primary function code field in ERR/LGL/R 8A16 ERRABH Application block header word in ERR/LGL/R None ERRLG Reason code field in ERR/LGL/R None ERRLGL Primary and secondary function code fields in ERR/LGL/R, including EB and RB fields as zero 840116 ERRMSG First message text word in ERR/LGL/R None FC Primary function code field in flow control (FC) supervisory messages 8316 FCACK Primary and secondary function code fields in FC/ACK/R, including EB and RB fields as zero 830216 FCACN Application connection number field in flow control (FC) supervisory messages None FCBRK Primary and secondary function code fields in FC/BRK/R, including EB and RB fi e l d s a s z e r o 8300., 10 FCINA Primary and secondary function code fields in FC/INACT/R, including EB and RB fi e l d s a s z e r o 830416 FCINIT Primary and secondary function code fields in FC/INIT/R, including EB and RB fields as zero 830716 FCINITN Primary and secondary code fields in FC/INIT/N including RB field set to 1 834716 4-6 None 60499500 R TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value FCNAK Primary and secondary function code fields in FC/NAK/R, including EB and RB fi e l d s a s z e r o 8303 FCRBR Reason code field in FC/BRK/R None FCRST Primary and secondary function code fields in FC/RST/R, including EB and RB fields as zero 8301 16 FDX Secondary function code field in LST/FDX/R 3 HDX Secondary function code field in LST/HDX/R 4 HOP Primary function code field in host operator (HOP) supervisory messages 16 D016 HOPDB Primary and secondary code fields in HOP/DB/R, including EB and RB fields as zero D00E HOPDE Primary and secondary code fields in HOP/DE/R, including EB and RB fields as zero D00F 16 HOPDU Primary and secondary code fields in HOP/DU/R, including EB and RB fields as zero D003 HOPNOTR Primary and secondary code fields in HOP/NOTR/R, including EB and RB fields as zero D007 16 HOPREL Primary and secondary code fields in HOP/REL/R, including EB and RB fields as zero D00D 16 HOPRS Primary and secondary code fields in HOP/RS/R, including EB and RB fields as zero D008 16 HOPTRCE Primary and secondary code fields in HOP/TRACE/R, including EB and RB fields as zero D002 16 INACT Secondary function code field in FC/INACT/R 4 INIT Secondary function code field in FC/INIT/R 7 INSD Secondary function code field in SHUT/INSD/R 6 INTR Primary function code field in user-interrupt (INTR) supervisory messages 8016 INTRACN Application connection number field in user-interrupt (INTR) supervisory messages None INTRAPP Primary and secondary function code fields in INTR/APP/R, including EB and RB fields as zero 8002 16 INTRCHR Field containing ASCII alphabetic character A through Z in typeahead priority data user-interrupt supervisory messages. None INTRRSP Primary and secondary function code fields in INTR/RSP/R, including EB and RB fields as zero 8001 16 INTRUSR Primary and secondary function code fields in INTR/USR/R, including EB and RB fields as zero 8000 16 LCONAC Length in 60-bit words of CON/ACRQ supervisory messages 2 LCONACA Length in 60 bit words of CON/ACRQ/A 2 LCONCB Length In 60-bit words of CON/CB/R 1 LCONEN Length in 60-bit words of CON/END/R 2 60499500 R 16 16 4-7 TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value LCONENN Length in 60 bit words of CON/END/N LCONREQ Length in 60-bit words of CON/REQ/R message LCORQR Length in 60-bit words of CON/REQ/N and CON/REQ/A LCTRL Length in 60-bit words of terminal control (CTRL) supervisory messages LDC Length in 60-bit words of DC/CICT/R LERR Length in 60-bit words of ERR/LGL/R LFC Length in 60-bit words of flow control (FC) supervisory messages (except FC/BRK) LFCACK Length in 60-bit words of FC/ACR/R LFCBRK Length in 60-bit words of FC/BRK/R LFCINCT Length in 60-bit words of FC/INACT/R LFCINIT Length in 60-bit words of FC/INIT/R LFCINITN Length in 60-bit words of FC/INIT/N LFCNAK Length in 60-bit words of FC/NAK/R LFCRST Length in 60-bit words of FC/RST/R LG Secondary function code field in HOP/LG/R LGL Secondary function code field in ERR/LGL/R LHOPDB Length in 60-bit words of HOP/DB/R LHOPDE Length in 60-bit words of HOP/DE/R LHOPDU Length in 60-bit words of HOP/DU/R LHOPNTR Length in 60-bit words of HOP/NOTR/R LHOPREL Length in 60-bit words of HOP/REL/R LHOPRS Length in 60-bit words of HOP/RS/R LHOPTRA Length in 60-bit words of HOP/TRACE/R LINTR Length in 60-bit words of INTR/USR/R and INTR/RSP/R LLST Length in 60-bit words of list management (LST) supervisory messages LSHUT Length in 60-bit words of SHUT/INSD/R LST Primary function code field in list management (LST) supervisory messages C016 LSTACN Application connection number field in list management (LST) supervisory messages None LSTALN Application list number field in list management (LST) supervisory messages None LSTDIS Initial half duplex field in LST/HDX/R None LSTFDX Primary and secondary function code fields in LST/FDX/R, including EB and RB fields as zero C00316 LSTHDX Primary and secondary function code fields in LST/HDX/R, including EB and RB fi e l d s a s z e r o C00416 4-8 10 (A16) A16 60499500 R TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Entity Defined by Symbol Predefined Integer Value LSTOFF Primary and secondary function code fields in LST/OFF/R, including EB and RB fields as zero C000 LSTON Primary and secondary function code fields in LST/ON/R, including EB and RB fields as zero C001 16 LSTSWH Primary and secondary function code fields in LST/SWH/R, including EB and RB fields as zero C002 LTCH Length in 60-bit words of TCH/TCHAR/R 1 MARK Secondary function code field in TO/MARK/R, BI/MARK/R, and RO/MARK/R 0 NAK Secondary function code field in FC/NAK/R 3 NOTR Secondary function code field in HOP/NOTR/R 7 OFF Secondary function code field in LST/OFF/R 1 ONN Secondary function code field in LST/ON/R and PRU/ON supervisory messages 0 PFC Primary function code field in all supervisory messages None PFCSFC Primary and secondary function code fields in all supervisory messages, including EB and RB fields None RB Response bit in all supervisory messages None RC Reason code field in all supervisory messages None REL Secondary function code field in HOP/REL/R REQ Secondary function code field in CON/REQ messages 0 RO Primary function code field in RO/MARK/R CB.16 ROMARK Primary and secondary function code fields in RO/MARK/R, including EB and RB fields as zero CBOO RS Secondary function code field in HOP/RS/R RSP Secondary function code field in INTR/RSP/R 1 RST Secondary function code field in FC/RST/R 1 RTC Secondary function code in field in CTRL/RTC/R SFC Secondary function code field in all supervisory messages None SHUINS Primary and secondary function code fields in SHUT/INSD/R, including EB and RB fi e l d s a s z e r o 4206 SHUT Primary function code field in SHUT/INSD/R 4216 SHUTF Shutdown type field in SHUT/INSD/R None SFMSGO thru SPMSG9 The corresponding word zero through nine of any supervisory message None SWH Secondary function code field in LST/SWH/R 2 TCD Secondary function code field in CTRL/TCD A16 60499500 R 16 16 DJ16 16 816 916 16 4-9 TABLE 4-1. RESERVED SYMBOLS (Contd) Symbol Predefined Integer Value Entity Defined by Symbol TCH Primary function code field in TCH/TCHAR/R M16 TCHACN Application connection number field in TCH/TCHAR/R None TCHAR Secondary function code field in TCH/TCHAR/R 0 TCHPL Page length field in TCH/TCHAR/R None TCHPW Page width field in TCH/TCHAR/R None TCHTCH Primary and secondary function code fields in TCH/TCHAR/R, including EB and RB fields as zero 640016 TCHTCL Terminal class field in TCH/TCHAR/R None TO Primary function code field in TO/MARK/R C416 TOMARK Primary and secondary function code fields in TO/MARK/R, including EB and RB fields as zero C40016 TRACE Secondary function code field in HOP/TRACE/R 2 USR Secondary function code field in INTR/USR/R 0 Field Access Utilities Two additional macros, NFETCH and NSTORE, are provided to make message field definition and access e a s i e r. A p p l i c a t i o n p r o g r a m m e r s a r e u r g e d t o u s e t h e s e m a c r o s a s d e s c r i b e d b e l o w. U s e o f t h e s e macros and their related predefined symbolic names will simplify application program conversion under future versions of the network software. LOCATION OPERATION VARIABLE [ l a b e l ] | N F E T C H I a r r a y , fi e l d , X j o r B j label Optional address label of the macro call. S^K array The address of the first word of the array from which the field value should be obtained. This parameter can be: An address label The name of a register address NFETCH Macro A call to the NFETCH macro returns the contents of a s p e c i fi c fi e l d w i t h i n a n a r r a y o f o n e o r m o r e words that comprise all or part of a supervisory message block. The octal integer value returned by t h e c a l l i s r i g h t - j u s t i fi e d w i t h i n t h e X o r B r e g i s t e r s p e c i fi e d i n t h e c a l l . The format of the NFETCH macro call is given in fi g u r e 4 - 1 . Execution of NFETCH destroys the contents of regis ters A5, X5, X6, and the X or B register specified to receive the returned value. Execution of NFETCH requires the application program to contain calls to SST and NETMAC. Placing NETTEXT in the COMPASS control statement defines the NFETCH macro and the symbolic names used as the NFETCH field parameters. Zero If zero is declared, any predefined value for the indicated symbolic name is returned. field The predefined symbolic name of the field for which a value should be fetched from the array. The possible contents of field are listed alphabetically in table 4-1. j The number of the X or B register which should receive the value fetched, from the array. The value is right-justified in Xj or Bj on return from the call. When a B register is used, the field to be fetched must be < 18 bits long. Figure 4-1. NFETCH Macro Call Format •^^Sv 4-10 60499500 R ^^s As examples of NFETCH use, consider the following operations. L O C AT I O N | O P E R AT I O N | VA R I A B L E [label] Example 1: NFETCH MYARRAY,PFC,X1 This statement places the value of the primary function code field within MYARRAY into register XI. T h e p r i m a r y f u n c t i o n c o d e fi e l d i s i d e n t i fi e d b y the symbolic name PFC. label Optional address label of the macro call. array The address of the first word of the array into which the field value should be placed. This parameter can be declared as an address label or the name of an address register. field The predefined symbolic name of the field for which a value should be stored in the array. The possible contents of field are listed alphabetically in table 4-1. value The value to be stored in the identified field within the array. This parameter can be: Example 2: SX2 NFETCH BUFFER X2,SFC,X3 These statements place the value of the secondary function code field within BUFFER into register X3. T h e s e c o n d a r y f u n c t i o n c o d e fi e l d i s i d e n t i fi e d b y the symbolic name SFC, and the address label BUFFER is supplied through register X2. A right-justified integer A right-justified, zero-filled character string A symbolic name with a predefined value (see table 4-1) Example 3: NFETCH NZ Example 4: NFETCH Bj or Xj, where j is the number of an X or B register containing one of the first two possibilities for value above. ARRAY,EB,X3 X3,ERROR These statements place the value of the error bit ( E B ) w i t h i n A R R AY i n t o r e g i s t e r X 3 . I f t h e v a l u e in X3 is nonzero (if EB has a value of 1), a jump to ERROR occurs. 0,CON,XI T h i s s t a t e m e n t r e t u r n s t h e p r e d e fi n e d v a l u e 6 3 ^ g in register XI. The value returned is that of the p r i m a r y f u n c t i o n c o d e fi e l d o f a l l c o n n e c t i o n request supervisory messages, as identified by the predefined symbolic name CON. If an NFETCH macro call is issued with an error, the COMPASS assembler flags the error and provides an explanation during assembly of the macro. A complete listing of the assembly error messages from NFETCH is included in appendix B. Figure 4-2. NSTORE Macro Call Format These statements store the value predefined for CTRL in the primary function code field of MYARRAY. The p r i m a r y f u n c t i o n c o d e fi e l d i s i d e n t i fi e d b y t h e symbolic name PFC, and the address label MYARRAY is obtained through register X2. Example 2: NSTORE A call to the NSTORE macro sets the contents of a specific field within an array of one or more words that comprise all or part of a supervisory message block. The format of the NSTORE macro call is given i n fi g u r e 4 - 2 . Execution of NSTORE destroys the contents of registers A5, A6, X5, X6, X7, and any X or B regis t e r s p e c i fi e d i n t h e c a l l . E x e c u t i o n o f N S T O R E requires the application program to contain calls to SST and NETMAC. Placing NETTEXT in the COMPASS control statement defines the NSTORE macro and the symbolic names used as the NSTORE field parameters. As examples of NSTORE use, consider the following operations. Example 1: SX2 NSTORE 60499500 R MYARRAY X2, PFC=CTRL MYARRAY, PFC=CTRL This statement performs the same operation shown in example 1. Example 3: NSTORE NSTORE Macro 1 N S T O R E I a r r a y , fi e l d = v a l u e MYARRAY, CONOWT=7RTERMABC This statement stores the terminal name TERMABC in the owning console terminal name field of MYARRAY. The owning console terminal name field is identified by the predefined symbolic name CONOWT. If an NSTORE macro call is issued with an error, the COMPASS assembler flags the error and provides an explanation during assembly of the macro. Appendix B contains a complete listing of the assembly error messages from NSTORE. COMPILER-LEVEL LANGUAGES Application programs coded in compiler-level languages such as FORTRAN use AIP statements that m a k e r e l o c a t a b l e s u b r o u t i n e c a l l s . S u ch statements need not be declared as external routines. Entry point references are satisfied by the CYBER loader; the AIP routines are loaded from the local library NETIO or NETIOD, which must be declared in an LDSET or LIBRARY control statement. 4-11 READ, WRITE, and CONNEC are not employed when NAM is used by a FORTRAN program for input and output between the program and terminals. Terminals serv iced by an application program do not have logical unit numbers. ACCEPT and DISPLAY are not used when NAM is used by a COBOL program for input and output between the program and terminals. You can use these verbs in COBOL programs that use other network application p r o g r a m s , s u c h a s t h e C D C - w r i t t e n Tr a n s a c t i o n Facility (TAF), for network access. [ivalue=] NFETCH(array,field) ivalue= A return parameter; as input to the call, an optional integer variable to receive the value returned for the function. array An input parameter, specifying the symbolic address of the first word of the array from which the field value can be obtained. This parameter can be: The array name Packing and unpacking supervisory message blocks in a compiler-level program is easily accomplished using the interfacing utilities NFETCH and NSTORE. T h e s e fi e l d a c c e s s u t i l i t i e s r e s i d e i n l o c a l l i b r a r y NETIO or NETIOD. Programs written using compiler-level languages can also use the AIP routines indirectly through the u t i l i t y p a c k a g e c a l l e d t h e Q u e u e d Te r m i n a l R e c o r d Manager (QTRM). QTRM is described at the end of this subsection and the use of QTRM is completely d e fi n e d i n s e c t i o n 8 . T h e s u b r o u t i n e s c o m p r i s i n g QTRM reside in local library NETIO or NETIOD. Application Interface Program Subroutine Call Formats Only one form of the AIP subroutine call is possible in compiler-level language programs. This form is: subroutine-name (parameters) The syntax of this form is discussed in section 5. A summary of all the calls available appears in appendix D. The FORTRAN form of the subroutine call format is the format used throughout this manual when discussing the AIP routines. Zero If zero is declared, any predefined value for the indicated symbolic name is returned. field An input parameter, specifying the predefined symbolic name of the field for which a value should be fetched from the array. The possible contents of field are listed in table 4-1. This parameter must be left-justified with zero fill. Figure 4-3. NFETCH Integer Function FORTRAN Call Format I f e i t h e r t h e fi e l d o r a r r a y p a r a m e t e r i s o m i t t e d from the function statement, the application program i s a b o r t e d a n d a d a y fi l e m e s s a g e i s i s s u e d . ( S e e appendix B.) As examples of NFETCH uses, consider the following operations. Example 1: The FORTRAN 5 statement: Field Access Utilities Two additional relocatable subroutines, NFETCH and NSTORE, are provided to make message field defini tion and access easier. Use of these routines and t h e i r r e l a t e d p r e d e fi n e d s y m b o l i c n a m e s w i l l simplify application program conversion under future versions of the network software. Because each call to one of these routines causes a table scan, use of the routines increases program execution time. This increase can be minimized by setting up all constants processed by calls to the routines with a single set of calls at the beginning of. the program. M=NFETCH(ARRAY,L"EB") makes M equivalent to the value of the error bit. T h e e r r o r b i t i s i d e n t i fi e d b y t h e p r e d e fi n e d s y m b o l i c n a m e E B , l e f t - j u s t i fi e d w i t h z e r o fi l l i n t h e call. Example 2: The FORTRAN 5 statement: M=NFETCH(0,L"CON") NFETCH Function A call to the NFETCH function subprogram returns an i n t e g e r v a l u e f o r t h e c o n t e n t s o f a s p e c i fi c fi e l d within an array of one or more words that comprise all or part of a supervisory message block. NFETCH can be used anywhere in a program expression that a n o p e r a n d c a n b e u s e d ; fi g u r e 4 - 3 d e fi n e s t h e format for NFETCH as it is used in an assignment statement. The size of the field involved in the NFETCH call determines the format of the content value returned. The field is read as an octal value and the value r e t u r n e d i s r i g h t - j u s t i fi e d a s e i t h e r a n i n t e g e r o r a display code character string. 4-12 makes M the integer value 143g, equivalent to the predefined value for the primary function code field in all connection-request supervisory messages. The p r i m a r y f u n c t i o n c o d e fi e l d i s i d e n t i fi e d b y t h e p r e d e fi n e d s y m b o l i c n a m e C O N , l e f t - j u s t i fi e d w i t h z e r o fi l l i n t h e c a l l . Example 3: The FORTRAN 5 statement: IF(NFETCH(ARRAY,L"EB").EQ.l) CALL ERROR causes a jump to ERROR if the value of the error bit (EB) within ARRAY is 1. 60499500 R NSTORE Subroutine A call to the NSTORE subroutine sets the contents o f a s p e c i fi c fi e l d w i t h i n a n a r r a y o f o n e o r m o r e words that comprise all or part of a supervisory message block. Figure 4-4 gives the FORTRAN format of the NSTORE call statement. stores the display coded terminal name TERMABC in t h e o w n i n g c o n s o l e t e r m i n a l n a m e fi e l d o f A R R AY. The owning console terminal name field is identified b y t h e p r e d e fi n e d s y m b o l i c n a m e C O N O W T, l e f t j u s t i fi e d w i t h z e r o fi l l i n t h e c a l l . Example 3: CALL NSTORE(array,field,value) array A return parameter; as input to the call, the symbolic address of the first word of the array into which the field value should be placed. This parameter is normally the array name. field An input parameter, specifying the predefined symbolic name of the field for which a value should be stored in the array. The possible contents of field are listed alphabetically in table 4-1. This parameter must be leftjustified with zero fill. value An input parameter, specifying the value to be stored in the identified field within the array. This parameter can be: A right-justified integer value A right-justified, zero-filled Hollerith character string A left-justified, zero-filled symbolic name with a predefined value (see table 4-1). Figure 4-4. NSTORE Subroutine FORTRAN Call Format 0^*s Integer values stored by the NSTORE call are stored as integers. Character strings are stored in dis play code form and symbolic names are converted to o c t a l e q u i v a l e n t s o f t h e i r p r e d e fi n e d v a l u e s w h e n s t o r e d . O n l y o n e fi e l d c a n b e s p e c i fi e d i n e a c h c a l l . A v a l u e c a n b e s t o r e d i n a fi e l d a n y t i m e after the array is declared. I f e i t h e r t h e a r r a y, fi e l d , o r v a l u e p a r a m e t e r s a r e not declared or are nonexistent, the application program is aborted and a dayfile message is issued. (See appendix B.) As examples of NSTORE use, consider the following operations. The FORTRAN 5 statement: CALL NSTORE(ARRAY,L"RB",1) s e t s t h e r e s p o n s e b i t fi e l d i n A R R AY t o 1 . T h e r e s p o n s e b i t fi e l d i s i d e n t i fi e d b y t h e p r e d e fi n e d s y m b o l i c n a m e R B , l e f t - j u s t i fi e d w i t h z e r o fi l l i n the call. Q u e u e d Te r m i n a l R e c o r d M a n a g e r U t i l i t i e s Yo u c a n s e t u p a t e l e p r o c e s s i n g s e r v i c e b y i n t e r facing an application program directly with AIP through the subroutine calls described in section 5. This interface requires manipulation of many b i t - o r i e n t e d fi e l d s , a s d e s c r i b e d i n s e c t i o n 2 , a n d multiple operations to perform a single function, as described in section 3. These protocol require ments can be quite complex, dwarfing the portion of a program's code that actually performs a teleproc essing service when the service itself is very simple. A FORTRAN programmer can use AIP directly with only minor inconvenience when shifting and masking are required. The NFETCH and NSTORE routines permit a COBOL programmer to bypass most of the shifting and masking problems of direct AIP use, but some remain. S h i f t i n g a n d m a s k i n g i s e x t r e m e l y d i f fi c u l t f o r a COBOL programmer when NFETCH and NSTORE cannot be used because COBOL constrains field access to fields that are multiples of 6 bits. NFETCH, which is coded as a function and not as a subroutine, is not directly callable from a COBOL program because COBOL does not support functions. To use NFETCH, a COBOL programmer must write a subroutine in another applications language. The Queued Terminal Record Manager (QTRM) utility package allows compiler language users to remain unaware of AIP protocol requirements. QTRM also allows users of COBOL 5.2 (and later versions) to create teleprocessing service programs using an i n t e r f a c e t h a t i s o r i e n t e d t o fi e l d s d e fi n e d i n multiples of 6 bits. Example 1: The FORTRAN 5 statement: CALL NSTORE(ARRAY,L,,PFC,,tL,,CON") stores the predefined value for the primary function code of all connection-request supervisory messages i n t h e p r i m a r y f u n c t i o n c o d e fi e l d o f A R R AY. T h e p r i m a r y f u n c t i o n c o d e v a l u e i s i d e n t i fi e d b y t h e predefined symbolic name CON and the primary func tion code field by the predefined symbolic name PFC; b o t h n a m e s a r e l e f t - j u s t i fi e d w i t h z e r o fi l l i n t h e call. r Example 2: The FORTRAN 5 statement: CALL NSTORE(ARRAY,L"C0N0WT",R"TERMABC") 60499500 R QTRM is an indirect interface to the network; its use is functionally analogous to directly calling CYBER Record Manager. Using QTRM, an application programmer can send messages to and receive messages from a network of terminals as if the programmer w e r e r e a d i n g a n d w r i t i n g r e c o r d s o r fi l e s i n m a s s s t o r a g e . T h i s p a r a l l e l i s m i s s h o w n i n fi g u r e 4 - 5 . QTRM is used through calls to the following seven subroutines: QTOPEN, which is called once to establish communication between the application program and the network. A call to QTOPEN is analogous to opening a mass storage file. QTLINK, which is called to initiate an application-to-application connection. 4-13 Compiler Language User Program CYBER Record Manager Queued Terminal Record Manager ji CIO j AIP i 1 Device Driver i i NIP ii 1 RMS Controllers Network Processing Units Figure 4-5. QTRM Interface Level Analogy QTGET, which is called each time part or all of a message is required from the network. A call to QTGET is analogous to a single read operation on a mass storage file. QTPUT, which is called each time part or all of a message is intended for the network. A call to QTPUT is analogous to a single write oper ation on a mass storage file. QTENDT, which is called to disconnect a single terminal from communicating with the application program. QTCLOSE, which is called once to end communi cation between the application program and the network. A call to QTCLOSE is analogous to closing a mass storage file. QTTIP, which is called to deliver a synchronous supervisory message to a specified connection. Operation of these procedures is monitored and controlled through a network information table, a n a l o g o u s t o a fi l e i n f o r m a t i o n t a b l e . T h e n e t w o r k information table contains 10 central memory words of information about each device the application program can potentially service, and 10 words of global information about the state of the appli cation program's communication with the network. Application programs using QTRM can use only those features of AIP that are provided through the QTRM procedure calls. Such application programs should not also contain calls to AIP routines other than 4-14 NFETCH and NSTORE. QTRM performs the following functions: Assigns all active device connections to a single connection list and polls that list for input on behalf of the application program Performs all asynchronous supervisory message exchanges required during application program execution P r o v i d e s t h e fi n a l l o g i c a l l i n e z e r o b y t e t e r m inator in downline blocks containing display code characters QTRM is a simplified alternative to AIP and there fore does not support all of the AIP features. Features currently not supported by QTRM include the following: Parallel mode code execution, as provided through NETSETP and NETCHEK calls Fragmented buffer input and output, as provided through NETGETF, NETPUTF, and NETGTFL calls Application program connections with passive (batch) devices Half-duplex mode Runtime selection of debug log file and statis t i c a l fi l e e n t r i e s , a s p r o v i d e d t h r o u g h N E T D B G and NETSTC calls; both files can be generated or have generation suppressed through selection of the appropriate library during loading of the QTRM routines 60499500 S Manipulation of application connection lists, or direct polling of any list as provided through NETGETL and NETGTFL calls by AIP. The mechanism for this communication is a fi x e d - l e n g t h b u f f e r o f s t a t u s b i t s , p o i n t e r s , a n d data that is called a worklist. Use of different application character types for input on the same connection, or on differ ent connections, or change of the application character type used for input during the time the program is connected to the network Worklist Processing N o t i fi c a t i o n o f i n a c t i v e c o n n e c t i o n s S e l e c t i v e p o l l i n g o f i n p u t f r o m a s p e c i fi c connection, as provided through NETGET and NETGETF calls Transparent mode input Disposition of the debug log file during program execution, as provided through the NETREL and NETSETF calls; postprocessing disposition of t h e fi l e i s r e q u i r e d When an application program requests connection with the network, its copy of AIP establishes a l o n g - t e r m c o n n e c t i o n w i t h N I P. T h e l o n g - t e r m c o n nection exists until the program requests discon nection from the network, or until NIP is informed of the program's failure or termination by the operating system. While the long-term connection exists, an additional short-term connection occurs whenever AIP initiates a transfer of worklists be t w e e n i t s e l f a n d N I P. T h e s h o r t - t e r m c o n n e c t i o n exists until NIP issues a system control point call to end it. Exchange package and central memory field length dumps, as provided through NETDMB calls The requests made by an application program to AIP a r e e i t h e r s a t i s fi e d b y A I P d i r e c t l y o r c o l l e c t e d into the worklist contained within the AIP portion o f t h e a p p l i c a t i o n p r o g r a m ' s fi e l d l e n g t h . A I P places entries in this worklist until one of the following occurs, then initiates the short-term connection: Transmission of messages to the statistical log file, as provided through NETLGS calls NETON or NETOFF is called by the application program. (See section 5.) Application supplied OUTCALL parameters for application-to-application connections sending or receiving user data during the establishment of application-to-application connections The worklist is full. Sending a break (FC/BRK) or INTR/APP message The application program calls a routine (NETGET, NETGETL, NETGETF, or NETGTFL) that obtains in put from the network's data structures, other than AIP queues. (See section 5.) Transmission of messages to the debug log file, as provided through NETLOG calls Qualified data as described in section 2 L o g i c a l i d e n t i fi e r s ( L I O ' s ) i n t h e e s t a b l i s h ment of application-to-application connections Another entry cannot be made without causing t h e w o r k l i s t t o o v e r fl o w. NETCHEK is called. Section 8 contains a complete description of the QTRM procedure calls and a sample program illus trating QTRM use by a COBOL programmer. QTRM procedures are not discussed elsewhere because QTRM use precludes direct use of the AIP routines docu mented by the remainder of this manual. The application program issues a nonforced NETWAIT call to make itself available for roll out or any input, and no supervisory messages or data are queued for it. (See section 5.) INTERNAL INTERFACES The application program calls NETPUTF, unless the total message text involved in the call is s m a l l e n o u g h t o fi t i n t h e w o r k l i s t . j0^\ The information in the remainder of this section is not needed to create a Network Access Method appli cation program. This information is provided as background for application programmers using the parallel mode processing feature of NAM, programmers with a need for understanding communication among the components of the network software, and pro grammers needing to interpret a load map. APPLICATION INTERFACE PROGRAM AND NETWORK INTERFACE PROGRAM COMMUNICATION One copy of the Network Interface Program resides at a control point and communicates with separate copies of the Application Interface Program at each control point containing an application program. Communication between NIP and each copy of AIP occurs through system control point calls initiated 60499500 S The application program issues a forced NETWAIT call. This worklist is used to queue outgoing supervisory or data messages, and to request a supervisory or incoming (upline) data message. A second buffer acts as a queue for incoming supervisory messages. When AIP initiates the short-term connection, it checks to see whether its supervisory message buffer is full; if not, AIP appends a request for supervi sory message input to the end of the worklist and p a s s e s t h e w o r k l i s t t o N I P. T h e p e r i o d d u r i n g w o r k l i s t p r o c e s s i n g i s t h e o n l y t i m e w h e n N IP c a n r e a d f r o m o r w r i t e i n t o t h e fi e l d l e n g t h o f A I P, and then only when AIP initiates the action. NIP processes the transferred worklist until all of t h e e n t r i e s a r e s a t i s fi e d , t h e n e n d s t h e s h o r t - t e r m connection. Worklist processing is suspended when: The operating system rolls out the application program. 4-15 NIP causes the application program to be rolled out in response to the request of the program. (See NETWAIT call, section 5.) A worklist entry cannot be processed without o b t a i n i n g a d d i t i o n a l c e n t r a l m e m o r y, w h i c h i s not available. Even if there are downline messages queued, no worklist transfer occurs in these instances: The application program calls a routine (NETGET, NETGETF, NETGETL, or NETGTFL) to obtain asyn chronous supervisory messages and AIP transfers any queued messages to the application. The application program issues a NETWAIT call with a flag value of 0 and there are supervisory messages or data available for the application. Generally, an application program does not depend on the status of worklist processing between its corresponding AIP copy and NIP. Most programs can adequately function when concerned only with text a r e a b u ff e r s a n d c a l l s t o A I P. H o w e v e r, t h e N e t work Access Method does provide a mechanism that allows an application program to monitor worklist processing and execute code dependent on that proc essing. This mechanism is called parallel mode operation. Parallel Mode Operation When an application program issues the call that i n i t i a t e s t h e l o n g - t e r m c o n n e c t i o n , i t i d e n t i fi e s a supervisory status word that is used by AIP as a b u f f e r f o r s e v e r a l fl a g s . A m o n g t h e s u p e r v i s o r y status word flags are worklist processing bits used during parallel mode operations. When an application program is not processing in parallel mode (the normal, default condition), its copy of AIP initiates the short-term connection with a system control point call specifying that recall is in effect. In this case, the program's copy of AIP does not regain control of the central processor until all worklist entries are processed by NIP and the short-term connection is ended. Because the application program cannot regain the central processor until its copy of AIP has regained the central processor, the program cannot perform any processing in the interim. P a r a l l e l m o d e o p e r a t i o n i s u s u a l l y b e n e fi c i a l o n l y when used on a dual CPU system, because NIP ordi narily has a higher priority than any application program and gains control of the central processor after a call is made to it. NIP retains control until it completes processing of the worklist request. Processing in parallel mode is analagous to making | operating system calls without recall. An applica tion program enters parallel mode by issuing a call to the AIP routine NETSETP. While in parallel mode, anytime AIP initiates the short-term connection, it does so without specifying recall. The application program's copy of AIP reacquires control of a cen tral processor as soon as the operating system's scheduling algorithm permits, and AIP returns con trol to the calling point of the application program p r o p e r. A s l o n g a s t h e s h o r t - t e r m c o n n e c t i o n exists, the application program can continue proc essing with the sole restriction that it cannot 4-16 issue calls to any AIP routines other than NETCHEK or NETOFF. Calls to NETCHEK cause AIP to indicate the current status of worklist processing using a bit in the supervisory status word. After each NETCHEK call, the application program must check the supervisory status word. As soon as the bit indicating com pletion of worklist processing is set, the program is free to issue any AIP call. Parallel mode proc essing is ended by a second call to the AIP routine NETSETP. The worklist processing completion bit serves several purposes in parallel mode operation. Calls to NETCHEK cause this bit to be set when processing of the previous request to AIP has been completed, even when that request did not cause a worklist entry or transfer. When a call to NETCHEK results in the completion bit being set, the application program can: Safely reuse any header area and text area used in its last AIP call Assume that any worklist transfer involved in the previous AIP function request resulted in the updating of the other bits in the super visory status word y^lSy When a call to NETCHEK does not result in the completion bit being set, the application program should issue additional NETCHEK calls before exe cuting any code dependent on either condition. Calls to NETOFF end parallel mode operation by end ing both the long-term and short-term connections simultaneously. NIP processes a worklist containing a N ETOFF ca l l a s i f th e w o rkl i st w e re tra n sferred while the application program was not processing in parallel mode. Calls to NETCHEK are not necessary to test completion of a NETOFF call. OTHER SOFTWARE COMMUNICATION A complete compiler or assembler listing for an application program contains symbols and entry points not discussed in this manual. These symbols and entry points are used internally for interfacing between NIP, AIP, and the operating system. Table 4-2 lists the names of internal procedure calls with an outline of the function of each routine; these calls should not be used directly by the application program. In general, procedure names beginning with the three characters NP$ are reserved for use by AIP and should not be used by application programs. Ta b l e 4 - 3 l i s t s t h e t a b l e s a n d c o m m o n b l o c k s i n volved in the processing of an application program's AIP statements. The Communications Supervisor, Network Supervisor, a n d N e tw o r k Va l i d a ti o n Fa c i l i ty i n te r fa c e w i th NAM via the AIP procedure calls described in section 5. These interfaces use special supervisory messages not described in section 3. These special super visory messages cannot be used in another NAM application program. NAM interfaces with the network processing unit software through the Peripheral Interface Program, which uses an internal block protocol not described in section 2. These blocks are compiled or inter preted by NIP. 60499500 S ",£3% TABLE 4-2. AIP INTERNAL PROCEDURES Function Name NP$CLK Used only when AIP is run with either the debugging or statistics option on; gets system clock time. NP$DATE Used only when AIP is run with either the debugging or statistics option on; gets current date. NP$DBG Used only when AIP is run with the debugging option on; makes entries in the debug log file (application program local file ZZZZZDN). These entries show results of calls to other AIP routines by the program. (See section 6.) NP$DMB Dumps field length to the application program local file ZZZZDMB. NP$ERR Issues error messages to the application program's dayfile. NP$GET Creates NETGET, NETGETL, NETGETF, or NETGTFL worklist entry to send to NIP. NP$GSM Refills AIP's supervisory message buffer. (See Worklist Processing.) NP$MSG Issues dayfile message to NIP's dayfile. NP$ON Processes NETON call response from NIP. NP$OSIF Issues system control point (SSC) RA+1 call. NP$PUT Creates NETPUT worklist entry to send to NIP. NP$PUTF Creates NETPUTF worklist entry to send to NIP. NP$RCL Allows AIP to go into recall. NP$READ Used only when AIP is run with the debugging option on; reads job record for NETREL call. NP$RESP Processes worklist responses from NIP. NP$ROUT Used only when AIP is run with the debugging option on; routes job to input queue for NETREL call. NP$RTIM Used only when AIP is run with the debugging option on; gets real time since deadstart. NP$RWD Used only when AIP is run with the debugging option on; rewinds a file. NP$SEND Called when a worklist must be transferred to NIP. NP$SLOF Used only when AIP is run with the debugging option on; executes SETLOF macro for NETSETF call. (See section 6.) NP$SN Used only when AIP is run with the statistics option on; accumulates statistical data. NP$SPRT Used only when AIP is run with the statistics option on; makes entries in the debug log file (application program local file ZZZZZSN). (See section 6.) NP$SYM Allows COMPASS users access to common symbol definitions. NP$TIM Used only when AIP is run with the statistics option on; gets CPU time. NP$UCV Used to update AIP control variables. NP$USI Used to update the S and I bits in the supervisory status word. (See section 5.) NP$WRTO Used only when AIP is run with the debugging option on; writes one word in the debug log fil e (a p p l i ca ti o n p ro g ra m l o ca l fil e ZZZZZD N ). (Se e se cti o n 6 .) NP$WRTR Used only when AIP is run with either the debugging or statistics option on; writes end-of-record t o t h e d e b u g l o g fi l e o r s t a t i s t i c s fi l e . ( S e e s e c t i o n 6 . ) NT$WRTW Used only when AIP is run with either the debugging or statistics option on; writes entry to the d e b u g l o g fi l e o r s t a t i s t i c s fi l e . ( S e e s e c t i o n 6 . ) NP$XCDD Used only when AIP is run with the statistics option on; converts numbers to decimal form in display code. NP$XFER Transfers a worklist to NIP. 60499500 R 4-17 TABLE 4-3. AIP INTERNAL TABLES AND BLOCKS Name 4-18 Function NP$DB Used only when AIP is run with the debugging option on; contains calling parameters for debugging routine NP$DBG. NP$GETS Controls variables used to process NETGET, NETGETL, NETGETF, and NETGTFL calls. NP$LOF Used only when AIP Is run with the debugging option on; parameter block for SETLOF macro. (See section 6.) NP$MODE Used to keep track of the state the application is in. NP$NWL Worklist for the application program. NP$NWNC Used only when AIP is run with the debugging option on; aids in character conversion. NP$ONAM NETON entry for the debug log file. NP$PUTS Controls variables used to process PUT calls. NP$SMB AIP supervisory message buffer for the application program. This block is included in the last 1008 words of NPSNWL. NP$STAT Used only when AIP is run with the debugging option on; contains statistics gathered by N I P. ( S e e s e c t i o n 6 . ) NP$TAA Used to reference the text area array (TAA) in fragmented NETGETF and NETPUTF or NETGTFL calls. NP$ZHDR Header entry for the debug log file (application program local file ZZZZZDN). 60499500 R APPLICATION INTERFACE PROGRAM CALL STATEMENTS This section describes the Application Interface Program (AIP) statements used by a network appli cation program to access the network, control network processing, and transmit and receive the messages described in sections 2 and 3. SYNTAX Application Interface Program statements are used i n C O M PA S S p r o g r a m s , o r i n p r o g r a m s w r i t t e n i n high-level languages such as FORTRAN. In most high-level languages, only positional parameters can be used; AIP statements conform to this syntac tical requirement and, therefore, do not permit the use of keywords. The interpretation attached to a given parameter is determined solely by its location within the string of* parameters of each AIP state ment. All input parameters must be supplied; there are no defaults. The FORTRAN positional form is used throughout this section to present AIP statements. Coding the statements when they are used in other languages r e q u i r e s f e w m o d i fi c a t i o n s . F o r e x a m p l e , i n t h e form of a COMPASS macro call, a sample NETGETL statement has the form: J0^\ [label] NETGETL aln, ha, ta, tlmax T h i s c o n v e r t s t o t h e F O RT R A N s u b r o u t i n e s y n t a x , which is: NETWORK ACCESS STATEMENTS An application program uses two AIP statements to begin and end access to the network's resources. The NETON statement must be used before the program c a n u s e a n y o t h e r A I P s t a t e m e n t e x ce p t N ETR EL , NSTORE, NFETCH, NETSETF, NETCHEK, NETSETP, or NETOFF. The NETOFF statement must be used after all AIP functions are completed to cause the AIP p o r t i o n o f t h e a p p l i c a t i o n p r o g r a m t o perform vital housekeeping tasks; these tasks are associated with d e b u g l o g fi l e , s t a t i s t i c a l fi l e , a n d l o g i n p r o c essing by the network software. CONNECTING TO NETWORK (NETON) The NETON statement following functions: ( fi g u r e 5 - 1 ) p e r f o r m s t h e I d e n t i fi e s t h e a p p l i c a t i o n p r o g r a m t o t h e n e t w o r k s o t h a t t h e N e t w o r k Va l i d a t i o n F a c i l i t y (NVF) can validate the right of the program to access the network's resources Causes AIP to establish communication with NIP Identifies a word to be used for communication from AIP to the program, outside of the super visory message mechanism (figure 5-2) Informs the network software of limitations on the number of logical connections the program can handle CALL NETGETL (aln, ha, ta, tlmax) U se o f L IST a n d l a b e l a r e d i s c u s s e d i n s e c t i o n 4 where COMPASS interface requirements are given. The FORTRAN subroutine syntax, in turn, converts to the following COBOL syntax for the same statement: ENTER FORTRAN-X NETGETL USING aln, ha, ta, tlmax The mnemonic variables identifying each parameter a r e d e fi n e d i n t h e s t a t e m e n t d e s c r i p t i o n s , a l o n g with any coding constraints imposed on them. Commas d e l i m i t p a r a m e t e r s i n a l l l a n g u a g e s ; t h e s i g n i fi cance of blanks depends on the language used. U n l e s s o t h e r w i s e s p e c i fi e d , a l l v a l u e s s u p p l i e d f o r parameters should be decimal integers. General definitions of terms appearing in parameter d e s c r i p t i o n s a r e g i v e n i n t h e g l o s s a r y. M o r e d e t a i l e d d e fi n i t i o n s a n d p a r a m e t e r c o n s t r a i n t s t h a t depend on the programming language used are given in section 4 under the heading of Language Inter faces. Program structural considerations that depend on command use are described in section 6 under the headings of Commands and Dependencies. 60499500 R Causes AIP to begin debug log file and statis t i c a l fi l e c o m p i l a t i o n , i f A I P c o n t a i n s c o d e permitting this (See section 6.) An application program must successfully complete a NETON call before it can use any AIP statement other than NETOFF, NETCHEK, NETREL, NETSETF, or NETSETP. If another AIP statement is used before a N E TO N c a l l i s s u c c e s s f u l l y c o m p l e t e d , A I P a b o r t s the job and issues a message to the job's dayfile. The incorrectly placed call has no other effect. An application program's NETON statement is success f u l l y v a l i d a t e d b y t h e N e t w o r k Va l i d a t i o n F a c i l i t y when the program name contained in the NETON call appears in the system common deck COMTNAP. If the p r o g r a m i s d e fi n e d a s a p r i v i l e g e d a p p l i c a t i o n i n t h e l o c a l c o n fi g u r a t i o n fi l e , i t m u s t m e e t t h e requirements for such to be successfully validated. (See section 6.) If validation is not successful, the application program is aborted. If validation is successful, the program has access to the network as long as a NETOFF statement is not issued and communication with NIP continues. 5-1 /^^^K CALL NETON (aname,nsup,status,minacn,maxacn) aname An input parameter, specifying in 6-bit display code the name of the application program, as it is identified for log in and for CONTNAP. This can be one to seven alphabetic and numeric characters, but the first must be alphabetic. This parameter must be left-justified, with blank fill. It is advisable to avoid names beginning with the letters NET to make loader map interpretation easier. The following application program names are reserved for internal networks use: ALL BYE C S HELLO IAF ITF LOGIN LOGOUT NCS NAM NIP N S NUL NVF PFU PNI PSU PTFI PTFS QTFI QTFS TCF TVF RBF RMF TAF Use of some of these names causes the program job to be aborted; use of the remainder can cause unpredictable errors. nsup A return parameter; as input to the call, nsup is the symbolic address of the supervisory status word for communication from AIP to the application program. This word has the format shown in figure 5-2. The upper bit of this word is relevant during parallel mode processing only; this bit reports the status of worklist processing and is updated after each AIP call except NETSETP. Bits 56 and 55 are set when indicated in the figure to report the status of the data message and supervisory message queuing performed by AIP. These bits are valid after any AIP call except NETDBG, NETLOG, NETREL, NETSETF, NETSETP, or NETSTC. This word need not contain zeros at the time of the NETON call and should not be changed at any time by the application program. status A return parameter; as input to the call, status is the symbolic address of the NETON call status word. On return from the call (or when worklist processing is complete if the call was made in parallel mode), the content of this word indicates the network software's disposition of the application program's NETON attempt. The values of status can be: 0 NETON was successful. 1 NETON was unsuccessful because NIP was not at a control point or did not have enough resources to service this application program (too many application programs running at the same time). 2 NETON was rejected because the maximum number of allowed applications has already netted on. 3 NETON was rejected because the application program has a status of disabled in the Communications Supervisor's tables. The program must be rerun after its entry in the local configuration file has been changed or after the host operator has enabled it. minacn An input parameter, specifying the smallest application connection number the application program can process; 0 < minacn < maxacn < 4095. The network software assigns acn values to connections, beginning with the number specified for minacn. (See section 2.) maxacn An input parameter, specifying the largest applicaton connection number the application program can process; 0 < minacn £ maxacn < 4095. The network software does not attempt to complete any more connections to the program after all connections from minacn through maxacn (inclusive) are in use. Figure 5-1. NETON Statement FORTRAN Call Format 5-2 60499500 S 29 59 57 5554 53 nsup c an i sd res mc c AIP request and worklist processing completion bit. This bit is relevant only in parallel mode. When any AIP routine other than NETSETP is entered and the AIP function is not completed, the bit is s e t t o z e r o . I f t h e A I P f u n c t i o n i s c o m p l e t e d , t h e b i t i s s e t t o o n e , i f a w o r k l i st transfer was required. If the bit is zero, the program cannot call any AIP routines except NETCHEK or NETOFF nor can it use the header area and text area of the last AIP call until the bit is set to one. The bit is set to one by NETCHEK when the last AIP function is completed. a Reserved for CDC use. n NAM available bit. This bit is set to one upon return from a NETON call if NAM is available, and zero if NAM is not available. The bit is also set to zero by AIP when AIP is informed by the operating system that NAM is no longer available. i Input-in-queue bit. This bit is set to one if NIP has either data messages or synchronous supervisory messages queued for the application. The bit is valid after any AIP call except a call to NETDBG, NETLOG, NETDMB, NETLGS, NETREL, NETSETF, NETSETP, or NETSTC. This bit is set to zero when no data messages or synchronous supervisory messages remain queued for the program. s Supervisory message in queue are queued on application call except a call to NETDBG, bit is set to zero when no bit. This bit is set to one if asynchronous supervisory messages connection number 0 for this program. This bit is valid after any AIP NETDMB, NETLGS, NETLOG, NETREL, NETSETF, NETSETP, or NETSTC. The s asynchronous supervisory messages remain queued for the program. d Data-deliverable bit. This bit is set to one if data messages are deliverable on at least one of the connection lists of the application program and the application program issues a NETGETL or a NETGTFL call. r e s R e s e r v e d f o r C D C . R e s e r v e d fi e l d s c o n t a i n z e r o . mc A count of the number of supervisory messages and network data blocks on the debug log file when library NETIOD is used. A NETON call (or a NETREL call with a nonzero lfn parameter value) resets the count to zero (described in section 6). Figure 5-2. Supervisory Status Word Format If the program failed because NAM failed, it should issue a NETOFF call and successfully complete another NETON call before issuing any further calls to the AIP routines. The NETOFF call, used in this case, causes AIP to perform internal housekeeping f u n c t i o n s a n d fi n i s h i n f o r m a t i o n t r a n s f e r t o t h e d e b u g l o g a n d s t a t i s t i c a l fi l e s ; t h e s e c o n d N E TO N causes AIP to reinitialize internal tables and reestablish communication with NIP. If a new copy of NIP becomes available prior to the NETOFF call, the second NETON call causes the NETOFF statement to be ignored and program processing can be resumed after new logical connections have been established. Alternating NETON and NETOFF statement sequences in parallel mode have unpredictable results. The network software tracks an application program and issues dayfile messages concerning the program on the basis o f th e a n a m e p a r a m e te r u s e d i n th e program's NETON call. The operating system, how e v e r, i s u n a w a r e o f t h i s n a m e a n d i s s u e s d a y fi l e messages on the basis of the job name assigned to the program according to the contents of the job's c o m m a n d p o r t i o n . S o t h a t a l l d a y fi l e m e s s a g e s concerning the same program can be identified, you should take the steps described in section 6. Figure 5-3 contains a portion of a FORTRAN program that correctly performs a NETON call. The program, 60499500 W called RMV2, is identified by that name in COMTNAP a n d i n t h e l o c a l c o n fi g u r a t i o n fi l e a s a n o n privileged application. RMV2 can process up to three logical connections but requires connections to be numbered beginning with 2. RMV2 uses the integer word NSUP as a supervisory status word for communication from AIP and tests for successful c o m p l e t i o n o f t h e N E TO N c a l l t h r o u g h t h e i n t e g e r word NSTATUS. COMMON NSUP,HA(2),TA(200,2) • NAME=4HRMV2 NSTATUS=0 MINACN=2 MAXACN=4 CALL NETON(NAME,NSUP,NSTATUS,MINACN,MAXACN) IF (NSTATUS.NE.O) GO TO 999 999 PRINT 998, NSTATUS 998 FORMAT('NSTATUS IS',112) STOP o o Figure 5-3. NETON Statement FORTRAN Example 5-3 DISCONNECTING FROM NETWORK (NETOFF) T h e N E T O F F s t a t e m e n t ( fi g u r e 5 - 4 ) p e r f o r m s t h e following functions: Breaks AIP communication with NIP Causes AIP to finish formatting and transferring i n f o r m a t i o n f o r t h e d e b u g l o g fi l e a n d s t a t i s t i c a l fi l e , i f t h e s e fi l e s a r e b e i n g c o m p i l e d Clears AIP internal tables so that the program can issue another NETON call, if necessary NETWORK BLOCK INPUT/OUTPUT STATEMENTS Input and output on logical connections can be h a n d l e d t h r o u g h u n i fi e d o r f r a g m e n t e d b u f f e r s . Input can be obtained from a connection either by i t s i n d i v i d u a l c o n n e c t i o n n u m b e r, o r a c c o r d i n g t o its membership in a list of connections. AIP statements permit an application program four o p t i o n s f o r i n p u t o r o u t p u t f r o m a s p e c i fi c c o n nection and two options for input from a connection on a list. CALL NETOFF SPECIFIC CONNECTIONS Figure 5-4. NETOFF Statement FORTRAN Call Format The NETOFF statement is used after all processing o f l o g i c a l c o n n e c t i o n a c t i v i t i e s i s fi n i s h e d a n d the program is prepared to end connection with the network. After the NETOFF call is completed, no AIP statement other than NETON, NETREL, NSTORE NFETCH, NETDMB, and NETSETF can be used. The NETOFF call breaks any logical connection still existing between the application program and a device or another application and prevents the network soft ware from attempting to establish any new connec tion. After the NETOFF statement is processed, the application program continues to execute under control of the operating system. An application program should always issue a NETOFF call before terminating. Otherwise, the network software informs consoles or other application programs with which connections exist that the program has failed; passive device connections are disposed of by the network software as if the program had failed. Unless a NETOFF call is com p l e t e d o r N E T R E L i s c a l l e d , t h e d e b u g l o g fi l e compiled during job execution cannot be correctly d i s p o s e d o f . U n l e s s a N E TO F F c a l l i s c o m p l e t e d , t h e s t a t i s t i c a l fi l e c o m p i l e d d u r i n g j o b e x e c u t i o n will not exist. The NETOFF statement can also be used in a reprieval situation. This use is described under Connecting to Network (NETON). T h e f o u r o p t i o n s f o r s p e c i fi c c o n n e c t i o n i n p u t a n d output are as follows: Fetch input to a single, unified buffer (NETGET statement) Fetch input to an array of buffers (NETGETF statement) S e n d o u t p u t f r o m a s i n g l e , u n i fi e d b u f f e r (NETPUT statement) Send output from an array of buffers (NETPUTF statement) Inputing to Single Buffer (NETGET) You can use NETGET to obtain an asynchronous super visory message from application connection number 0. You can also use NETGET to fetch synchronous supervisory messages and network data blocks from application connection numbers other than 0. Synchronous supervisory messages and network data blocks are never queued on logical connection 0. Each NETGET call transfers one data or supervisory message block from the NIP queue for the connection s p e c i fi e d i n th e c a l l . Th e N E TGE T c a l l p l a c es the block header in the application program's block header area and the network block in the application program's text area. The NETGET statement has the format shown in figure 5-5. CALL NETGET(acn,ha,ta,tlmax) Sur^T.rj^^r^fi'pSr'r„ wr.:E£of the i^ — *Transfer one asynchronous supervisory message. ha Figure 5-5. NETGET Statement FORTRAN Call Format (Sheet 1 of 2) 5-4 60499500 R t a A r e t u r n p a r a m e t e r ; a s i n p u t t o t h e c a l l , t h e s y m b o l i c a d d r e s s o f t h e fi r s t w o r d o f t h e b u ff e r •array constituting the text area for the application program. On return from the call, the text area contains the requested block if a block was delivered to the application. The text area identified by ta should be at least tlmax words long. tlmax An input parameter, specifying the maximum length in central memory words of a block the application program can accept. The value declared for tlmax should be less than or equal to the length of the text area identified in the same call; if tlmax is greater than the length of the text area, the block transfer resulting from the NETGET call might overwrite a portion of the program. The maximum value needed for tlmax is a function of the block size used by the connection for input to the program and of the application character type the program has specified for input from the connection. The following ranges are valid: act=1 1 _< tlmax <_ 410 for 60-bit (one per word) transparent characters act=2 1 < tlmax £ 273 for 8-bit (7.5 per word) ASCII characters act=3 1 < tlmax <_ 410 for 8-bit (5 per word) ASCII characters act=4 1 <_ tlmax _< 205 for 6-bit (10 per word) display code characters A tlmax value of 0 can be legally declared but results in an input-block-undeliverable condition; that is, an application block header is returned with a set ibu field, even when an empty block of application block type 2 is queued (a block with a tic value of 0). Figure 5-5. NETGET Statement FORTRAN Call Format (Sheet 2 of 2) If no network block is available from the indicated connection, AIP returns a null block; that is, AIP places a header word with an application block type of zero in the header area, and leaves the text area unchanged from what it contained after any p r e v i o u s t r a n s f e r. The application program indicates the size of its buffer in each NETGET call. If a network block l a r g e r t h a n t h i s s i z e i s q u e u e d f r o m t h e s p e c i fi e d connection, the network block remains queued. AIP copies the header word of the block into the appli cation program'8 block header area, sets the ibu bit of the header to one to indicate the condition, and places the actual length of the queued block in t h e t i c fi e l d o f t h e h e a d e r. T h e a p p l i c a t i o n p r o gram's text area is unchanged from what it contained a f t e r a n y p r e v i o u s t r a n s f e r. To o b t a i n t h e s t i l l queued network block, the program must issue another N E T G E T c a l l i n d i c a t i n g a b u ff e r s i z e s u f fi c i e n t t o accommodate the queued block, or issue a DC/TRU/R asynchronous supervisory message to have the data truncated. (See section 3.) If block truncation i s i n e ffe c t a t t h e t i m e o f t h e N E T G E T c a l l , t h e n the block is delivered with the tru bit set in the header. If the application program's text area is larger than the block transferred by the NETGET call, the portion of the text area after the last word used for the block remains unchanged from what it con t a i n e d a f t e r a n y p r e v i o u s t r a n s f e r. I f t h e t r a n s ferred block d o e s n o t c o m p l e te l y fi l l th e l a s t w o r d used for it, all character positions in the last w o r d u s e d a r e a l t e r e d b y t h e t r a n s f e r. O n l y t h e leftmost character positions of the last word i n c l u d e d i n t h e b l o c k h e a d e r w o r d t i c fi e l d v a l u e contain meaningful data. Figure 5-6 contains two examples of NETGET use. T h e fi r s t o c c u r r e n c e i s i n f e t c h i n g a s y n c h r o n o u s connection-request supervisory messages. Fetching 60499500 R INTEGER TA(26),HA,TLMAX,0VTLMAX DATA HA/0/,TA/20*0/,TLMAX/10/ • • NACN=0 1 CALL NETGET(NACN,HA,TA,TLMAX) IF((NSUP.AND.O"02000000000000000000").EQ.O) 1G0 TO 2 • 0 GO TO 1 2 CONTINUE • • NACN=TERM(IACN) 3 CALL NETGET(NACN,HA,TA,TLMAX) IF(NFETCH(HA,L"ABHABT").EQ.0) GO TO 4 IF(NFETCH(HA,L"ABHIBU").EQ.1) GO TO 5 6 CONTINUE • • GO TO 3 5 0VTLMAX=NFETCH(HA,L"ABHTLC")/7.5 ATEMP=NFETCH(HA,L"ABHTLCM)/7.5 IF(ATEMP.NE.0VTLMAX)0VTLMAX=0VTLMAX + 1 IF(0VTLMAX.GT.26) GO TO 9 CALL NETGET(NACN,HA,TA,OVTLMAX) GO TO 6 4 CONTINUE • • 9 STOP Figure 5-6. NETGET Statement FORTRAN 5 Examples 5-5 continues until no asynchronous messages are reported via the supervisory status word (test of NSUP contents). The second appearance of NETGET is in a loop polling for any messages queued on a device connection; the polling loop continues until a NETGET call returns a null block. The block header word HA is tested after each call to detect the null block, which has an application block type (ABHABT) of zero. The value chosen for TLMAX in this example Is adequate for both a connection-request supervisory message of thirteen 60-bit characters and for a logical line of 72 teletypewriter characters, or for a minimum-sized network block of 100 characters from a longer logical line, with an application character type of 2 used for input. The text area array TA has a dimension of twice TLMAX words, in case the test of ABHIBU fails and a block larger than anticipated must be transferred (third NETGET call). Inputing to Fragmented Buffer Array (NETGETF) You can use NETGETF to obtain an asynchronous supervisory message from application connection n u m b e r 0 . Yo u c a n a l s o u s e N E T G E T F t o f e t c h synchronous supervisory messages and network data blocks from application connection numbers other than 0. Synchronous supervisory messages and network data blocks are never queued on logical connection 0. Each NETGETF call transfers one data or supervisory message block from the NIP queue for the connection specified in the ca l l . Th e N E TGE T c a l l p l a c e s th e block header in the application program's block header area. It divides the block into fragments of whole central memory words and places each fragment in a separately addressed application program text area. The NETGETF statement has the format shown in figure 5-7. The text areas used are defined for AIP by the text area address array identified in the NETGETF call. This text area address array has the format given i n fi g u r e 5 - 8 . The application program indicates the total size of its text area buffers in each NETGETF call through fi e l d s i n t h e t e x t a r e a a d d r e s s a r r a y. I f a b l o c k larger than this total size is queued from the s p e c i fi e d c o n n e c t i o n , t h e b l o c k r e m a i n s q u e u e d . AIP copies the header word of the block into the application program's header area, sets the ibu bit of the header to one to indicate the condition, and places the actual length of the queued block in the t i c fi e l d o f t h e h e a d e r. T h e a p p l i c a t i o n p r o g r a m ' s text areas are unchanged from what they contained a f t e r a n y p r e v i o u s t r a n s f e r. To o b t a i n t h e s t i l l queued message block, the program must issue another NETGETF call, indicating a total text area size s u f fi c i e n t t o a c c o m m o d a t e t h e q u e u e d b l o c k , o r i t must issue a DC/TRU/R supervisory message (see section 3). If the total size of the application program's text areas is larger than the block transferred by the NETGETF call, the portions of the text areas after the last word used for the block remain unchanged from what they contained after any previous trans f e r. I f t h e t r a n s f e r r e d b l o c k d o e s n o t c o m p l e t e l y fi l l t h e l a s t w o r d u s e d f o r i t , a l l c h a r a c t e r positions in the last word used are altered by the t r a n s f e r. O n l y t h e l e f t m o s t c h a r a c t e r p o s i t i o n s o f the last word included in the block header word tic field value contain meaningful data. If no message block is available from the indicated logical connection, AIP returns a null block; that is, a header word with an application block type of zero is placed in the header area, and the text a re a 8 re ma i n u n ch a n g e d fro m w h a t th e y co ntained a f t e r a n y p r e v i o u s t r a n s f e r. CALL NETGETF(acn,ha,na,taa) acn An input parameter, specifying the application connection number of the logical connection from which a block is requested. This parameter can have the values: 0 Transfer one asynchronous supervisory message. minacn £ Transfer one network data block or synchronous supervisory message from the acn _< maxacn logical connection with the indicated acn. ha A return parameter; as input to the call, ha is the symbolic address of the application program's header area. The header area always contains an updated application block header after return from the call. An input parameter, specifying the number of fragments the block should be divided into. The number used should be the same as the number of central memory word entries in the text- area address array identified by the taa parameter; if na is greater than the length of the text area address array, the block transfer resulting from the NETGETF call might overwrite a portion of the program. Parameter na can have values 1 < na < 40. taa An input parameter, specifying the symbolic address of the first word of the one-dimensional array defining the application program's text areas. The array identified by taa has the format shown in figure 5-8. Figure 5-7. NETGETF Statement FORTRAN Call Format 5-6 60499500 R s*3^ 0^\ 59 taa-i 39 unused 30 18 unused size-| address-j • taar unused unused address,na taa^ The symbolic address of the beginning of the array used in the NETGETF call. size^ The length in central memory words of block fragment i. This field can contain the values 1 < size^ < 63. The sum of all na values for sizei defines the size in central memory words of the largest block the call can transfer; this sum is the equivalent of the tlmax parameter in the NETGET statement. The sum of all na values for size can be 0, but this results in an input-block-undeliverable condition; that is, an application block header is returned with a set ibu field, even when an empty block of application block type 2 is queued (a block with a tic value of 0). address.; The relative numeric address of the first word of the application program text area to receive block fragment i. The text area addresses given in this field need not be for contiguous central memory areas. Figure 5-8. NETGETF Statement Text Area Address Array Figure 5-9 contains examples of NETGETF use. The p r o g r a m u s e s t h e fi r s t N E T G E T F c a l l t o f e t c h a block containing an entire screen of data, which AIP fragments into 12 text areas containing one 60-character physical line each. The application character type chosen for input from the logical connection is 4. The program continues to fetch full screen buffers of data until a null block is encountered by the test of ABHABT. The text areas used are 12 separately addressed 6-word arrays (LINE1 through LINE12), which initially contain b l a n k s ( D ATA s t a t e m e n t s ) . T h e t e x t a r e a a d d r e s s array (TAA), contains 12 corresponding words; each word contains the relative address of a text area, obtained with the LOCF function. Although the array TAA has a dimension of 24, only the first 12 entries are expected to be used; therefore, a value o f 1 2 i s a s s i g n e d t o N A i n i t s D ATA s t a t e m e n t . O n l y t h e fi r s t a s s i g n m e n t s t a t e m e n t c o n s t r u c t i n g TAA is shown; because each text area will contain six words of ten 6-bit characters each, a size of 6 is declared in each TAA entry. The second NETGETF call recovers a block not delivered by the original call because the block was larger than expected. This condition is detected b y t h e t e s t o f A B H I B U , a s r e t u r n e d b y t h e fi r s t NETGETF call. The second call is issued with more o f t h e t e x t a r e a a d d r e s s a r r a y s p e c i fi e d , s o t h a t all 24 text areas potentially can be used. Outputing From Single Buffer (NETPUT) You can use NETPUT to send asynchronous supervisory messages to application connection number 0. You can also use NETPUT to send synchronous supervisory messages and network data blocks to application connection numbers other than 0. Synchronous supervisory messages and network data blocks are never sent on logical connection 0. DIMENSION LINE 1(6),...,LINE24(6) INTEGER HA,TAA(24),0VRFLNA,TERM(20) DATA NA/12/,HA/0/,LINE1/6*L",7,...,LINE24/6*L,,,7 TAA(1)=SHIFT(6,30).OR.LOCF (LINED NACN=TERM(IACN) 1 CALL NETGETF(NACN,HA,NA,TAA) IF (NFETCH (HA,L,,ABHABT").EQ.0) GO TO 2 IF(NFETCH(HA,L"ABHIBU").EQ.1) GO TO 5 6 CONTINUE • GO TO 1 0VRFLNA=NFETCH(HA,L"ABHTLC")/60.0 ATEMP=NFETCH(HA,L"ABHTLC")/60.0 IF(ATEMP.NE.OVRFLNA)OVRFLNA=OVRFLNA + 1 IF(0VRFLNA.GT.24) GO TO 9 CALL NETGETF(NACN,HA,OVRFLNA,TAA) GO TO 6 CONTINUE 9 STOP Figure 5-9. NETGETF Statement FORTRAN 5 Examples Each NETPUT call requests AIP to form a block from the information located in the application program's block header and text areas. The calling appli cation program must construct a complete block header, as described in section 2. The text portion of the block can be either a network data block, as yfP?*s 60499500 R 5-7 described in section 2, or a supervisory message block, as described in section 3. The block formed b y A I P i s s e n t t o t h e l o g i c a l c o n n e c t i o n s p e c i fi e d in the block header. The NETPUT statement has the format shown in figure 5-10. CALL NETPUT(ha,ta) ha An input parameter, specifying the symbolic address of the application program's block header area. The block header area must contain a valid block header word. ta An input parameter, specifying the symbolic address of the application program's text area. The text area must contain a valid network data or super visory message block, correctly described by the contents of the block header area. Figure 5-10. NETPUT Statement FORTRAN Call Format To reduce data transfer sometimes buffered by p r o g r a m ' s fi e l d l e n g t h . call therefore does not downline data has been overhead, downline data is AIP within the application Completion of a NETPUT necessarily mean that the transferred to the network. When an application program is not operating in parallel mode, return from a NETPUT call is equiv alent to completion of the call, and the application prog ram can reuse t h e h e a d e r a r e a a n d t e x t a r e a s p e c i fi e d i n t h e c a l l i m m e d i a t e l y. W h e n a n a p p l i cation program is operating in parallel mode, return from the call is not equivalent to completion of the call. Completion of the call must be deter mined through the s u p e r v i s o r y s ta tu s w o r d b its . If completion is not detected when these bits are checked, completion must be forced through calls to NETCHEK. The header area and text area cannot be reused safely until completion occurs. Otherwise, AIP might transfer information on the wrong connec tion or data other than what the application intended to transfer as part of the block. Actual transfer of downline data occurs any time the application program makes an AIP call that requires access to the network software's data structures. Any NETGET or NETGETF call causes downline transfers when the call is not made on connection number 0. Any NETWAIT call with a flag value of one causes downline transfers. A NETGETL or NETGTFL call causes downline transfers when the call is not made on list number 0. Other AIP calls do not necessarily cause Immediate downline trans fers, and downline data buffered by AIP may remain untransferred if the application program is swapped out by the operating system. Downline data buf fered by AIP might also remain untransferred if the application program schedules its own central processor usage with the COMPASS macro RECALL, i n s t e a d o f u s i n g c a l l s t o N E T WA I T. To f o r c e t h e t r a n s f e r o f d o w n l i n e d a t a b u f f e r e d i n A I P, c a l l NETCHEK. (See Worklist Processing in section 4.) 5-8 Figure 5-11 contains an example of NETPUT use. The program has fetched an asynchronous supervisory message and determined that the message is a con nection request from a console. The header area c o n t a i n s t h e c o n n e c t i o n - r e q u e s t b l o c k h e a d e r. Because asynchronous supervisory messages use an application character type of one, the connectionaccepted message being created in the example requires the first NSTORE call to place a 1 in the t i c fi e l d . T h e r e s p o n s e m e s s a g e i s o n l y o n e central memory word, viewed as a single character. T h e n e x t f o u r l i n e s o f c o d e m o d i f y t h e fi r s t w o r d of the connection-request message, contained in t e x t a r e a TA . F i r s t , t h e N S T O R E c a l l s e t s t h e response bit (RB). Next, the NSTORE call places a list number in the connection-accepted message, followed by an application character type of 4. Six-bit display code characters are to be used for input from this connection, an option that is legal for consoles because they use the interactive v i r t u a l t e r m i n a l i n t e r f a c e . F i n a l l y, t h e N E T P U T call sends the completed message on application connection number 0. The incoming block header already contained this number, so the program did not need to supply it while constructing the out going block header. CALL NSTORE(HA,L"ABHTLC",1) CALL NSTORE(TA(1),2LRB,1) CALL NSTORE(TA(1),L"C0NALN",TERM(1,8)) CALL NSTORE(TA(1),LMC0NACT",4) CALL NETPUT(HA,TA) Figure 5-11. NETPUT Statement FORTRAN 5 Example Outputing From Fragmented Buffer Array (NETPUTF) You can use NETPUTF to send asynchronous supervisory messages to application connection number 0. You can also use NETPUTF to send synchronous supervisory messages and network data blocks to application connection numbers other than 0. Synchronous supervisory messages and network data blocks are never sent on logical connection 0. Each NETPUTF call requests AIP to form a message block from the information located In the appli cation program's block header and scattered text areas. The calling application program must con s t r u c t a c o m p l e t e b l o c k h e a d e r, a s d e s c r i b e d i n section 2. The text portion of the block can be either a network data block, as described in section 2, or a supervisory message block, as described in section 3. The block formed by AIP is sent to the l o g i c a l c o n n e c t i o n s p e c i fi e d i n t h e b l o c k h e a d e r. The NETPUTF statement has the format shown in figure 5-12. 60499500 R yli^V equal to the central memory word equivalent of the number of characters specified in the block header. If the block header declares the block to contain fewer central memory words than all the text areas contain, the portion of the text areas beyond the size declared in the block header will not be included in the transferred block. CALL NETPUTF(ha,na,taa) h a A n i n p u t p a r a m e t e r, s p e c i f y i n g t h e symbolic address of the application program's block header area. The block header area must contain a valid block header word. To reduce data transfer sometimes buffered by p r o g r a m ' s fi e l d l e n g t h . call therefore does not downline data has been n a A n i n p u t p a r a m e t e r, s p e c i f y i n g t h e n u m b e r of fragments the block is divided into. The number used should be the same as the number of central memory word entries in the text area address array identified by the taa parameter; if na is greater than the length of the text area address array, the block transferred by the NETPUTF call might contain meaningless information appended to the last meaningful fragment. Parameter na can have the values 1 < na < 40. ~ ~ When an application program is not operating in parallel mode, return from a NETPUTF call is equivalent to completion of the call, and the application program can reuse the header area and t e x t a r e a s s p e c i fi e d i n t h e c a l l i m m e d i a t e l y. W h e n an application program is operating in parallel mode, return from the call is not equivalent to completion of the call. Completion of the call must be determined through the supervisory status word bits. If completion is not detected when these bits are checked, completion must be forced through calls to NETCHEK. The header area and text areas cannot be reused safely until completion occurs. Otherwise, AIP might transfer information on the wrong connection or data other than what the application intended to transfer as part of the block. t a a A n i n p u t p a r a m e t e r, s p e c i f y i n g t h e symbolic address of the first word of the one-dimensional array defining the application program's text areas. The array identified by taa has the format shown in figure 5-13. Figure 5-12. NETPUTF Statement FORTRAN Call Format j P s Actual transfer of downline data occurs any time the application program makes an AIP call that requires access to the network software's data structures. Any NETGET or NETGETF call causes downline transfers when the call is not made on connection number 0. Any NETWAIT call with a flag value of one causes downline transfers. A NETGETL or NETGTFL call causes downline transfers when the call is not made on list number 0. Other AIP calls do not necessarily cause immediate downline trans fers, and downline data buffered by AIP might remain untransferred if the application program is NAM assembles the text portion of the block trans ferred by the call from separately addressed text areas scattered through the application program's fi e l d l e n g t h . T h e a d d r e s s e s a n d s i z e s o f t h e s e text areas are supplied to AIP through a text area address array specified in the NETPUTF call. (The text area address array is shown in figure 5-13.) T h e t o t a l s i z e o f a l l o f t h e t e x t a r e a s i d e n t i fi e d in the text area array should be greater than or 59 taa^ 39 unused overhead, downline data is AIP within the application Completion of a NETPUTF necessarily mean that the transferred to the network. 30 size1 18 0 unused address-] unused addressna • t^na unused sizena taa<| The symbt>lic address of the beginning of the array used in the NETPUTF call. size.j The lengl:h in central memory words of block fragment i. This field can contain the values 1 _< size i < 63. The sum of all na values for size; defines the size in central memory words of tTTe block to transfer; this sum must be less than or equal to 410 centr aI memory words. address.; The numer*ic relative address of the first word of the application program text a rea c o n t a i n i rig block fragment i. The text area addresses given in this field need not be for c o n t i g u o ijs central memory areas. Figure 5-13. NETPUTF Statement Text Area Address Array 60499500 R 5-9 swapped out by the operating system. Downline data buffered by AIP might also remain untransferred if the application program schedules its own central processor usage with the COMPASS macro RECALL, i n s t e a d o f u s i n g c a l l s t o N E T WA I T. To f o r c e t h e t r a n s f e r o f d o w n l i n e d a t a b u f f e r e d i n A I P, c a l l NETCHEK. (See Worklist Processing in section 4.) Figure 5-14 contains an example of NETPUTF use. The program sends a block containing an entire screen of data to an interactive console. AIP assembles the block from text areas containing one logical (and physical) line each. The application character type used for the block is 4. The pro gram uses 12 text areas of separately addressed 7-word arrays (0LINE1 through 0LINE12), containing 6-bit display code characters and 12-bit zero byte t e r m i n a t o r s ( D ATA s t a t e m e n t s ) . T h e t e x t a r e a a d d r e s s a r r a y, O TA A , c o n t a i n s 1 2 c o r r e s p o n d i n g words; each word contains the relative address of a text area, obtained with the LOCF function. Because the array OTAA has a dimension of 12, a value of 12 Is assigned to ONA in its DATA statement. Only the fi r s t a s s i g n m e n t s t a t e m e n t c o n s t r u c t i n g O TA A i s shown. Because each text area contains seven words of ten 6-bit characters each, a size of 7 Is declared in each OTAA entry. CONNECTIONS ON LISTS The two options for input from connections on lists are as follows: Fetch input to a single, unified buffer (NETGETL statement) Fetch input to an array of buffers (NETGTFL statement). Inputing to Single Buffer (NETGETL) Yo u c a n u s e N E T G E T L t o o b t a i n a n a s y n c h r o n o u s supervisory message from application connection number 0. Application connection number 0 is always part of application list number 0. When a NETGETL call specifying input from list 0 is issued, any asynchronous supervisory messages queued for the program are returned before list scanning continues to other connection numbers on list 0. Synchronous supervisory messages and net work data blocks on connection numbers other than zero can also be obtained when their connection numbers have been assigned to list 0. Each NETGETL call causes NAM to select (on a rotating basis) one of the logical connections from a s p e c i fi e d l i s t . N A M o n l y c h o o s e s a c o n n e c t i o n that has network data blocks queued and that has not been turned off by a LST/OFF/R supervisory message. One network data block is transferred from the NIP queue of the selected connection for each call to NETGETL. The NETGETL call places the block header in the application program's header area and the block body in the application's text area. Figure 5-15 shows the format of the NETGETL statement. Each NETGETL statement causes the connection list to be scanned only once. Scanning begins with the connection immediately following the connection from which a block was previously transferred. The fi r s t c o n n e c t i o n o n t h e l i s t i s e x a m i n e d a f t e r t h e last one on the list. Scanning ends when a con nection with a queued input block is found. If no connection has a queued input block, scanning ends with the connection preceding the one at which scanning started. • • DIMENSION 0LINE1(7),...,0LINE12(7) INTEGER HA,0TAA(12),0NA,TERM(20) DATA 0NA/12/,HA/0/,0LINE1/"ABCDEFGHIJ",...,L"12345678",0/,..., 1DATA 0LINE12/"ABCDEFGHIJ",...,L,,12345678",0/ • • 0TAA(1)=SHIFT(6,30).0R.L0CF(0LINE1) • • CALL NSTORE(HA,L"ABHABT",2) CALL NSTORE(HA,L"ABHADR",TERM(IACN) CALL NSTORE(HA,L"ABHABN",1) CALL NSTORE(HA,L"ABHACT",4) CALL NSTORE(HA,L"ABHNFE",1) CALL NSTORE(HA,L"ABHTLC",840) CALL NETPUTF(HA,0NA,0TAA) • • Figure 5-14. NETPUTF Statement FORTRAN 5 Example 5-10 60499500 R CALL NETGETL(aln,ha,ta,tlmax) aln An input parameter, specifying the number of the connection list to be scanned for a queued block. This parameter can have the values: 0 Obtain all asynchronous supervisory messages queued on application connection number 0 first, then any data or synchronous supervisory message blocks queued on other connections on list zero. 1 £ aln £ 63 Obtain one data or synchronous supervisory message block from one connection on the indicated list. ha A return parameter; as input to the call, the symbolic address of the application program's block header area. The header area always contains an updated application block header word after return from the call. ta A return parameter; as input to the call, the symbolic address of the first word of the buffer array constituting the text area for the application program. On return from the call, the text area contains the requested block if a block was available and the text area was large enough. The text area identified by ta should be at least tlmax words long. tlmax An input parameter, specifying the maximum length in central memory words of a block the application program can accept. The value declared for tlmax should be less than or equal to the length of the text area identified in the same call; if tlmax is greater than the length of the text area, the block transfer resulting from the NETGETL call might overwrite a portion of the program. The maximum value needed for tlmax is a function of the block size used by the connection for input to the program and of the application character type the program has specified for input from the connection. The following ranges are valid: act=1 1 <^ tlmax _< 410 for 60-bit (one per word) transparent characters act=2 1 _< tlmax j< 273 for 8-bit (7.5 per word) ASCII characters act=3 1 _< tlmax £410 for 8-bit (5 per word) ASCII characters act=4 1 _< tlmax £ 205 for 6-bit (10 per word) display code characters A tlmax value of 0 can be legally declared but results in an input-block-undeliverable condition; that is, an application block header is returned with an ibu value of 1, even when an empty block of application block type 2 is queued (a block with a tic value of 0). Figure 5-15. NETGETL Statement FORTRAN Call Format If data or supervisory message blocks are not available from any connection on the list, a null block is returned. A header word with an appli cation block type of zero is placed in the header area, and the text area is unchanged from its content after the last block was obtained. Null blocks are not returned from each connection. The application program indicates the size of its buffer in each NETGETL call. If a block larger t h a n t h i s s i z e i s a v a i l a b l e f o r t r a n s f e r, t h e b l o c k remains queued, unless data truncation has been requested. AIP copies the header word of the block into the application program's block header area, sets the ibu bit of the header to one to indicate the condition, and places the actual length of the q u e u e d b l o c k i n t h e t i c fi e l d o f t h e h e a d e r. T h e application program's text area is unchanged from w h a t i t c o n t a i n e d a f t e r a n y p r e v i o u s t r a n s f e r. To obtain the still-queued block, the program must issue a sepa r a t e N E T G E T c a l l , i n d i c a t i n g a b u ff e r size sufficient to accommodate the queued block, or it may request a truncated block using the DC/TRU/R asynchronous supervisory message (see section 3). 60499500 R The connection pointer within the list is incre mented regardless of whether a transfer occurs, so the same connection is not involved in a second NETGETL call. If the application program's text area is larger than the block transferred by the NETGETL call, the portion of the text area after the last word used for the block remains unchanged from what it con t a i n e d a f t e r a n y p r e v i o u s t r a n s f e r. I f t h e t r a n s f e r r e d b l o c k d o e s n o t c o m p l e t e l y fi l l t h e l a s t w o r d used for it, all character positions in the last w o r d u s e d a r e a l t e r e d b y t h e t r a n s f e r. O n l y t h e leftmost character positions of the last word i n c l u d e d i n t h e b l o c k h e a d e r w o r d t i c fi e l d v a l u e contain meaningful data. Figure 5-16 contains an example of NETGETL statement use. The program has assigned all interactive con soles to list 0 when accepting connection with them (code not shown). A NETGETL call is used to periodically poll list 0 for asynchronous super v i s o r y m e s s a g e s a ff e c t i n g n e w o r e x i s t i n g c o n n e c tions, and for interactive input affecting passive 5-11 INTEGER TA(26),HA,TLMAX,OVTLMAX DATA HA/0/,TA/26*0/,TLMAX/13/ • NALN=0 1 CALL NETGETL(NALN,HA,TA,TLMAX) IF(NFETCH(HA,L"ABHABT").EQ.O) GO TO 5 IF(NFETCH(HA,L"ABHABT").NE.3) GO TO 4 CALL SMP(HA,TA,TLMAX) GO TO 1 4 IF(NFETCH(HA,L"ABHIBU").EQ.D GO TO 3 2 CONTINUE GO TO 1 3 OVTLHAX=NFETCH(HA,L"ABHTLCM)/7.5 ATEMP=NFETCH(HA,LMABHTLC")/7.5 IF(ATEMP.NE.OVTLMAX)OVTLMAX=OVTLMAX + 1 IF(OVTLHAX.GT.26) GO TO 9 NACN=NFETCH(HA,L"ABHADR") CALL NETGET(NACN,HA,TA,OVTLMAX) • • GO TO 1 5 CONTINUE • 9 STOP Figure 5-16. NETGETL Statement FORTRAN 5 Example batch connections. The TLMAX value of 13 is adequate for both supervisory messages of appli cation character type 1 and 72-character logical lines or a minimum-sized network block of 100 characters in ASCII (application character type 2) from the interactive consoles. Each time list 0 is polled by the NETGETL call, the block header area HA is tested to determine the block type. If a null block (ABHABT of 0) is found, polling ceases. If a block type of 1 or 2 is found, the block Is processed (code not shown) and polling continues. If a supervisory message (block type of 3) is found, a subroutine called SMP is entered to process the supervisory message and polling of list 0 continues. The NETGET call recovers a block not delivered by the original call because the block was larger than expected. This condition is detected by the test of ABHIBU, as returned by the NETGETL call. The NETGET call is issued with more of the text area buffer available; OVTLMAX can be up to twice TLMAX before the text area is completely filled. I n p u t i n g t o F r a g m e n t e d B u ff e r Array (NETGTFL) Yo u c a n u s e N E T G T F L t o o b t a i n a n a s y n c h ronous supervisory message from application connection number 0. Application connection number 0 is always part of application list number 0. When a NETGTFL call specifying input from list 0 is issued, any asynchronous supervisory messages queued for the program are returned before list scanning continues to other connection numbers on list 0. Synchronous supervisory messages and network data blocks on connection numbers other than zero can be obtained when their connection numbers have been assigned to list 0. Each NETGTFL call causes NAM to select (on a rotating basis) one of the logical connections from a s p e c i fi e d l i s t . N A M o n l y c h o o s e s a c o n n e c t i o n that has blocks queued and has not been turned off by a supervisory message. One block is transferred from the NIP queue of the selected connection for each call to NETGTFL; the block header is placed in the application program's header area and the body is placed in the application's text areas. Figure 5-17 shows the format of the NETGTFL statement. CALL NETGTFL(aln,ha,na,taa) aln An input parameter, specifying the number of the connection list to be scanned for a queued block. This parameter can have the values: 0 Obtain all asynchronous supervisory messages queued on application connection number 0 first, then any data or synchronous supervisory message blocks queued on other connections on list zero. 1 <, aln <_ 63 Obtain one data or synchronous supervisory message block from one connection on the indicated list. ha A return parameter; as input to the call, the symbolic address of the application program's block header area. The header area always contains an updated application block header after return from the call. na An input parameter, specifying the number of fragments the block should be divided into. The number used should be the same as the number of central memory word entries in the text area address array identified by the taa parameter; if na is greater than the* length of the text area address array, the block transfer resulting from the NETGTFL call might overwrite a portion of the program. Parameter na can have the values 1 £ na < 40. taa An input parameter, specifying the symbolic address of the first word of the one-dimensional array defining the application program's text areas. The array identified by taa has the format shown in figure 5-18. Figure 5-17. NETGTFL Statement FORTRAN Call Format 5-12 60499500 R Each NETGTFL statement causes the connection list to be scanned only once. Scanning begins with the connection immediately following the connection from which a block was previously transferred. The fi r s t c o n n e c t i o n o n t h e l i s t i s e x a m i n e d a f t e r t h e last one on the list. Scanning ends when a con nection with a queued input block is found. If no connection has a queued input block, scanning ends with the connection preceding the one at which scanning started. The text areas used are defined for AIP by the text area address array identified in the NETGTFL call. This text area address array has the format shown i n fi g u r e 5 - 1 8 . The application program indicates the total size of its text area buffers in each NETGTFL call through fi e l d s i n t h e t e x t a r e a a d d r e s s a r r a y. I f a b l o c k larger than this total size is queued from the s p e c i fi e d c o n n e c t i o n , t h e b l o c k r e m a i n s q u e u e d , unless truncation is in effect. (See section 3.) AIP copies the header word of the block into the application program's header area, sets the ibu bit of the header to one to indicate the condition, and places the actual length of the queued block in the t i c fi e l d o f t h e h e a d e r. T h e a p p l i c a t i o n p r o g r a m ' s text areas are unchanged from what they contained a f t e r a n y p r e v i o u s t r a n s f e r . To o b t a i n t h e s t i l l queued block, the program must issue a separate N E T G E T F c a l l , i n d i c a t i n g a b u f f e r s i z e s u f fi c i e n t to accommodate the queued block. The program also can request data truncation using the DC/TRU/R asynchronous supervisory message. (See section 3.) The connection pointer within the list is incremented regardless of whether a transfer occurs, so the same connection is not involved in a second NETGTFL call. 59 taa-i 39 If the total size of the application program's text areas is larger than the block transferred by the NETGTFL call, the portions of the text areas after the last word used for the block remain unchanged from what they contained after any previous trans f e r. I f t h e t r a n s f e r r e d b l o c k d o e s n o t c o m p l e t e l y fi l l t h e l a s t w o r d u s e d f o r i t , a l l c h a r a c t e r positions in the last word are altered by the t r a n s f e r. O n l y t h e l e f t m o s t c h a r a c t e r p o s i t i o n s o f the last word indicated by the block header word tic field value contain meaningful data. If data or supervisory message blocks are not available from any connection on the list, a null block is returned. A header word with an appli cation block type of zero is placed in the header area, and the text areas are unchanged from their contents after the last block was obtained. Null (empty) blocks are not returned from each connec tion. Figure 5-19 contains an example of NETGTFL use. The program previously assigned all interactive consoles to list 0 when accepting connection with them (code not shown). A NETGTFL call is used to periodically poll list 0 for asynchronous super visory messages affecting new or existing connec tions, and for interactive input affecting console connections. If the poll is successful (does not return a null block) and returns an asynchronous supervisory message block, subroutine SMP is called to process the message. If the poll returns a network data block header but no block (test of ABHIBU fails), a NETGETF call is issued with a total text area buffer size larger than in the original call; this NETGETF call should successfully retrieve the queued block. 30 18 unused unused address^ unused unused address. b taar taa1 The symbolic address of the beginning of the array used in the NETGTFL call. size; The length in central memory words of block fragment i. This field can contain the values 1 £ size.; < 63. The sum of all na values for size^ defines the size in central memory words of fne largest block the call can transfer; this sum is the equivalent of the tlmax parameter in the NETGETL statement. The sum of all na values for size can be 0, but this r e s u l t s i n a n i n p u t - b l o c k- u n d e l i v e r a b l e c o n d i t i o n ; t h a t i s , a n a p p l i c a t i o n b l o c k header is returned with the ibu field set, even when an empty block of application block type 2 is queued (a block with a tic value of 0). address.; The numeric relative address of the first word of the application program text area to receive block fragment i. The text area addresses given in this field need not be for contiguous central memory areas. Figure 5-18. NETGTFL Statement Text Area Address Array 60499500 R 5-13 DIMENSION LINE1(6),...,LINE24(6) INTEGER HA,TAA(24),OVRFLNA DATA NA/12/,HA/0/,LINE1/6*L'"7,...,LINE24/6*L,,,7 • • TAA(1)=SHIFT(6,30).0R.L0CF(LINE1) • • NALN=0 1 CALL NETGTFL(NALN,HA,NA,TAA) IF(NFETCH(HA,LMABHABT").EQ.O) GO TO 5 IF(NFETCH(HA,L"ABHABT").NE.3) GO TO 4 CALL SMP(HA,NA,TAA) GO TO 1 4 IF (NFETCH (HA,L"ABHIBU").EQ.D GO TO 3 2 CONTINUE • • GO TO 1 3 OVRFLNA=NFETCH(HA,L"ABHTLC")/60.0 ATEMP=NFETCH(HA,L"ABHTLC")/60.0 IF(ATEMP.NE.OVRFLNA)OVRFLNA=OVRFLNA + 1 IF(0VRFLNA.GT.24) GO TO 9 NACN=NFETC H(HA,L"ABHADR") CALL NETGETF(NACN,HA,OVRFLNA,TAA) GO TO 2 5 CONTINUE • • 9 STOP Figure 5-19. NETGTFL Statement FORTRAN 5 Example NAM fragments the block transferred by the NETGTFL or NETGETF call into 12 (NA) or more (OVRFLNA) text a r e a s ( L I N E 1 t h r o u g h L I N E 2 4 ) , i d e n t i fi e d i n t h e 24-entry text area a d d r e s s a r r a y ( TAA) . Ea c h te x t area is intended to hold one 60-character display coded physical line from a full page of input. NAM places each line into six consecutive central memory words. The calculation of OVRFLNA assumes that an application character type of 4 is used for input, but the size of the LINE1 text area is adequate for both application character type 4 lines and the application character type 1 words used for asynchronous supervisory messages. The FORTRAN function LOCF stores the address of each of the text area arrays in TAA, and the TAA entry has a c o r r e s p o n d i n g l e n g t h o f 6 ; o n l y t h e fi r s t TA A assignment statement is shown. PROCESSING CONTROL STATEMENTS The three processing control statements NETWAIT, NETSETP, and NETCHEK cause or reduce processing d e l a y s t o a l t e r t h e a p p l i c a t i o n p r o g r a m ' s e f fi c i e n c y. T h e s e t h r e e s t a t e m e n t s a r e u s e d i n conjunction with the supervisory status word established by the application program in its NETON statement. NETWAIT and NETCHEK can be used by any application program; NETSETP is used only by pro grams performing parallel mode processing, as described in section 4. SUSPENDING PROCESSING (NETWAIT) The NETWAIT statement (figure 5-20) performs the following functions: Allows an application program to make itself a candidate for rollout by the operating system or otherwise suspend its processing Allows the application program to declare a maximum time for processing suspension Allows the application program to delay resump tion of processing until input is available for it on any of its logical connections, or on connection zero Causes the supervisory status word (NETON nsup parameter) for the program to be updated on return from the NETWAIT call CALL NETWAIT(time,flag) time An input parameter, 1 £ time £4095, specifying the number of seconds for which the application program should be suspended. If a value of zero is declared, a default value of one is used; if a value greater than 4095 is declared, a default value of 4095 is used. fl a g An input parameter, specifying the conditions under which processing should be resumed, parameter can have the values: This Return from NETWAIT call (resume processing) when input is available from any connec tion, or when the period declared by the time parameter has elapsed. A minimum time of 1 second is used if input is not available immediately. When a flag value of zero is declared and input is available immediately, the value declared for the time parameter is ignored. Return from NETWAIT call (resume processing) when the period declared by the time parameter has elapsed, regardless of whether input is available from any connection. Also forces buffer output to be transmitted. Figure 5-20. NETWAIT Statement FORTRAN Call Format 5-14 60499500 R - ^ Calls to NETWAIT with nonzero flag values always suspend processing when suspension is possible. C a l l s t o N E T WA I T w i t h z e r o fl a g v a l u e s s u s p e n d processing only when no input is available. MSK1=0"02000000000000000000" CALL NETPUT(HA,TA,TLMAX) ITIME=1 IFLAG=1 CALL NETWAIT(ITIME,IFLAG) IF(NSUP.AND.MSK1.EQ.MSK1) GO TO 1 ITIME=10 IFLAG=0 CALL NETWAIT(ITIME,IFLAG) 1 IACN=0 CALL NETGET(IACN,HA,TA,TLMAX) CALL SMP(HA,TA,TLMAX) • NETWAIT calls with a flag value of zero should only be made after all outstanding asynchronous super visory messages have been fetched by the program. A NETWAIT call with a flag value of zero made while any asynchronous supervisory message remains queued always results in immediate return to the program, regardless of whether any other input is available. Such calls represent unnecessary additional proc essing by AIP and the program and do not cause t r a n s f e r o f w o r k l i s t s t h a t a r e n o t c o m p l e t e l y fi l l e d (effectively delaying output resulting from previous calls to NETPUT or NETPUTF). If NETWAIT is called while the program is operating in parallel mode, parallel mode operation is ignored, and the program is suspended. Parallel mode operation is reinstated when return from the NETWAIT call occurs. You should not issue a call to NETWAIT w h e n i t w o u l d i n te rru p t p a ra l l e l mo d e o p e r a t i o n , u n l e s s a c a l l t o N E T C H E K fi r s t r e t u r n s an indication that all worklist processing is completed. You should include NETWAIT calls in an application program that repeatedly polls the network for input (via NETGET, NETGETL, NETGETF, or NETGTFL calls). I f s u c h p r o g r a m s o m i t f r e q u e n t N E T WA I T c a l l s , severe performance degradation can result; if you perform on-line debugging of such application programs, you should use small time limits for the job while it is in the debugging phase. /$s**y You should use NETWAIT calls as part of the appli cation program's mechanisms to control queuing. For example, the application program must be sure before each NETPUT or NETPUTF call that the call will not cause the logical connection's application block limit to be exceeded. When the limit has been reached, the application program should not output another block until it has received a blockdelivered supervisory message for a block already sent. Because repeated polling for supervisory message input to obtain these acknowledgments can degrade program performance, a NETWAIT call should follow any NETPUT or NETPUTF call that might cause the limit to be reached. The time value declared in the NETWAIT call should be large enough to allow a block-delivered supervisory message to be received before another NETPUT or NETPUTF call occurs. S i m i l a r l y, a n a p p l i c a t i o n p r o g r a m s h o u l d n e v e r enter parallel mode after a NETPUT call unless the program first issues a NETWAIT call. Because AIP d o e s n o t t r a n s f e r w o r k l i s t s p a r t i a l l y fi l l e d b y N E T P U T c a l l s , t h e N E T WA I T c a l l i s n e c e s s a r y t o force transfer of the worklist. (See Worklist Processing in section 4.) If NETWAIT is not called, t h e t i m e b e t w e e n t h e N E T S E T P c a l l a n d t h e fi r s t NETCHEK call is not used for network processing. Figure 5-21 contains examples of NETWAIT statement use. The program sends a series of data message blocks with NETPUT calls, issues a NETWAIT that transfers the worklist and begins block trans mission, and then checks the supervisory status word (NSUP). If no asynchronous supervisory mes sages are queued on return from the first NETWAIT 60499500 R Figure 5-21. NETWAIT Statement FORTRAN 5 Examples call, no block-delivered message can have been received and the NSUP test fails. The program issues a second NETWAIT call specifying delay until input on any connection (including the asynchronous supervisory message connection 0) is queued. CONTROLLING PARALLEL MODE (NETSETP) The NETSETP statement (figure 5-22) begins or ends an application program's parallel mode operation. Parallel mode operation involves worklist process ing and is discussed in detail under both headings in section 5. While in parallel mode, an appli cation program cannot use any AIP statements other than NETOFF or NETCHEK until AIP processing com pletion has been indicated in the supervisory status word. CALL NETSETP(opt ion) opt i on An input parameter, specifying whether parallel mode operation begins or ends after the NETSETP call. This parameter can have the values: =0 Begin parallel mode operation. *0 End parallel mode operation. (This is the default value for application program operation.) Figure 5-22. NETSETP Statement FORTRAN Call Format The supervisory status word used during parallel mode operation is defined by the nsup parameter in the application program's NETON statement. The bit of the supervisory status word concerned with parallel mode processing is updated only while an application program is operating in parallel mode. When an application program is operating in parallel mode, it should not alter the contents of the text area used for a NETPUT or NETPUTF call immediately after that call. The program can normally reuse 5-15 the area as soon as a call to NETWAIT, NETCET, NETGETF, NETGETL, or NETGTFL is completed. The text area used in a NETPUT or NETPUTF call should not be altered until after worklist processing is reported complete; nor should the NETON call status word be tested until then. A call to NETSETP ending parallel mode operation should not be issued until a call to NETCHEK returns an indication that all worklist processing is com pleted. AIP ignores calls to NETSETP that attempt to end parallel mode operation if the application program is not operating in parallel mode. Figure 5-23 contains examples of NETSETP and NETCHEK use. The program attempts to reduce the number of worklist transfers between AIP and NIP to increase i t s e f fi c i e n c y . I t d o e s t h i s w h i l e s e r v i c i n g a batch device on application connection number 2 and transmitting to a console on application connection number 3. 10 88 99 98 3 4 5 6 • • ITLMAX=410 IIACN=3 IBACN=2 I0PT=0 CALL NETSETP(IOPT) DO 99, I = 1, 5, 1 CALL NSTORE(IIHA(I),L"ABHADR",IIACN) CALL NSTORE(IIHA(I),L"ABHABN",I) CALL NETPUT(IIHA(I), ITEXT(20*(I-1))) ITEMP=NSUP.AND.SHIFT(1, 59) IF(ITEMP.EQ.SHIFT(1, 59)) GO TO 99 CALL NETCHEK GO TO 88 CONTINUE ITEMP=NSUP.AND.SHIFT(1, 55) IF(ITEMP.EQ.SHIFT(1, 55)) GO TO 3 ITEMP=NSUP.AND.SHIFT(1, 56) IF(ITEMP.EQ.SHIFT(1, 56)) GO TO 4 ITIME=7 IFLAG=1 CALL NETWAIT(ITIME,IFLAG) GO TO 98 IACN=0 I0PT=1 CALL NETSETP(IOPT) CALL NETGET(IACN, IHA, ITA, ITLMAX) • • I0PT=0 CALL NETSETP(IOPT) CALL NETGEKIIACN, IIHAd), ITEXTd), ITLMAX) CALL NETCHEK ITEMP=NSUP.AND.SHIFT(1, 59) IF(ITEMP.NE.SHIFT(1, 59)) GO TO 5 • • CALL NETCHEK ITEMP=NSUP.AND.SHIFT(1, 59) IFdTEMP.NE.SHIFTd, 59)) GO TO 6 • • GO TO 10 Figure 5-23. NETSETP and NETCHEK Statement FORTRAN 5 Examples 5-16 The program flow shown minimizes worklist transfers by concentrating the console output, instead of interleaving each output line with NETGET calls that might cause worklist transfers by AIP for w o r k l i s t s n o t c o m p l e t e l y fi l l e d . P a r a l l e l m o d e does not expedite this efficiency, but requirements for its use are illustrated in several parts of the code. When the program has sent downline all of the blocks it intends to send to the'console, it tests for upline data or asynchronous supervisory mes sages. If neither is found, NETWAIT rolls the program out for 7 seconds and suspends parallel mode processing temporarily. When asynchronous supervisory messages are found, the program leaves parallel mode processing with a nonzero IOPT parameter in another NETSETP call. The program can then fetch the messages without needing to test NSUP for completion of the NETGET call. When upline data is found, the program makes sure it is in parallel mode with a zero IOPT parameter in a NETSETP call. This call is ignored if it is reached by a path that had already caused parallel mode processing to begin. While in parallel mode, the program fetches any queued input from the con sole. NETCHEK is called and tested for completion after the NETGET call. After the attempt to fetch data from the console is completed (the input dis posed of by code is not shown), a similar attempt (not shown) is made to fetch data from the batch device. When any batch data has been disposed of, the program returns to its output loop for the console (having presumably prepared the output b u f f e r s fi r s t ) . If a system control point job is operating in parallel mode when it loses communication with NIP, all further network input and ouput AIP calls are ignored, but the program is not aborted. The program should check the n bit in the supervisory s t a t u s w o r d ( s e e fi g u r e 5 - 2 ) a f t e r c o m p l e t i o n o f all network input and output calls to determine whether or not it is still communicating with NIP. If a system control point job is not operating in parallel mode when it loses communication with NIP, it is aborted when it makes the next AIP request. T h e o p e r a t i n g s y s t e m a b o r t s a l l n o n s y s t e m control point jobs when NIP aborts, regardless of operating mode. CHECKING COMPLETION OF WORKLIST PROCESSING (NETCHEK) The application program uses the NETCHEK statement ( fi g u r e 5 - 2 4 ) t o p e r f o r m s e v e r a l f u n c t i o n s . E a c h call to NETCHEK: Updates bit 59 of the supervisory status word ( i d e n t i fi e d b y t h e n s u p p a r a m e t e r u s e d i n t h e NETON statement) on return from the call, when the program is in parallel mode Forces AIP to attempt transfer of its current worklist to NIP if the transfer has not yet occurred, if the program is running in either parallel or nonparallel mode 60499500 R CALL NETCHEK Figure 5-24. NETCHEK Statement FORTRAN Call Format It is not necessary to call NETCHEK to cause worklist transfers. Worklist transfers occur normally after all the requirements described in section 4 under Worklist Processing have been met. A NETCHEK call causes an attempt to transfer a worklist in situations that do not meet these criteria. This o p e r a t i o n i s e q u i v a l e n t t o a N E T WA I T e x c e p t t h a t processing is not suspended. By checking the supervisory status word after each NETCHEK call, the application program can determine the most recent state of worklist processing and determine whether additional AIP routine calls can be issued. NETCHEK, NETOFF, and NETWAIT are the only AIP statements that can be used while any worklist processing operation is pending. A call to NETSETP ending parallel mode operation should not be issued until a call to NETCHEK returns an indication that all worklist processing has been completed. If NETON is called during parallel mode operation, NETCHEK should not be called until all worklist p r o c e s s i n g i s r e p o r t e d c o m p l e t e . T h e N E TO N c a l l status word does not contain meaningfuL information until processing for the worklist containing the N E TO N c a l l i s c o m p l e t e . N E T C H E K s h o u l d n o t b e called after a NETOFF call is issued in parallel mode. A NETOFF call ends parallel mode operation by making worklist processing completion status impossible. Wo r k l i s t p r o c e s s i n g i s d e s c r i b e d i n s e c t i o n 4 . T h e supervisory status word is described under the heading Connecting to Network at the beginning of this section. Figure 5-23 contains examples of NETCHEK use. ytf^»\ 60499500 R 5-17 0^%. 0*% CHARACTERISTICS OF AN APPLICATION PROGRAM This section describes the structure and execution of a Network Access Method (NAM) application pro gram. NOTE You cannot execute application pro grams as Transaction Facility tasks. NOS SYSTEM CONTROL POINT FACILITY /0^\ The NOS system control point facility permits the exchange of data between programs running at dif ferent control points. These programs are called: System control point jobs when they are formally defined as subsystems of the operating system User control point jobs when they exchange data with a system control point job System control point jobs (subsystems) can make privileged requests to the operating system and e x e c u t e w i t h a v e r y h i g h p r i o r i t y. N e t w o r k s y s t e m control point jobs such as the Network Interface Program (NIP) usually reside in the operating system l i b r a r y. Application programs accessing the network execute as system control point jobs or user control point j o b s u s i n g t h e s y s t e m c o n t r o l p o i n t f a c i l i t y. S i n c e the code that implements this facility is embedded in the Application Interface Program (AIP), it remains transparent to the application program. Certain aspects of system control point jobs and u s e r c o n t r o l p o i n t j o b s , h o w e v e r, d o a f f e c t a p p l i cation program operation. An application program cannot execute successfully unless the CUCP bit is set in the access word associated with the user name of its job. If the program attempts to access the network and the CUCP bit is not set, the program is aborted with the dayfile messages ILLEGAL USER ACCESS and SYSTEM ABORT, and no error exit processing occurs. Access w o r d b i t s a r e s e t t h r o u g h t h e M O D VA L u t i l i t y, a s described in the NOS System Maintenance reference manual. While connection to the network exists, a network application program always has a minimum system activity count of one. If the application program uses the control point manager system macro call (GETACT), the minimum system activity count appears i n t h e S C A fi e l d o f t h e c a l l . W h e n a n e t w o r k application program ends its connection with the network by a NETOFF call, the system activity count drops to zero. The GETACT macro is described in volume 4 of the NOS reference set. 60499500 R BATCH JOB STRUCTURE A batch application program job using the Network Access Method is structured like any other batch job. A job is a sequence of commands, optionally followed by source programs, object programs, data, or directives. A batch job begins with the job command and ends with an end-of-information indicator. Jobs can consist of either physical card decks or images of card decks. Application program jobs can enter the system in one of two ways: Batch jobs readers at card images direction of direction of on cards are read in through card the central site. Batch jobs of are read from a load tape under the the system console operator or the another job. Remote batch jobs on cards are read in through card readers at remote site terminals. Remote batch job card images are transmitted to form a fi l e a t t h e h o s t c o m p u t e r . A l l r e m o t e b a t c h jobs reach the host computer facilities through the Remote Batch Facility (RBF). Batch jobs have the same structure no matter what t h e i r o r i g i n . R e m o t e b a t c h j o b s d i ff e r f r o m c e n t r a l site batch jobs in that output returns to the terminal and that remote jobs are subject to the limitations of the physical equipment at the remote site. The following information about job decks applies to both card decks and card deck images. T h e fi r s t c a r d o f t h e b a t c h j o b d e c k i s t h e j o b command; the last card has a 6/7/8/9 multiple punch in column 1. Cards with a 7/8/9 or 6/7/9 multiple punch in column 1 divide the deck into a command portion, program portion, and optional data portion. When a job deck is created as card images from a time-sharing terminal, the cEOR and cEOF entries result in the logical equivalent of 7/8/9 and 6/7/9, r e s p e c t i v e l y. I f t h e j o b d e c k i s s u b m i t t e d f r o m a HASP or bisynchronous station through the Remote B a t c h F a c i l i t y, t h e / * E O R n n a n d / * E O I c a r d s r e s u l t in the logical equivalent of 7/8/9 and 6/7/8/9, r e s p e c t i v e l y. H A S P o r b i s y n c h r o n o u s s t a t i o n c a r d readers and card punches support 7/8/9 cards but n o t 6 / 7 / 8 / 9 c a r d s ; 2 0 0 U s e r Te r m i n a l c a r d r e a d e r s do not recognize either /*E0Rnn cards or /*E0I cards. Jobs in the system waiting to begin execution are collectively known as the input queue. Each job enters the system with the user job name specified by the first command in the job deck. The operating system changes this name, based on the job command present, to distinguish it from all others in the system. 6-1 Once a job enters central memory and begins execu tion, the image of the job deck is known as a file by the name of INPUT. During job execution, a file with the name of OUTPUT is generated. When the job completes execution, file OUTPUT becomes part of the output queue. The output queue is the collec tive name for output files remaining in the system when the jobs that generated them have completed execution. As printers, punches, or remote devices become ready, the operating system or remote batch software causes files from the output queue to be p h y s i c a l l y o u t p u t . S u c h fi l e s n o r m a l l y r e t u r n t o the user with the system-generated name of the job that created them. COMMANDS Commands are instructions to the operating system o r i t s l o a d e r. T h e y a r e g r o u p e d t o g e t h e r a t t h e b e g i n n i n g o f a d e c k . C o l l e c t i v e l y, t h e c o m m a n d s form a job stream. Commands execute in the order in which they appear in the job stream, unless that order is modified by the operating system control language. Conse quently, the order of the commands governs the order of other sections in the deck. The user is responsible for structuring the job decks so that each command read from file INPUT End-of-lnformation Card corresponds correctly with the sections of the job deck. The operating system handles each section of t h e j o b d e c k o n l y o n c e , u n l e s s t h e j o b s p e c i fi e s contrary handling. The job command portion of an application program job deck normally contains a USER command as its s e c o n d c a r d . ( S e e fi g u r e 6 - 1 . ) T h e u s e r n a m e specified in this command must have bit 11 (CUCP) of its corresponding access word set, so that the application program can successfully complete calls to system control points. The NOS System Mainte nance reference manual describes the mechanism for setting access word bits. Some installations require a CHARGE command following the user command. Until the program is successfully compiled, the only other required command is a compiler or assembler execution command in the form described in the appropriate reference manual for the product being used. Figure 6-1 illustrates the use of the com piler execution command for FORTRAN 5. If the job uses a compiler, a LIBRARY or LDSET command is needed to satisfy externals from local libraries NETIO or NETIOD. If the job uses COMPASS, the COMPASS command must declare NETTEXT to satisfy AIP externals and to define the symbolic names used for the field access macro utilities NFETCH and NSTORE. (See section 4.) hi Separator Card IL Data Statements n Separator Card Program Statements, Including AIP Calls JL Separator Card /lgo. —/ ldset(lib=netiodT Commands, Including a Compiler or Assembler Call Job Command //FTN5(L0=S/-A) /CHARGE(0059,2934657) /USER(APPL1,PASS,FAM17" RMV3. Figure 6-1. Typical Job Structure for System Input 6-2 60499500 R r JOB IDENTIFICATION PROGRAM CONTENT T h e n e t w o r k s o f t w a r e i d e n t i fi e s a n a p p l i c a t i o n program and issues dayfile messages concerning the program on the basis of the aname parameter used in t h e p r o g r a m ' s N E TO N c a l l . T h e o p e r a t i n g s y s t e m , however, is unaware of this name and issues dayfile messages on the basis of the job name assigned to the program according to the contents of the job's c o m m a n d p o r t i o n . To e n s u r e t h a t a l l d a y fi l e m e s sages concerning the application program can be identified, you should take the following steps when the program is run as a batch job: If the job contains commands to reprieve itself from an abort (RERUN or RESTART), the program portion of the job must issue a NETOFF and a new NETON call in order to continue accessing the network through NAM. Determine the method NOS will use to assign a job name to the application program. When an application program is structured to use overlays, the common blocks used by all AIP routines m u s t r e s i d e i n t h e m a i n ( z e r o - l e v e l ) o v e r l a y. T h e operating system loader places the blocks in the main overlay only if the application program makes at least one call to an AIP routine other than N E T C H E K i n t h e m a i n o v e r l a y. A t a mi n i mu m, th e N E TO N c a l l m u s t t h e r e f o r e b e p l a c e d i n t h e m a i n overlay of the program. D e t e r m i n e t h e fi r s t f o u r c h a r a c t e r s o f t h a t name. PROGRAM EXECUTION THROUGH IAF Inform the host operator of the first characters of the job name corresponding to the application Your application program can be executed from the Interactive Facility in several ways: | - As a SUBMIT command file batch job - As a ROUTE command file batch job Do not thereafter alter the portion of the job commands that determines the job name. A l t e r n a t i v e l y, y o u c a n u s e t h e N O S c o n t r o l p o i n t manager macro GETJN to determine the job name assigned to the application program job during each execution. For the host operator's information, this name can then be entered in the system dayfile with a message indicating its application program name equivale n t . T h i s o p e r a t i o n c a n b e p e r f o r m e d with the NOS system macro MESSAGE. GETJN and MESSAGE are described in volume 4 of the NOS 2 reference set. - As an interactive job - As a detached interactive job (so your terminal can log in to it) The use of SUBMIT and ROUTE is described in volume 3 of the NOS reference set. SUBMIT and ROUTE command file jobs have the same command content requirements as other batch jobs. Figure 6-2 shows the procedure for interactive execution of the sample program RMV2 (chapter 8). Detached interactive job programs have the same program content requirements as batch job programs. Your entries are underlined: Attach direct access source file Compile it /attach,rmv"* /ftn5,i=rmv,lo=0,b=zap -« 0.479 CP SECONDS COMPILATION TIME. /ldset(lib=netiod — LDR>? zap « ESCeJSN: AAYS SYSTEM: BATCH SRU: STATUS: NAM VER 1.5- 2D ESCd— Load it Execute it Bypass the IAF input queue to find out if the job step was successful 4.889 Detach the running (rolled out) application program JOB DETACHED, JSN=AAYS JSN: AAZB, NAMIAF RECOVERABLE JOB(S) JSN UJN S TAT U S TIMEOUT A AY S A A N Y E X E C U T I N G Figure 6-2. Interactive Program Execution Procedure Example (Sheet 1 of 2) 60499500 S 6-3 ENTER GO TO CONTINUE CURRENT JOB, RELIST TO LIST RECOVERABLE JOBS, OR DESIRED JSN: go, ,. Startup a new job so you can switch applications /bye,rmv2 —- Use an IAF application switch command UN=XXXXXXX LOG OFF 12.07.08. JSN=AAZB SRU-S 2.003 IAF CONNECT TIME 00.04.01. RMV2 VER 3 INPUT PLSSHUTD — Respond to RMV2 prompt with command that shuts it down RMV2 CONNECT TIME 00.00.08. JSN: AAZC, NAMIAF-. Connection switch back to IAF is automatic RECOVERABLE JOB(S) J S N U J N S TAT U S T I M E O U T AAYS AANY SCP ROLLED ENTER GO TO CONTINUE CURRENT JOB, RELIST TO LIST RECOVERABLE JOBS, OR DESIRED JSN: aay_s — •Recover the detached application program (has called NETOFF, so this rollout is controlled by IAF) JSN: AAYS SYSTEM: BATCH SRU: 0.034 STATUS: CHARACTER SET: NORMAL MODES: PROMPT ON JOB IN SYSTEM. ENTER 60 TO CONTINUE. go -* ACSR, 1.000UNTS. /enquire,f — Roll it back in Here are all the files NETIOD should create LOCAL FILE INFORMATION. FILENAME LENGTH/PRUS TYPE STATUS INPUT* INPUT OUTPUT ZZZZZDN SUBFILE RMV ZAP ZZZZZSN 1 3 1 34 32 2 IN.* LO. LO. LO. LO. FS BOI EOR WRITE BOI PH.* EOR LO. LO. EOF EOR WRITE TOTAL = 8 ^19$. Figure 6-2. Interactive Program Execution Procedure Example (Sheet 2 of 2) TYPES OF APPLICATION PROGRAMS All application programs should be specified in COMTNAP. When an application is defined also in the local configuration file it can be declared as having one of the following attributes: Disabled Unique identifier Privileged Request startable Have more than one copy on any one host 6-4 Access to an application program can also be con trolled. A program can be: A restricted access or general access appli cation program A mandatory or primary application program These access types are separately established for each connection with the program. The first type is controlled through the user name associated with the connection. The second type is controlled through the terminal device name associated with the connection. 60499500 S DISABLED A disabled application is configured in the network but is not allowed to access the network until the host operator enters an enable command to allow it to be connected. UNIQUE IDENTIFIER A u n i q u e i d e n t i fi e r a p p l i c a t i o n p r o g r a m r e q u i r e s that interactive console user access to it be restricted on the basis of the login parameters used. Only one interactive console with a given combination of family name and user name index can b e c o n n e c t e d w i t h a u n i q u e i d e n t i fi e r a p p l i c a t i o n . NVF rejects a terminal user's request to be con n e c t e d w i t h a u n i q u e i d e n t i fi e r a p p l i c a t i o n i f t h e user logs in with a family name and user name index combination used by a console that is already con nected with the application. NVF tells the terminal u s e r t o t r y a g a i n l a t e r. As an example, the Remote Batch Facility (RBF) r o u t e s i t s o u t p u t fi l e s o n t h e b a s i s o f t h e f a m i l y and user names used when the terminal console logs in. So that output will not be misrouted, RBF is n o r m a l l y c o n fi g u r e d a s a u n i q u e i d e n t i fi e r a p p l i cation program. Thus the family name and user name index combinations of all consoles accessing the program are guaranteed to be unique. PRIVILEGED to access installed application programs must also have the CASF bit set in the access words associated with their user names. This bit must be set for access to the system library. If a privileged application program bit set has not been installed l i b r a r y, i t c a n b e e x e c u t e d b y a type-in that invokes its procedure in used has the form: with the CSOJ in the system host operator fi l e . T h e t y p e - X. BEGIN(,anamep) where the anamep parameter is the name of the p r o c e d u r e fi l e . T h e p r o c e d u r e fi l e m u s t b e a p e r m a n e n t fi l e i n t h e o p e r a t i n g s y s t e m p e r m a n e n t file catalog (stored under the system user name and user index). For the anamep value, you can use a variant of either the program entry point name or the program network application name (NETON state m e n t a n a m e p a r a m e t e r ) , a n d a l l t h r e e i d e n t i fi e r s should be coordinated. CDC-written application p r o g r a m s a r e i n v o k e d t h r o u g h p r o c e d u r e fi l e s f o r which certain naming conventions have been adopted. These conventions appear in the NOS Installation Handbook, described in the preface. Similar conventions could be adopted for site-written application programs. An installed privileged application program with the CSOJ bit set can be executed by a host operator type-in of the form: X.anament. Privileged application programs must have an SSJ= e n t r y p o i n t t o a c c e s s t h e n e t w o r k s u c c e s s f u l l y. They also often have the CSOJ bit set in the access word associated with the user name for the job executing the program code. where the anament parameter is the name of the p r o g r a m ( fi r s t e n t r y p o i n t ) i n s t a l l e d i n t h e l i b r a r y. F o r t h e a n a m e n t v a l u e , y o u c a n u s e a variant of the program network application name (NETON statement aname parameter). The CSOJ bit provides the program with system origin type permission. Jobs with system origin type permission can be executed by host operator type-in. Such jobs usually reside under the operating system user name in the operating system p e r m a n e n t fi l e c a t a l o g o r a r e i n s t a l l e d i n t h e o p e r a t i n g s y s t e m l i b r a r y. A privileged application program with the CSOJ bit set that is not installed can be executed by a system console operator type-in that invokes an i n s t a l l e d p r o c e d u r e fi l e . T h i s t y p e - i n h a s t h e form: Having system origin type permission does not mean that these programs must have a system origin type w h e n e x e c u t e d ; r a t h e r, a p r i v i l e g e d a p p l i c a t i o n program is capable of such execution. where the anamep parameter is the name of the p r o c e d u r e fi l e i n s t a l l e d i n t h e s y s t e m l i b r a r y . For the anamep value you can use a variant of either the program entry point or the program network application name (NETON statement aname p a r a m e t e r ) , a n d a l l t h r e e i d e n t i fi e r s s h o u l d b e c o o r d i n a t e d . A s d e s c r i b e d p r e v i o u s l y, t h e n a m i n g conventions used by CDC for CDC-written application programs should be used as a guide for procedure fi l e s i n v o k i n g s i t e - w r i t t e n a p p l i c a t i o n p r o g r a m s . Nonprivileged application programs can have any origin type permission but do not contain an SSJ= entry point. Origin type permission for such programs does not affect access to the network. T h e p r i m a r y r e a s o n f o r d e fi n i n g a n a p p l i c a t i o n program as privileged is to help ensure network s e c u r i t y. N o n p r i v i l e g e d a p p l i c a t i o n p r o g a m s c a n n o t ru n w i th th e a p p l i c a t i o n p r o g r a m n a m e u s e d f o r a privileged application, even if the privileged application program is not currently running. Application programs usually become privileged when they are installed in the system. An installed application program is one that resides in the o p e r a t i n g s y s t e m l i b r a r y. T h e p r o c e d u r e fi l e u s e d to execute an installed application program must have the CASF bit set in the access word associated w i t h t h e u s e r n a m e i n t h e fi l e . J o b s t h a t a t t e m p t 60499500 S X.anamep. Privileged application programs with the CSOJ bit set can be automatically started when the host's network software is started. This process is described in the NOS Administration reference | manual. Yo u s h o u l d n o t d e fi n e a n a p p l i c a t i o n p r o g r a m a s privileged or install it in the system library until the program has been thoroughly debugged. Programs should be run with batch, remote batch, or detached interactive job origin during the debugging process. 6-5 REQUEST STARTABLE Whenever the application is requested by a terminal user (through the application name in the login process), or by another application (by a CON/ACRQ message), NVF attempts to start the application. The file name equivalent to the name of the appli cation should be made available to NVF through the NVF startup record. (See the NOS Installation Handbook.) HAVE MORE THAN ONE COPY (ON ANY ONE HOST) More than one copy of an application program is allowed to be simultaneously connected to the net w o r k , i f s o s p e c i fi e d i n t h e l o c a l c o n fi g u r a t i o n fi l e . I f s u c h a n a p p l i c a t i o n i s a l s o r e q u e s t startable, then NVF will start up a new copy of an application whenever a connection request for the application comes into the host, and all existing copies already have their maximum number of connections. dependencies are discussed later in this section; these dependencies are primarily requirements for p r o p e r c o n fi g u r a t i o n o f t h e p r o g r a m a n d t h e t e r minals it services. FATAL ERRORS Portions of the Network Access Method issue diagnostic messages for all fatal errors. These messages are described in appendix B. The form used for AIP and QTRM diagnostics depends on the library used to load the routines used during execution. When NETIO is used in the LIBRARY or LDSET command, a single diagnostic message with a reason code is written to the program dayfile before t h e p r o g r a m i s a b o r t e d b y a f a t a l e r r o r. W h e n NETIOD is used, the same diagnostic is issued, but supplementary diagnostics can also be issued before the program aborts. DEBUGGING METHODS RESTRICTED OR GENERAL ACCESS Each user name in the host can be validated to connect to one or any application in the network. This validation is done through MODVAL, which is I described in the NOS Administration reference manual. Two methods are available for debugging the con nection servicing logic of an application program: S u p e r v i s o r y a n d / o r d a t a m e s s a g e fl o w t h r o u g h the program can be traced by optional AIP code; this code creates a log file of such messages. Statistical information on program execution can be gathered for performance adjustment by optional AIP code; this code creates a statis tics file of the program's network use. MANDATORY OR PRIMARY I n t h e l o c a l c o n fi g u r a t i o n fi l e , e a c h t e r m i n a l console can be designated to have a mandatory or a primary application assigned to it. If the appli cation is mandatory, the terminal cannot be logged into any other application regardless of the user n a m e e n t e r e d . I f t h e a p p l i c a t i o n i s p r i m a r y, t h e terminal will automatically be connected to the application on the initial login unless an alternate application name is entered during the login. For subsequent connections, the network will prompt for an application and, if a carriage return is entered, the network will connect the terminal to the primary application. DEBUGGING APPLICATION PROGRAMS Application program job content partially depends on the purpose of the job's execution. If the job is executed for debugging purposes, the debugging method chosen for the program can affect the param e t e r s s p e c i fi e d i n t h e j o b ' s L D S E T o r L I B R A R Y command and thereby affect the AIP code executed at the program's control point. This aspect of execu tion is discussed in the next subsection. Successful execution of an application program depends on several conditions beyond the scope of the program's code. The less obvious of these 6-6 Debug Log File and Associated Utilities T h e o p t i o n a l A I P c o d e t h a t c r e a t e s t h e l o g fi l e gives an application program a means of recording all exchanges between the program and the network. The AIP utility routine NETDBG gives the program a method of selecting exchanges that should be recorded. A running count of the number of mes s a g e s c o p i e d t o t h e d e b u g l o g fi l e i s k e p t i n t h e s u p e r v i s o r y s t a t u s w o r d ( N E TO N n s u p p a r a m e t e r ) . T h i s c o u n t e n a b l e s t h e a p p l i c a t i o n t o d e c i de when to call the AIP utility routine NETREL, which gives an application program a way of releasing, saving, or processing the current information in the debug log file. The AIP utility routine NETSETF gives an application program a way of requesting the opera ting system to flush the input/output buffer for the d e b u g l o g fi l e a u t o m a t i c a l l y , i f t h e a p p l i c a t i o n t e r m i n a t e s a b n o r m a l l y. T h e A I P u t i l i t y r o u t i n e NETLOG allows the application to enter messages into the debug log file. Whether or not the log file is created depends on the system library used to satisfy the application program's externals. AIP code for the program can be loaded from either NETIO or (if the installation elects to install it) from NETIOD. When NETIOD is u s e d , a l l c o d e n e e d e d t o c r e a t e t h e l o g fi l e i s loaded; the options for logging both supervisory messages and network data blocks are automatically 60499500 S t u r n e d o n i n i t i a l l y. B e c a u s e t h i s c o d e c a u s e s additional processing overhead and central memory requirements for the application program's control point, you might want to remove the code after the program is completely debugged. You can remove the code from the job without altering the application program's structure by loading the AIP code from NETIO instead of NETIOD. When NETIO is used, the o n l y p a r t s o f t h e l o g fi l e c o d e l o a d e d a r e do-nothing versions of NETDBG, NETLOG, NETREL, and NETSETF. CALL NETDBG(dbugsup, dbugdat, avail) dbugsup NETDBG Utility When NETIOD is used, the log file is automatically created without application program calls. You can use calls to NETDBG to switch either or both options for message logging off and back on throughout the program. dbugdat The second parameter on the NETREL call gives the maximum number of words in each message to be saved in the ZZZZZDN file. 60499500 R *0 Turn supervisory message logging off. An input parameter that turns the logging of data messages on or off. This parameter can have the values: * 0 Tu r n n e t w o r k d a t a b l o c k Logging off. When network data block logging is turned on, all network data blocks exchanged on any connection between the application program and NAM are logged; block-delivered supervisory messages (FC/ACK/R) are also logged, regard less of the value specified for the dbugsup parameter. Logging occurs whenever a call to NETGET, NETGETL, NETGETF, NETGTFL, NETPUT, or NETPUTF causes a block transfer. This logging continues until a call with a nonzero dbugdat parameter is issued. L o g fi l e c r e a t i o n b e g i n s w h e n t h e a p p l i c a t i o n program successfully completes its NETON call and ends when NETOFF is issued. If the application has not called NETSETF previously and the program f a i l s , t h e o u t p u t b u f f e r u s e d f o r t h e l o g fi l e i s n o t c o m p l e t e l y e m p t i e d i n t o t h e fi l e . I n s u c h a case, the application should reprieve itself and issue a NETOFF call, or a NETREL call, to flush the i n p u t / o u t p u t b u f f e r. The first parameter on the NETREL call is the name o f a fi l e c o n t a i n i n g a j o b c o m m a n d r e c o r d . I f t h e fi l e n a m e s u p p l i e d d o e s n o t c o n f o r m t o t h e N O S operating system file name format, NOS aborts the job when AIP attempts to do input/output on the file. NETREL reads up to 192 central memory words o f t h e n a m e d fi l e , o r u n t i l a l o g i c a l e n d - o f - r e c o r d is encountered. Turn supervisory message logging on. = 0 Tu r n n e t w o r k d a t a b l o c k logging on. NETREL Utility NETREL calls use the same syntax and calling sequences as other AIP calls. (See sections 4 and 5.) Figure 6-4 shows the NETREL utility FORTRAN c a l l s t a t e m e n t f o r m a t . To u s e t h e N E T R E L u t i l i t y, an application must issue an initialization call to N E T R E L w i t h a n o n z e r o fi r s t p a r a m e t e r. T h i s c a l l must be issued before NETON and any NETSETF call in order to set up the ZZZZZDN file correctly. =0 When supervisory message Logging is turned on, all supervisory messages (except block-delivered messages) exchanged on connection 0 between the application program and NAM are log ged. Logging occurs whenever a call to NETGET, NETGETL, NETGETF, NETGTFL, NETPUT, or NETPUTF causes a message t r a n s f e r. T h i s l o g g i n g c o n t i n u e s until a call with a nonzero debugsup parameter is issued. NETDBG calls use the same syntax and calling sequences as other AIP calls. (See sections 4 and 5.) Figure 6-3 shows the NETDBG utility FORTRAN call statement format. NETDBG can only be called after NETON is called and before NETOFF is called. Calls to NETDBG can occur in programs using either NETIO or NETIOD. For example, when a NETDBG call turns either or both supervisory message and net work data block logging on and a status is returned indicating logging is not possible, no error occurs and the option selection is ignored. When the program contains a NETDBG call before NETON to turn b o t h l o g g i n g o p t i o n s o ff a n d a s t a t u s i s r e t u r n e d i n d i c a t i n g l o g g i n g i s p o s s i b l e , a l o g fi l e i s s t i l l created to contain a record of the program's NETON, NETDBG, and NETOFF calls. An input parameter that turns the logging of supervisory messages on or off. This parameter can have the values: avail A return parameter that indicates whether the Logging code portion of AIP was loaded when the program was l o a d e d . On r e tu r n fr o m th e call, this parameter can have the values: =0 Loading occurred from NETIOD and logging is possible. =1 Loading occurred from NETIO and logging is not possible. When a value of 1 is returned, speci fication of 0 for either dbugsup or dbugdat has had no effect but does not cause an error. Figure 6-3. NETDBG Utility FORTRAN Call Statement Format 6-7 CALL NETREL(lfn,msglth,nrewind) An input parameter that names the file containing the job record to be copied to the ZZZZZDN file. This parameter can have the values: lfn =0 The application program job provides its own disposition of the file ZZZZZDN. Only the msglth parameter is proc essed by AIP. * 0 T h e n a m e d fi l e c o n t a i n s a j o b record to dispose of the file ZZZZZDN. The value declared f o r l f n m u s t b e l e f t - j u s t i fi e d with zero fill, and can be one to seven alphabetic or numeric characters in any combination permitted by the NOS operat ing system file name format. msglth nrewind An input parameter that gives the maximum number of words of each mes sage to be saved on the ZZZZZDN file; 0 ^SS\ d e b u g l o g fi l e . I f N E T S E T F i s n o t c a l l e d a n d y o u w a n t a n a p p l i c a t i o n t o fl u s h t h e d e b u g l o g fi l e o n abnormal termination, then the program must reprieve itself and call NETOFF or NETREL. NETSETF needs to be called only once and should be called before NETON is called. NETREL does not clear the flush bit in the FET when it reinitializes the FET. NETLOG Utility NETLOG calls use the same syntax and calling sequences as other AIP calls. (See sections 4 and 5.) Figure 6-6 shows the NETLOG utility FORTRAN call statement format. NETLOG allows an application t o e n t e r m e s s a g e s i n t o t h e d e b u g l o g fi l e . T h e s e messages can be of any size, but large messages degrade the performance of AIP. Messages are copied to the debug log file unchanged. However, they are truncated if the NETREL utility has previously been called and if the message length exceeds the number of central memory words specified as the maximum message length in the NETREL call. The messages can be either formatted or unformatted. CALL NETLOG(address,size,format) address An input parameter that gives the address of the message to be written to the debug log file. size An input parameter that gives the size in central memory words of the message to be written to the debug l o g fi l e . format An input parameter that determines whether the message is formatted or unformatted. This parameter can have the values: NETDMB Utility NETDMB calls use the same syntax and calling sequences as other AIP calls. (See sections 4 and 5.) Figure 6-7 shows the NETDMB utility FORTRAN call statement format. NETDMB allows an application to dump its exchange package and central memory field length into the local dump file ZZZZDMB. The data is in binary format. The file ZZZZDMB must be postprocessed by a binary dump interpreter to allow selection of address range and formatting for print. The dump formatting is done through DSDT, which is described in the NOS 2 Analysis Handbook. A l o g i c a l e n d - o f - r e c o r d i s w r i t t e n t o t h e fi l e ZZZZDMB after each NETDMB call. CALL NETDMB(dumpid,ecs) dumpid An input parameter that is an octal 6 - d i g i t d u m p i d e n t i fi e r n u m b e r. T h e dumpid parameter can have the values 0 <_ dumpid <_ 777777. ecs An input parameter that determines whether the associated extended central storage is also dumped. This parameter can have the values: =0 Do not dump extended central storage *0 Dump the associated extended central storage Figure 6-7. NETDMB Utility FORTRAN Call Statement Format Debug Log File Postprocessor Utility =0 The message is unformatted and will be printed by DLFP in octal, hexadecimal, 6-bit display code characters, and ASCII characters. =1 The message is formatted and will be printed unchanged by DLFP. Figure 6-6. NETLOG Utility FORTRAN Call Statement Format T h e d e b u g l o g fi l e i s a b i n a r y c o m p r e s s e d fi l e ; i t is written using NOS data transfer macros. You can o b t a i n a l i s t i n g o f t h i s fi l e b y r u n n i n g t h e d e b u g l o g fi l e p o s t p r o c e s s o r u t i l i t y w i t h t h e d e s i r e d options. T h e d e b u g l o g fi l e p o s t p r o c e s s o r ( D L F P ) u t i l i t y i s a program that processes the debug log file genera ted by AIP. The general format of the DLFP command is shown in figure 6-8. Examples of DLFP commands are shown in figure 6-9. Formatted messages are stored as 6-bit display code c h a r a c t e r s w i t h z e r o b y t e t e r m i n a t o r s . T h e fi r s t character of the message is used as a carriage control character for the line and is not printed. Formatted messages longer than 136 characters should be stored as separate zero-byte-terminated lines. T h e d e b u g l o g fi l e p o s t p r o c e s s o r a u t o m a t i c a l l y r e w i n d s t h e d e b u g l o g fi l e b e f o r e p o s t p r o c e s s i n g begins. The application programmer needs to rewind t h e fi l e o n l y w h e n D L F P i s n o t t h e fi r s t s o f t w a r e t o a c c e s s t h e fi l e a f t e r p r o g r a m e x e c u t i o n c o m pletes. DLFP prints formatted messages unchanged. DLFP prints unformatted messages the same way it prints network message text (in octal, hexadecimal, display code, and ASCII characters). The debug log file can be copied, made permanent, or otherwise accessed before DLFP begins its post p r o c e s s i n g . S u c h o p e r a t i o n s , h o w e v e r, m u s t n o t a l t e r t h e f o r m o f t h e fi l e u s e d f o r D L F P i n p u t . Yo u c a n n o t c o p y p o r t i o n s o f t h e fi l e a n d s u c c e s s fully run DLFP using the incomplete copy. NETLOG cannot be called before NETON. 60499500 T 6-9 The job command format for DLFP is: DLFP(I=0,B=TAPE) DLFP reads the debug log data from file TAPE. The e n t i r e l o g fi l e i s p r o c e s s e d and written to output. The output goes to the OUTPUT fi l e . DLFP(D,L=SAVE) DLFP reads the debug log data from file ZZZZZDN. DLFP reads the INPUT file looking for directives. If the directives are not correct, DLFP ignores them. The output goes to file SAVE. DLFP(I=DIR,B) DLFP aborts with the fatal error message PARAMETER FORMAT ERROR because there i s n o fi l e a s s o c i a t e d w i t h the B parameter. If the B parameter is specified c o r r e c t l y, D L F P r e a d s fi l e DIR looking for directives. If the directives are not correct, DLFP aborts. DLFP(p1,p2,p3,P4,p5) P^ is any of the following parameters in any order: I=lfn<| Directives comprise the next record on file Ifn-j. 1=0 No directive input. I omitted Directives on file INPUT. L = l f n 2 L i s t o u t p u t o n fi l e l f n 2 . L omitted List output on file OUTPUT. B=lfn3 File lfn* contains the debug log fi l e . B omitted Debug log file is ZZZZZDN. D Discontinue processing current directive record if there are errors in it. Restart with next d i r e c t i v e r e c o r d i f a n y. D omitted Do not ignore directive errors; abort job. N=lfn4 Create new debug log file lfn4 with records selected from lfn* or ZZZZZDN according to direc tives governing record selection f o r t h e l i s t o u t p u t fi l e . I f this option selected, no debug log file data is written on the l i s t o u t p u t fi l e . N omitted No new debug log file is created. File names must comply with the NOS product set format. Figure 6-8. DLFP Command General Format The N option of the DLFP command provides a means for creating a new debug log file that is a subset of an existing debug log file. The new file can be separately processed by a subsequent DLFP command and separate DLFP directives. A n o p t i o n a l d i r e c t i v e fi l e c a n b e s u b m i t t e d t o t h e DLFP to select special supervisory messages or net w o r k d a t a b l o c k s f o r o u t p u t . T h e d i r e c t i v e fi l e can have zero or more directive records. Each directive record is a Z type record, which can contain one or more keywords starting in card image column 1. Keywords allow you to select which supervisory messages or network data blocks are w r i t t e n t o t h e o u t p u t fi l e . M l k e y w o r d s a r e optional and can appear in any order. You can use one or more blanks, or a comma followed by zero or more blanks, to separate the keywords. You can use Figure 6-9. DLFP Command Examples leading blanks. Figure 6-10 shows the general for mat of DLFP directive keywords with examples of them in figure 6-11. Each directive record Initiates an independent s e a r c h . A n e m p t y d i r e c t i v e fi l e o r e m p t y d i r e c t i v e r e c o r d o r 1 = 0 c a u s e s a l l d e b u g l o g fi l e b l o c k s t o be output. Directive records are copied to the o u t p u t l i s t i n g fi l e . D L F P i s s u e s d a y fi l e m e s s a g e s t o i n f o r m u s e r s o f fatal errors or processing completion. Appendix B l i s t s a l l d a y fi l e m e s s a g e s i s s u e d b y D L F P. E r r o r s I or informative messages can be writtento the output file by DLFP. AM messages except NO MESSAGES FOUND are fatal errors and cause the job to be a b o r t e d u n l e s s t h e D o p t i o n w a s s p e c i fi e d o n t h e DLFP command. T h e g e n e r a l f o r m a t o f a l o g fi l e l i s t i n g i s s h o w n i n fi g u r e 6 - 1 2 . ( S e c t i o n 7 i n c l u d e s a s a m p l e output.) NETON and NETOFF calls are logged to record the start and end of NAM interfacing; only successful NETON calls are logged. Each AIP call logged is followed by the octal relative address (in parentheses) from which the call was made. The NETON call log includes the parameter values declared on the statement. The NETDBG call log lists the value declared for dbugsup as 0PT1 and for dbugdat as 0PT2. Calls that transfer super visory messages or blocks are logged with their declared parameters, followed by the block header contents and block text area contents. (All words c o m p r i s i n g a s u p e r v i s o r y m e s s a g e a r e l i s t e d . ) Th e contents of each word are given in hexadecimal, octal, 6-bit display code form, and ASCII-coded form. Each block or message is numbered in the order it was transferred. /^S?v 6-10 60499500 W Keyword! Value B Description Specifies that only upline blocks with the flow control break flag bit (bit brk) set in the application block header are output. BD= yymmdd Specifies that only messages or blocks that were logged on or after this date are output. Messages or blocks before this date are not output, yy is the rightmost two digits of the year, mm is the month, and dd is the day of the month; 00 b y c o p y i n g t h e fi r s t o n e t o O U T P U T a n d e x e c u t i n g t h e p o s t p r o c e s s o r t o \ completely list the contents of the second one. COPY(ZZZZZSN) / Figure 7-1. Command Portion of RMV3 Job 60499500 R 7-1 PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 DO=-LONG/-OT,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5,I=RMV,L=0UTPUT,L0=S/-A. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 1 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 PAGE 1 PROGRAM RMV3 C NAM 1 REFERENCE MANUAL SAMPLE PROGRAM C ECHOS INTERACTIVE CONSOLE OPERATOR INPUT C NOTE THAT THE DEBUG LOG FILE AND STATISTICAL FILE LOCAL NAMES ARE NOT REQUIRED ON THE PROGRAM STATEMENT GIVEN ABOVE. IMPLICIT INTEGER(A-Z) COMMON /RMC0M/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMCOM/CONEND,ROMARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMC0M/NB(20),HA,INSTAK(20),0UTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR NOTE THAT THE TEXT AREAS ARE SEPARATE FOR DATA AND SUPERVISORY MESSAGES. THEIR SIZES ARE CHOSEN FOR THE LARGEST EXPECTED SUPERVISORY MESSAGE,ARBITRARILY SUPPORTING UP TO 314 CHARACTERS OF DEVICE INPUT DATA. COMMON /RMCOM/TA(63),STAK(20),0VRFLHA(8,20),0VRFLTA(63,8,20),US1 COMMON /RMC0M/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC EXTERNAL REPREV,CHKSUM INITIALIZE AND SET CONSTANTS C SET UP LOCAL FILE NAME FOR NETREL CALLS DATA LFN/L"RELJ0B'7 /^Sj^ C FILE RELJOB CONTAINS THE FOLLOWING COMMANDS: RELJOB. USER(APPL1,PASS,FAM1) CHARGE(0059,2934657) DLFP(1=0) THIS IS THE CIRCULAR OUTPUT STACK FOR EACH CONNECTION DATA INSTAK, 0UTSTAK/20*0,20*0/ K IS THE APPLICATION BLOCK NUMBER COUNTER DATA K/20*1/ THESE ARE NSUP WORD FIELD MASKS DATA S/0"02000000000000000000'7 DATA I/0"04000000000000000000"/ DATA MC/0,,00000000007777777777'7 Figure 7-2. Program Portion of RMV3 (Sheet 1 of 24) 7-2 60499500 R PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 2 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 C THESE ARE BREAK-PROCESSING FLAGS DATA INTRCHR,CHANRST,CHANCLR/0,0,0/ C THIS INITIALIZES THE FLOW CONTROL ALGORITHM FOR ALL C POSSIBLE CONNECTIONS DATA ABL,NB,NACN,ACN,ABHIBU,STAK/20*0,20*0,20*0,0,0,20*0/ C PACK MASK FOR CHARACTERS THAT COMPRISE OPERATOR END-CONNECTION C COMMAND FOR NORMAL DISCONNECTION PROCESSING C WHICH IS THE CAPITALIZED COMMAND ENDCN IN 12-BIT BYTES DATA ENDCN/0"01050116010401030116"/ C PACK MASK FOR CHARACTERS THAT COMPRISE OPERATOR SHUTDOWN C COMMAND FOR NORMAL PROGRAM TERMINATION PROCESSING, C WHICH IS THE CAPITALIZED COMMAND SHUTD IN 12-BIT BYTES DATA SHUTD/0"01230110012501240104 '7 C PACK A CONSTANT FOR SUPERVISORY MESSAGE HEADER WORDS DATA SMHDR/0"03000000000004000001"/ C PACK A CONSTANT HEADER WORD FOR DISPLAY CODED OUTPUT C OF BLOCK TYPE 2. NOTE THAT THE NO-FORMAT-EFFECTOR BIT IS NOT SET C BECAUSE ALL OUTPUT TO THE DEVICE GENERATED BY THE PROGRAM CONTAINS C A FORMAT EFFECTOR CHARACTER. DATA DSHDR/0"0200000000Q020000024(7 C NOTE THAT ONLY 10 CHARACTERS OF OUTPUT ARE PERMITTED BY C THE TLC DECLARED, PLUS A ZERO TERMINATOR WORD FOR THE LOGICAL LINE. C PACK A CONSTANT HEADER WORD FOR DISPLAY CODED OUTPUT C OF BLOCK TYPE 1. NOTE THAT THE NO-FORMAT-EFFECTOR BIT IS NOT SET C BECAUSE ALL OUTPUT TO THE DEVICE GENERATED BY THE PROGRAM CONTAINS C A FORMAT EFFECTOR CHARACTER. DATA DSHDR1/0"01000000000020000024"/ C AGAIN, ONLY 10 CHARACTERS ARE PERMITTED, PLUS A TERMINATOR WORD. C CREATE MASK FOR UNIT SEPARATOR INSERTION CODE DATA US,US1/0"00370000000000000000",0,,70370000000000000000,7 Figure 7-2. Program Portion of RMV3 (Sheet 2 of 24) 60499500 R 7-3 PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 PAGE 3 C SET UP REPRIEVAL CODE TO SALVAGE DEBUG AND STATISTICAL FILES CALL RECOVR(REPREV,0"277",L0CF(CHKSUM)) C SET UP ALL OTHER VARIABLES AND CONSTANTS CALL SETUP C ESTABLISH ACCESS TO THE NETWORK AND BEGIN DEBUG LOG C FILE CREATION CALL NETON("RHV2",NSUP,NSTAT,1,20) C TEST FOR ACCESS COMPLETION IF (NSTAT.NE.O) THEN PRINT 100, NSTAT 100 FORMAT (' NSTAT = ',020) STOP 111 END IF C UPDATE NSUP FLAGS, THEN PERFORM CONNECTION ESTABLISHMENT PROCESSING C AND DISPOSE OF OTHER SUPERVISORY MESSAGES RECEIVED. 15 CALL NETWAIT(4095,0) 16 SHUTDWN=0 SYNC=0 CALL LOOKSM (SHUTDWN,L,SYNC) C RETURN FROM FC/ACK/R 17 IF (L.EQ.1) THEN GO TO 9 C RETURN FROM CON/REQ/R ELSE IF (L.EQ.2) THEN GO TO 15 C RETURN FROM FC/INIT/R ELSE IF (L.EQ.3) THEN GO TO 41 C RETURN FROM INTR/USR/R ELSE IF (L.EQ.4) THEN IF(INTRCHR.EQ.O) THEN Figure 7-2. Program Portion of RMV3 (Sheet 3 of 24) 7-4 60499500 R PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 4 2 2 2 2 2 2 2 2 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 GO TO 9 ELSE GO TO 551 END IF C RETURN FROM FC/INA/R ELSE IF (L.EQ.5) THEN GO TO 9 C RETURN FROM CON/CB/R ELSE IF (L.EQ.6) THEN GO TO 9 C RETURN FROM FC/NAK/R ELSE IF (L.EQ.7) THEN GO TO 9 C RETURN FROM ERR/LGL/R ELSE IF (L.EQ.8) THEN GO TO 9 C RETURN FROM HOP/XX/R ELSE IF (L.EQ.9) THEN GO TO 9 C RETURN FROM CON/END/R ELSE IF (L.EQ.10) THEN GO TO 9 C RETURN FROM SHU/INS/R ELSE IF (L.EQ.11) THEN GO TO 554 C RETURN FROM BI/MARK/R ELSE IF (L.EQ.12) THEN GO TO 551 C RETURN FROM BAD BLOCK ELSE Figure 7-2. Program Portion of RMV3 (Sheet 4 of 24) /$fP^* 60499500 R 7-5 PROGRAM RMV3 1 1 1 1 2 2 2 2 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 5 GO TO 777 END IF INITIALIZE CONNECTION BY SENDING OUTPUT 41 LASTBLK=1 SEND IDENTIFYING BANNER AS FIRST OUTPUT AFTER INITIAL CONNECTION SEND=1 HA=DSHDR1 CALL NSTORE(HA,L"ABHADR",ACN) TA(1)="1RMV2 VER3" TA(2)=0 CALL OUTPT (SEND) NOTE THAT ALL CONNECTIONS ARE SERVICED AS FULL-DUPLEX ON THE APPLICATION PROGRAM'S END 40 CALL PROMPT (SEND) LASTBLK=0 39 CALL OUTPT (SEND) IF (SEND .EQ. 0) GO TO 38 IF (STAK(ACN) .EQ. 1) THEN SEND=0 GO TO 39 ELSE IF (LASTBLK.EQ.1) THEN GO TO 40 ELSE GO TO 9 END IF PAUSE TO ALLOW OUTPUT QUEUE TO CLEAR 38 CALL NETWAIT(2,1) SHUTDWN=0 SYNC=0 CALL LOOKSM (SHUTDWN,L,SYNC) IF (L.EQ.1) THEN SEND=0 GO TO 39 ELSE IF (L.EQ.2) THEN IF(INTRCHR.EQ.O) THEN GO TO 9 ELSE GO TO 551 END IF ELSE IF (L.EQ.3) THEN GO TO 41 ELSE IF (L.EQ.4) THEN GO TO 38 ELSE IF (L.EQ.5) THEN GO TO 9 i^^jV Figure 7-2. Program Portion of RMV3 (Sheet 5 of 24) 7-6 60499500 R PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11-3€1.17 PAGE 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 ELSE IF (L.EQ.6) THEN GO TO 15 ELSE IF (L.EQ.7) THEN GO TO 9 ELSE IF (L.EQ.8) THEN GO TO 9 ELSE IF (L.EQ.9) THEN GO TO 9 ELSE IF (L.EQ.10) THEN GO TO 15 ELSE IF (L.EQ.11) THEN GO TO 554 ELSE IF (L.EQ.12) THEN GO TO 551 ELSE GO TO 38 END IF PAUSE FOR INPUT DATA OR A SUPERVISORY MESSAGE 9 CALL NETWAIT(4095,0) TEST FOR QUEUED MESSAGES OR DATA BLOCKS 777 IF((NSUP.AND.S).NE.O) GO TO 16 FETCH QUEUED INPUT FROM A DEVICE ALN=1 CALL NETGETL(ALN,HA,TA,10) UNPACK THE BLOCK HEADER FOR THE DELIVERED INPUT BLOCK 778 ABT=NFETCH(HA,L"ABHABT") ACT=NFETCH(HA,L"ABHACT") ACN=NFETCH(HA,L"ABHADR") ABHXPT=NFETCH(HA,L"ABHXPT") ABHTRU=NFETCH(HA,L"ABHTRU") ABHCAN=NFETCH(HA,L"ABHCAN") ABHIBU=NFETCH(HA,L"ABHIBU") TLC=NFETCH (HA,L,,ABHTLC") BRANCH TO PROCESS DATA BLOCK OR SYNCHRONOUS SUPERVISORY MESSAGE IF (ABT.EQ.3) THEN SYNC=1 CALL LOOKSM (SHUTDWN,L,SYNC) GO TO 17 END IF MAKE ANOTHER ATTEMPT TO FETCH QUEUED BLOCK Figure 7-2. Program Portion of RMV3 (Sheet 6 of 24) 60499500 R 7-7 PROGRAM RMV3 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 1 341 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 PAGE 7 IF (ABT.EQ.0.AND.ABHIBU.EQ.1) CALL NETGET(ACN,HA,TA,63) IF (ABT.EQ.0.AND.ABHIBU.EQ.1) GO TO 778 IF (ABT.EQ.0.AND.ABHIBU.NE.1) GO TO 9 TEST FOR THROW-AWAY INPUT IF(ABHCAN.EQ.I) GO TO 40 TEST FOR TYPE-IN OF ENDCN COMMAND IF(TAd).EQ.ENDCN) GO TO 444 TEST FOR TYPE-IN OF SHUTD COMMAND IF(TAd).EQ.SHUTD) GO TO 666 PROCESS ECHOABLE TEXT CALL PACK (SEND) GO TO 39 PROCESS USER BREAKS 551 IF((CHANCLR.EQ.1).AND.(CHANRST.EQ.D) THEN TELL THE DEVICE OPERATOR WHAT HAPPENED IF (INTRCHR.EQ.3) TA(1)=" BREAK 1 " IF (INTRCHR.EQ.4) TA(1)=" BREAK 2 " HA=DSHDR1 TA(2)=0 CALL NSTORE(HA,L"ABHADR",ACN) LASTBLK=1 SEND=1 CALL OUTPT(SEND) CHANCLR=CHANRST=INTRCHR=0 GO TO 40 ELSE GO TO 9 END IF DISCONNECT THIS TERMINAL DEVICE 444 SMTA(1)=SMTA(2)=0 CALL NSTORE(SMTA,L"PFCSFC",CONEND) CALL NSTORE(SMTA,L"RC",0) PASS CONNECTION DIRECTLY TO IAF WITHOUT DIALOG Figure 7-2. Program Portion of RMV3 (Sheet 7 of 24) ^S 7-8 60499500 R P R O G R A M R M V 3 7 4 / 7 4 O P T = 0 , R O U N D = A / S / M / - D , - D S F T N 5 . 1 + 5 9 9 8 3 / 0 8 / 0 5 . 11 . 3 8 . 1 7 PA G E 8 398 399 400 401 CALL NSTORE ( S M TA , L , , C O N A N M " , R " I A F SMHA=SMHDR + 0**1" CALL N S TO R E ( S M TA , L H C O N A C N " , A C N ) ") 402 NACN(ACN)=0 4 0 3 C A L L N E T P U T ( S M H A , S M TA ) 404 60 TO 9 405 406 666 CALL SHUTDN 407 408 409 554 STOP 410 END Figure 7-2. Program Portion of RMV3 (Sheet 8 of 24) 60499500 R 7-9 SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 DO=- LONG/-OT,,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5 ,I=RMV,L=OUTPUT,LO=S/-A. 1 2 3 4 5 6 1 2 2 2 2 2 2 2 2 2 2 2 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 PAGE 1 SUBROUTINE LOOKSM (SHUTDWN,L,SYNC) C PROCESS INCOMING SUPERVISORY MESSAGES IMPLICIT INTEGER (A-Z) COMMON /RMCOM/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMCOM/CONEND,ROMARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMCOM/NB(20),HA,INSTAK(20),OUTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR COMMON /RMC0M/TA(63),STAK(20),OVRFLHA(8,20),OVRFLTA(63,8,20),US1 COMMON /RMCOM/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC PROCESS SYNCHRONOUS SUPERVISORY MESSAGES IF (SYNC.EQ.1) THEN SMHA=HA DO 2 1=1,63 SMTA(I)=TA(I) 2 CONTINUE GO TO 1 ELSE GO TO 3 END IF WAIT FOR AN ASYNCHRONOUS SUPERVISORY MESSAGE IF NECESSARY 3 IF ((NSUP.AND.S).EQ.O) THEN IF(((NSUP.AND.I).EQ.O).AND.(SHUTDWN.EQ.O)) THEN CALL NETWAIT(4095,0) RETURN TO FETCH INPUT DATA RETURN ELSE L=13 RETURN END IF END IF FETCH AN ASYNCHRONOUS SUPERVISORY MESSAGE FROM ACN=0 ON LIST ZERO ALN=0 CALL NETGETL(ALN,SMHA,SMTA,63) UNPACK THE MESSAGE IDENTIFICATION AND BRANCH ON THE TYPE Figure 7-2. Program Portion of RMV3 (Sheet 9 of 24) 7-10 60499500 SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 2 i ^ ^ N 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 1 PFCSFC=NFETCH(SMTA,L"PFCSFC") PFC=NFETCH(SMTA,L"PFC") C NOTE THAT THIS CODE EXITS WITH THE L VALUE SET SO THAT IT CAN BE C USED FOR BRANCHING IN THE MAIN PROGRAM ON RETURN FROM LOOKSM IF (PFCSFC.EQ.SM(D) THEN L=1 GO TO 10 ELSE IF (PFCSFC.EQ.SM(2)) THEN L=2 GO TO 20 ELSE IF (PFCSFC.EQ.SM(3)) THEN L=3 GO TO 30 ELSE IF (PFCSFC.EQ.SM(4)) THEN L=4 GO TO 50 ELSE IF (PFCSFC.EQ.SM(5)) THEN L=5 GO TO 60 ELSE IF (PFCSFC.EQ.SM(6)) THEN L=6 GO TO 70 ELSE IF (PFCSFC.EQ.SM(7)) THEN L=7 GO TO 80 ELSE IF (PFCSFC.EQ.SM(8)) THEN L=8 GO TO 90 ELSE IF (PFCSFC.EQ.SM(9)) THEN L=9 DO 9 M=1,7 IF(PFCSFC.EQ.SSM(M))G0T0(11,21,31,41,51,61,71),M 9 CONTINUE ELSE IF (PFCSFC.EQ.SMdO)) THEN L=10 GO TO 110 ELSE IF (PFCSFC.EQ.SM(H)) THEN L=11 GO TO 120 ELSE IF (PFCSFC.EQ.SM(12)) THEN L=12 GO TO 130 C TEST FOR END OF MESSAGE BRANCHING TABLE ELSE L=13 END IF C PROCESS UNRECOGNIZED SUPERVISORY MESSAGE CODE Figure 7-2. Program Portion of RMV3 (Sheet 10 of 24) 60499500 R 7-11 /*^^5k SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 1 1 1 1 1 1 1 1 1 113 114 115 116 11 7 11 8 11 9 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 PAGE 3 IF (SM(L).EQ.999) THEN C ISSUE DIAGNOSTIC MESSAGE TO OUTPUT FILE PRINT 1000, SMHA,SMTA 1000 FORMAT (' COULD NOT FIND SM IN TABLE OF SUPPORTED CODES1, * / / ' H A = ' , 0 2 0 , / ' TA = V 6 3 ( 1 X , 0 2 0 / ) ) END IF C TRY AGAIN GO TO 3 C PROCESS FC/ACK/R SUPERVISORY MESSAGE 10 ACN=NFETCH(SMTA,L"FCACN") IABN(ACN)=NFETCH(SMTA,L,,FCABN") C UPDATE FLOW CONTROL ALGORITHM NB(ACN)=NB(ACN) - 1 RETURN C PROCESS CON/REQ/R SUPERVISORY MESSAGE C UNPACK MESSAGE AND USE CONTENTS TO SET UP CONNECTION C FLOW CONTROL ALGORITHM 20 ACN=NFETCH(SMTA,L"CONACN") ABL(ACN)=NFETCH(SMTA,L"CONABL") DT=NFETCH(SMTA,L"CONDT") NB(ACN)=0 C PACK CON/REQ/N OR CON/REQ/A MESSAGE SMTA(1)=0 CALL NSTORE (SMTA^'PFCSFC'^U'CONREQ") CALL NSTORE(SMTA,LMCONACN",ACN) C SET RESPONSE BIT TO ACCEPT OR REJECT CONNECTION IF (DT.EQ.O) CALL NSTORE (SMTA,L"RB",1) IF (DT.NE.O) CALL NSTORE (SMTA,L"EBM,1) C INPUT MUST BE ASCII IN 12-BIT BYTES CALL NSTORE(SMTA,L"CONACT",3) C ASSIGN ALL INTERACTIVE CONSOLES TO LIST 1 CALL NSTORE(SMTA,L"C0NALN",1) SMHA=SMHDR Figure 7-2. Program Portion of RMV3 (Sheet 11 of 24) 7-12 60499500 R SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05.11.38.17 PAGE 4 170 171 172 173 174 175 C SEND THE CONNECTION-ACCEPTED OR CONNECTION-REJECTED SUPERVISORY MESSAGE CALL NETPUT(SMHA,SMTA) RETURN 176 177 178 C PROCESS FC/INIT/R SUPERVISORY MESSAGE 179 C SET THE RESPONSE BIT TO INDICATE READY FOR C TRANSMISSION TO BEGIN 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 30 CALL NSTORE(SMTA,L"RB",1) C DETERMINE LOGICAL CONNECTION INVOLVED AND UPDATE C CONNECTION TABLE ACN=NFETCH(SMTA,L"FCACN") NACN(ACN)=1 SMHA=SMHDR IABN(ACN)=ABN(ACN)=0 C SEND THE CONNECTION-INITIALIZED MESSAGE CALL NETPUT(SMHA,SMTA) RETURN C PROCESS INTR/USR/R SUPERVISORY MESSAGE 50 ACN=NFETCH(SMTA,LnINTRACN") INTRCHR=NFETCH(SMTA,LMINTRCHR") C PACK RESPONSE MESSAGE AND CLEAR FLOW CONTROL PARAMETERS SMTA(1)=0 SMHA=SMHDR CALL NSTORE (SMTA,L"PFCSFC",INTRRSP) CALL NSTORE (SMTA,L"INTRACN",ACN) CALL NETPUT (SMHA,SMTA) C IF THIS IS A USER BREAK, CLEAR THE OUTPUT QUEUE IF (UNTRCHR.EQ.3).0R.(INTRCHR.EQ.4)) THEN CHANRST=1 INSTAK(ACN)=OUTSTAK(ACN)=STAK(ACN)=0 END IF C TELL THE DEVICE OPERATOR WHAT HAPPENED IF ((INTRCHR.NE.3).AND.(INTRCHR.NE.4)) THEN TA(1)=" BYPASSED " HA=DSHDR1 TA(2)=0 Figure 7-2. Program Portion of RMV3 (Sheet 12 of 24) 60499500 R 7-13 S U B R O U T I N E L O O K S M 7 4 / 7 4 O P T = 0 , R O U N D = A / S / M / - D , - D S F T N 5 . 1 + 5 9 9 8 3 / 0 8 / 0 5 . 11 . 3 8 . 1 7 PA G E 5 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 CALL NSTORE(HA,L"ABHADR",ACN) SEND=1 LASTBLK=1 CALL OUTPT (SEND) CALL PROMPT(SEND) LASTBLK=0 CALL OUTPT(SEND) INTRCHR=0 RETURN END IF RETURN C PROCESS FC/INACT/R SUPERVISORY MESSAGE C UPDATE CONNECTION TABLE 60 ACN=NFETCH(SMTA,L"FCACN") NACN(ACN) = 0 HA=DSHDR CALL NSTORE(HA,L"ABHADR",ACN) C OUTPUT DISCONNECTION INDICATOR TO POSSIBLE OPERATOR TA(1>=" TIME OUT " TA ( 2 ) = 0 C NOTE THAT RMV2 DOES NOT WAIT FOR AN FC/ACK/R CORRESPONDING TO C THIS OUTPUT MESSAGE. AN ERR/LGL/R MESSAGE WILL EVENTUALLY C BE CAUSED BY THE CONNECTION TERMINATION PROCESSING CODE, C CAUSING RMV2 TO NETOFF WITHOUT DEVICE OPERATOR C OR HOST OPERATOR ACTION BEING REQUIRED. INSTAK(ACN)=OUTSTAK(ACN)=STAK(ACN)=0 SEND=1 LASTBLK=0 CALL OUTPT (SEND) C PACK AND SEND CONNECTION-END REQUEST MESSAGE SMTA(1)=0 CALL NSTORE(SMTA,L"PFCSFC",CONEND) CALL NSTORE(SMTA,L"CONACN",ACN) SMTA(2)=0 SMHA=SMHDR CALL NETPUT (SMHA,SMTA) RETURN C PROCESS CON/CB/R SUPERVISORY MESSAGE 70 ACN=NFETCH(SMTA,LHCONACN") Figure 7-2. Program Portion of RMV3 (Sheet 13 of 24) ^tf^^V 7-14 60499500 R SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 6 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 PRINT 75,ACN 75 FORMAT(' CONNECTION BROKEN, ACN = ',13) C FETCH ALL OUTSTANDING INPUT BLOCKS UNTIL A NULL C BLOCK IS RECEIVED 73 CALL NETGET(ACN,HA,TA,63) IF (NFETCH(HA,L"ABHABT").EQ.O) GO TO 72 DETERMINE WHETHER THIS IS A NORMAL SHUTD SEQUENCE FETCHED OUT OF SYNCHRONIZATION. IF SO, USE THE ERR/LGL/R LOGIC TO SHUT DOWN. IF(TA(1).EQ.SHUTD) GO TO 76 GO TO 73 C CLEAN UP CONNECTION TABLE ENTRY AND AIP TABLES 72 CALL NSTORE(SMTA,L"CONACN",ACN) CALL NSTORE(SMTA,L"RC",0) CALL NSTORE(SMTA,L"PFCSFC",CONEND) SMHA=SMHDR NACN(ACN)=0 CALL NETPUT(SMHA,SMTA) RETURN C PROCESS FC/NAK/R SUPERVISORY MESSAGE 80 ACN=NFETCH(SMTA,L"FCACN") ABN(ACN)=NFETCH(SMTA,L"FCABN") PRINT 1015,ACN,ABN(ACN) 1015 FORMAT(' ACN = ',16,' ABN = ',110," NOT DELIVERED') RETURN C PROCESS CON/END/N SUPERVISORY MESSAGE C PROCESSING TREATS THE MESSAGE AS ADVISORY IN ALL CASES. 110 MSGLTH=410 NREWIND=0 IF((NSUP.AND.MC).GT.255) CALL NETREL(LFN,MSGLTH,NREWIND) RETURN C PROCESS ERR/LGL/R SUPERVISORY MESSAGE, C WRITE MESSAGE TO OUTPUT FILE FOR ANALYSIS, THEN SHUT C DOWN OPERATIONS 90 PRINT 1001,SMHA,SMTA 1001 FORMAT (1X,"HA = ",020,/1X,"TA = ",/1X,020,1X,020/,1X,020) Figure 7-2. Program Portion of RMV3 (Sheet 14 of 24) z#^\ 60499500 R 7-15 SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 7 1 1 1 1 1 1 1 1 1 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 76 SMTA(1)=SMTA(2)=0 CALL NSTORE(SMTA,L"PFCSFC",CONEND) CALL NSTORE(SMTA,L"RC",0) SMHA=SMHDR DO 333 11=1,20,1 IF (NACN(II).EQ.D THEN CALL NSTORE (SMTA,L"CONACN",II) CALL NETPUT(SMHA,SMTA) UPDATE CONNECTION TABLE NACN(II)=0 END IF 333 CONTINUE CALL NETOFF STOP 247 PROCESS HOST OPERATOR TURN-DEBUGGING-ON COMMAND 11 CONTINUE RETURN PROCESS HOST OPERATOR TURN-DEBUGGING-OFF COMMAND 21 CONTINUE RETURN PROCESS HOST OPERATOR DUMP-FIELD-LENGTH COMMAND 31 DUMPID=1 ECS=1 CALL NETDMB (DUMPID,ECS) RETURN PROCESS HOST OPERATOR STOP-LOGGING COMMAND 41 DBUGSUP=1 DUBDAT=1 CALL NETDBG (DBUGSUP,DBUGDAT,AVAIL) RETURN PROCESS HOST OPERATOR START-LOGGING COMMAND 51 DBUGSUP=0 DBUGDAT=0 CALL NETDBG (DBUGSUP,DBUGDAT,AVAIL) Figure 7-2. Program Portion of RMV3 (Sheet 15 of 24) 7-16 60499500 R SUBROUTINE LOOKSM 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 8 / ^ S 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 RETURN C PROCESS HOST OPERATOR RELEASE-LOG-FILE COMMAND 61 MSGLTH=410 NREWIND=0 CALL NETREL (LFN,MSGLTH,NREWIND) RETURN C PROCESS HOST OPERATOR RESTART-STATISTICS COMMAND 71 0N0FF=O CALL NETSTC (ONOFF,AVAIL) RETURN 417 r 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 /|P^\ 439 440 441 442 443 444 445 446 447 448 449 450 451 452 C PROCESS THE BIMARK SYNCHRONOUS SUPERVISORY MESSAGE •130 HA=SMHDR TA(1)=0 CALL NSTORE (HA,L"ABHADR",ACN) CALL NSTORE(HA,L"ABHACT",2) CALL NSTORE(HA,L"ABHTLCM,2) CALL NSTORE(TA(1),L"PFCSFC",R0MARK) CALL NETPUT (HA,TA(D) CHANCLR=1 RETURN C PROCESS SHUT/INSD/R SUPERVISORY MESSAGE, THEN C SHUTDOWN OPERATIONS C DETERMINE TYPE OF SHUTDOWN 120 IBIT=NFETCH(SMTA,L"SHUTF") C IF THIS IS A FORCED SHUTDOWN, STOP NOW I F ( I B I T. E Q . 1 ) T H E N CALL NETOFF STOP 313 END IF C SHUTDOWN GRACEFULLY IF TIME PERMITS BY C DISCONNECTING ALL TERMINAL DEVICES CALL SHUTDN END Figure 7-2. Program Portion of RMV3 (Sheet 16 of 24) /$P^\ 60499500 R 7-17 SUBROUTINE OUTPT 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 D0=- LONG/ -01 ,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5 ,I=RMV,L=OUTPUT,LO=S/-A. 1 2 3 4 5 6 1 1 1 1 2 2 2 2 2 2 2 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5 1 52 53 54 55 PAGE 1 SUBROUTINE OUTPT (SEND) C OUTPUT ONE DATA BLOCK IMPLICIT INTEGER (A-Z) COMMON /RMC0M/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMC0M/C0NEND,R0MARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMCOM/NB(20),HA,INSTAK(20),OUTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR COMMON /RMCOM/TA(63),STAK(20),OVRFLHA(8,20),0VRFLTA(63,8,20),US1 COMMON /RMC0M/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC IS THERE DATA IN THE MAIN OUTPUT BUFFER? IF (SEND.EQ.1) THEN IF SO, IS THERE SOMETHING ELSE TO SEND FIRST? IF (STAK(ACN) .EQ. 1) THEN IF SO, ADD NEW OUTPUT TO STACK GO TO 1 ELSE IF NOT, TEST IF NEW OUTPUT CAN BE SENT GO TO 9 END IF ELSE IF NOT, TEST IF DATA NEEDS TO BE SENT FROM THE STACK GO TO 8 END IF IS THERE DATA IN THE STACK? IF (STAK(ACN) .EQ. 0) THEN IF NOT, EXIT ELSE RETURN IF SO, TEST IF IT CAN BE SENT GO TO 3 END IF CAN DATA BE SENT? Figure 7-2. Program Portion of RMV3 (Sheet 17 of 24) 7-18 60499500 R S U B R O U T I N E O U T P T 7 4 / 7 4 O P T = 0 , R O U N D = A / S / M / - D , - D S F T N 5 . 1 + 5 9 9 8 3 / 0 8 / 0 5 . 11 . 3 8 . 1 7 PA G E 2 56 57 9 IF (((NB(ACN).GE.ABL(ACN)).AND.(CHANCLR.EQ.O)).AND. 5 8 + ( C H A N R S T. E Q . O ) ) T H E N 59 6 0 C I F N O T, S TA C K I T 61 6 2 S TA K ( A C N ) = 0 U T S TA K ( A C N ) = I N S TA K ( A C N ) = 1 6 3 O V R F L H A ( I N S TA K ( A C N ) , A C N ) = H A 64 DO 888 JJ=1, 63, 1 6 5 8 8 8 O V R F LTA ( J J , I N S TA K ( A C N ) , A C N ) = TA ( J J ) 66 RETURN 67 68 C IF SO, DO IT 69 70 ELSE 71 72 C UPDATE FLOW CONTROL ALGORITHM 73 74 ABN(ACN)=ACN*64 + K(ACN) 75 K(ACN)=K(ACN) + 1 76 NB(ACN)=NB(ACN) + 1 77 CALL NSTORE(HA,L"ABHABN',,ABN(ACN)) 78 CALL N E T P U T ( H A , TA ) 79 RETURN 80 END IF 81 82 83 C IS THERE ROOM FOR MORE DATA IN THE STACK? 84 1 2 2 2 1 1 2 2 2 1 1 1 1 8 5 C I F N O T, T H R O W A W AY N E W O U T P U T 86 8 7 1 I F ( I N S TA K ( A C N ) . G T. O U T S TA K ( A C N ) ) 88 IF ( ( I N S TA K ( A C N ) O U T S TA K ( A C N ) ) 89 SEND=0 90 RETURN 91 END IF 92 ELSE 93 IF ( ( O U T S TA K ( A C N ) I N S TA K ( A C N ) ) 94 SEND=0 95 RETURN 96 END IF 97 END THEN .EQ. 7) THEN .EQ. 1) THEN IF 98 C 99 C IF SO, S AV E THE NEW D ATA 100 C 101 I N S TA K ( A C N ) = I N S TA K ( A C N ) + 1 102 IF ( I N S TA K ( A C N ) .EQ. 9) I N S TA K ( A C N ) = 1 103 O V R F L H A ( I N S TA K ( A C N ) , A C N ) = H A 104 DO 999 11 = 1 , 63, 1 105 999 O V R F LTA ( I I , I N S TA K ( A C N ) , A C N ) = TA ( I I ) 106 107 1 0 8 C P R O C E S S D ATA A L R E A D Y I N S TA C K 109 11 0 C C A N D ATA B E S E N T ? 111 11 2 3 I F ( N B ( A C N ) . G E . A B L ( A C N ) ) T H E N Figure 7-2. Program Portion of RMV3 (Sheet 18 of 24) 60499500 R 7_19 SUBROUTINE OUTPT 113 114 115 116 117 118 119 120 121 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 7 4 / 7 4 O P T = 0 , R O U N D = A / S / M / - D , - D S F T N 5 . 1 + 5 9 9 8 3 / 0 8 / 0 5 . 11 . 3 8 . 1 7 PA G E 3 IF NOT, EXIT RETURN IF SO, DO IT ELSE 122 123 UPDATE FLOW CONTROL ALGORITHM 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 ABN(ACN)=ACN*64 + K(ACN) K(ACN)=K(ACN) + 1 NB(ACN)=NB(ACN) + 1 CALL NSTORE(OVRFLHA(OUTSTAK(ACN),ACN),L"ABHABN",ABN(ACN)) CALL NETPUT(OVRFLHA(OUTSTAK(ACN),ACN), OVRFLTAd ,OUTSTAK (ACN) , ACN)) TEST IF STACK HAS BEEN EMPTIED IF (OUTSTAK(ACN).EQ.INSTAK(ACN)) THEN STAK(ACN)=0 IF SO, REINITIALIZE POINTERS OUTSTAK(ACN)=INSTAK(ACN)=0 ELSE IF NOT, MOVE THE SEND BUFFER POINTER FOR NEXT PASS OUTSTAK(ACN)=OUTSTAK(ACN) + 1 IF (OUTSTAK(ACN) .EQ. 9) 0UTSTAK(ACN)=1 RETURN END IF END I F /-"^v RETURN END Figure 7-2. Program Portion of RMV3 (Sheet 19 of 24) 7-20 60499500 R SUBROUTINE PROMPT 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 1 DO=-LONG/-OT,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5,I=RMV,L=0UTPUT,L0=S/-A. 1 2 3 4 5 6 7 8 9 SUBROUTINE PROMPT (SEND) IMPLICIT INTEGER (A-Z) C O M M O N / R M C O M / K ( 2 0 ) , L A S T B L K , I , S , N S U P, S M H D R , D S H D R , D S H D R 1 , N A C N ( 2 0 ) COMMON /RMCOM/C0NEND,ROMARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US C O M M O N / R M C 0 M / N B ( 2 0 ) , H A , I N S TA K ( 2 0 ) , O U T S TA K ( 2 0 ) , E N D C N , S H U T D , I N T R R S P C O M M O N / R M C O M / I N T R C H R , C H A N R S T, C H A N C L R C O M M O N / R M C 0 M / TA ( 6 3 ) , S TA K ( 2 0 ) , 0 V R F L H A ( 8 , 2 0 ) , 0 V R F LTA ( 6 3 , 8 , 2 0 ) , U S 1 C O M M O N / R M C 0 M / I A B N ( 2 0 ) , S M H A , S M TA ( 6 3 ) , S S M ( 8 ) , M C , L F N , A B T, A C T, T L C 11 HA=DSHDR 12 CALL NSTORE(HA,L"ABHADR",ACN) 13 TA ( 1 > = " INPUT PLS" 14 TA ( 2 ) = 0 15 SEND=1 16 RETURN 17 END Figure 7-2. Program Portion of RMV3 (Sheet 20 of 24) 60499500 R 7-21 SUBROUTINE SETUP 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 PAGE 1 DO=-LONG/-OT,ARG=-COMHON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5,I=RMV,L=0UTPUT,L0=S/-A. SUBROUTINE SETUP 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 IMPLICIT INTEGER(A-Z) COMMON /RMCOM/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMCOM/CONEND,ROMARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMCOM/NB(20),HA,INSTAK(20),OUTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR COMMON /RMCOM/TA(63),STAK(20),OVRFLHA(8,20),OVRFLTA(63,8,20),US1 COMMON /RMC0M/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC C SET OUTGOING SUPERVISORY MESSAGE CONSTANTS CONEND=NFETCH(0,L"CONEND") ROMARK=NFETCH(0,L"ROMARK") INTRRSP=NFETCH(0,L"INTRRSP") C BUILD A BRANCHING TABLE FOR INCOMING SUPERVISORY C MESSAGES (NOTE THAT THIS TABLE IS USED IN A MANNER C THAT PERMITS EXPANSION) SMd )=NFETCH(0,L"FCACK") SM(2)=NFETCH(0,L"C0NREQ") SM(3)=NFETCH(0,L"FCINIT") SM(4)=NFETCH(0,L"INTRUSR") SM(5)=NFETCH(0,L"FCINA") SM(6)=NFETCH(0,L"C0NCB") SM(7)=NFETCH(0,L"FCNAK") SM(8)=NFETCH(0,L"ERRLGL") SM(9)=NFETCH(0,L"H0P") SM(10)=NFETCH(0,L"CONEND") SET RESPONSE BIT FOR THE CON/END/N MESSAGE SM(10)=SM(10) .0R.0"100" SM(11)=NFETCH(0,L"SHUINS") SMd 2)=NFETCH (0,L"BIMARK") SMd 3) =999 C BUILD A BRANCHING TABLE FOR HOST OPERATOR COMMANDS SSMd )=NFETCH(0,L"HOPDB") SSM(2)=NFETCH(0,L"HOPDE") SSM(3)=NFETCH(0,L"H0PDU") SSM(4)=NFETCH(0,L"HOPNOTR") SSM(5)=NFETCH(0,L"H0PTRCE") SSM(6)=NFETCH(0,L"HOPREL") SSM(7)=NFETCH(0,L"H0PRS") RETURN END Figure 7-2. Program Portion of RMV3 (Sheet 21 of 24) /SSK 7-22 60499500 R S U B R O U T I N E PA C K 7 4 / 7 4 O P T = 0 , R O U N D = A / S / M / - D , - D S F T N 5 . 1 + 5 9 9 8 3 / 0 8 / 0 5 . 11 . 3 8 . 1 7 PAGE 1 D0=-LONG/-OT,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5,I=RMV,L=OUTPUT,LO=S/-A. SUBROUTINE PACK (SEND) 10 IMPLICIT INTEGER(A-Z) COMMON /RMCOM/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMC0M/C0NEND,R0MARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMC0M/NB(20),HA,INSTAK(20),0UTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR COMMON /RMCOM/TA(63),STAK(20),0VRFLHA(8,20),OVRFLTA(63,8,20)#US1 COMMON /RMC0M/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 C CREATE HEADER WORD TO ECHO INPUT AS OUTPUT HA =(HA .AND. 0"77777777777774007777") + 0"1" C CHANGE APPLICATION BLOCK TYPE TO 1 IF (ABT.EQ.2) CALL NSTORE (HA,L"ABHABT",1) IF (ABT.EQ.2) THEN LASTBLK=1 ELSE LASTBLK=0 END IF C INHIBIT FIRST CHARACTER AS A FORMAT EFFECTOR CALL NSTORE(HA,L"ABHNFE",1) C ECHO INPUT AS OUTPUT, AFTER ADDING A US TERMINATOR FULWD=TLC/5 FWP1 =FULWD+1 XTRA=12*(TLC - 5*FULWD) TLC=TLC + 1 CALL NSTORE(HA,L"ABHTLC",TLC) IF (XTRA.EQ.O) THEN TA(FWP1)=US ELSE XXX=SHIFT(US1,-XTRA) YYY=SHIFT(US,-XTRA) C ZERO OUT REMAINDER OF WORD AND ADD UNIT SEPARATOR CHARACTER TO END OF BLOCK TA(FWP1)=TA(FWP1) .AND. XXX .OR. YYY END IF SEND=1 RETURN END Figure 7-2. Program Portion of RMV3 (Sheet 22 of 24) 60499500 R 7-23 SUBROUTINE SHUTDN 74/74 OPT=0,ROUND= A/ S/ M/-D,-DS FTN 5.1+599 83/08/05. 11.38.17 DO=-•LONG/-OT,ARG=-COMMON/-FIXED,CS= USER/-FIXED,DB=-TB/-SB/-SL/ ER/-ID/-PMD/-ST,PL=5000 FTN5 ,I=RMV,L=0UTPUT,L0=S/-A. 1 2 3 1 1 1 1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 PAGE 1 SUBROUTINE SHUTDN IMPLICIT INTEGER(A-Z) COMMON /RMC0M/K(20),LASTBLK,I,S,NSUP,SMHDR,DSHDR,DSHDR1,NACN(20) COMMON /RMC0M/CONEND,R0MARK,ACN,ABN(20),SM(20),ABL(20),ABHIBU,US COMMON /RMC0M/NB(20),HA,INSTAK(20),OUTSTAK(20),ENDCN,SHUTD,INTRRSP COMMON /RMCOM/INTRCHR,CHANRST,CHANCLR COMMON /RMCOM/TA(63),STAK(20),OVRFLHA(8,20),OVRFLTA(63,8,20),US1 COMMON /RMC0M/IABN(20),SMHA,SMTA(63),SSM(8),MC,LFN,ABT,ACT,TLC CLEANUP ALL CONNECTIONS BEFORE ENDING NETWORK ACCESS 666 SMTA(1)=SMTA(2)=0 CALL NSTORE(SMTA,L"PFCSFC",CONEND) CALL NSTORE(SMTA,L"RC",0) PASS CONNECTION DIRECTLY TO IAF WITHOUT DIALOG CALL NSTORE(SMTA,L"CONANM",R"IAF ") SMHA=SMHDR + 0"1" DO 555 J =1,20 IF (NACN(J).EQ.D THEN CALL NSTORE (SMTA,L"CONACN",J) NACN(J)=0 CALL NETPUT (SMHA,SMTA) END IF 555 CONTINUE FETCH ALL QUEUED SUPERVISORY MESSAGES TO AVOID AN APPLICATION FAILED MESSAGE TO THE DEVICE OPERATOR AFTER DISCONNECTION 97 CALL NETWAIT(5,0) SHUTDWN=1 SYNC=0 CALL LOOKSM (SHUTDWN,L,SYNC) IF (L.EQ.3) GO TO 666 IF (L.LE.12) GO TO 97 FINISH WRITING DEBUG LOG AND STATISTICAL FILES CALL NETOFF STOP 333 END Figure 7-2. Program Portion of RMV3 (Sheet 23 of 24) **^\ 11.39.36.687 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000029 001 800004001000000 40000004000100000000 INTRUSR 11 . 3 9 . 3 6 . 7 4 0 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 2 4 5 4 4 TA = 0 2 4 5 4 5 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000030 001 800100001000000 40000400000100000000 INTRRSP 11.39.36.811 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =03 ADR =0001 ABN =000000 ACT =02 STATUS = 00000000 TLC = 0002 MSG NO. 000031 001 CA00000901DEOOO 62400000022007360000 BIMARK 11 . 3 9 . 3 6 . 8 2 2 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =03 ADR =0001 ABN =000000 ACT =02 STATUS = 00000000 TLC = 0002 MSG NO. 000032 001 CBOOOOOOOOOOOOO 62600000000000000000 ROMARK 11 . 3 9 . 3 6 . 8 2 2 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =01 ADR =0001 ABN =000073 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000033 001 B4248504BB5DB6D 55022205011355355555 BREAK 2 4$ ;D6 002 000000000000000 OOOOOOOOOOOOOOOOOOOO P 11 . 3 9 . 3 6 . 8 2 3 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =02 ADR =0001 ABN =000074 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000034 001 B49390554B50313 55111620252455201423 INPUT PLS 4 UKP1 002 000000000000000 OOOOOOOOOOOOOOOOOOOO 0 11.39.37.707 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000035 001 830200001000000 40601000000100000000 FCACK 11.39.37.711 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000036 0 0 1 8 3 0 2 0 0 0 0 1 0 0 1 2 4 0 4 0 6 0 1 0 0 0 0 0 0 1 0 0 0 111 0 0 F C A C K $ 11.39.37.715 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000037 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 5 of 13) 7-30 60499500 R 0^\ RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 83/08/05 PAGE 00006 001 830200001001280 40601000000100011200 FCACK 1«?:«!"219 NETGETL (031354) HA =000315 TA =000374 TLMAX =0010 ABT -02 ADR =0001 ABN =000000ALN ACT=0001 =03 STATUS = 00000000 TLC = 0036 001 05406806502006E 002 065078074020065 003 06E074072079020 004 069073020061020 005 06207206506106B 006 02006306F06E064 007 06907406906F06E 008 O2EO0OO0OOO0O0O 01240150014500400156 ATA/A+ 5A, 01450170016400400145 A+A'A" 5A+ 01560164016201710040 A,A"ADA? 5 01510163004001410040 A(A% 5A6 5 01420162014501410153 A7ADA+A6AS 00400143015701560144 5A8A.A,A9 01510164015101570156 A(A"A(A.A, 00560000000000000000 THE N EXT E NTRY IS A BREAK COND IT ION 11 » 3 9=01 " S ' 2ADR 2 5 N=0001 E T P UABN T ^ 0=000075 3 1 6 5 5 ) ACT H A =03 = 0 0STATUS 0 3 1 5 TA = 0 0 0 3 7 4 TLC = 0037 ABT = 00001000 001 05406806502006E 002 065078074020065 003 06E074072079020 004 069073020061020 005 06207206506106B 006 02006306F06E064 007 06907406906F06E 008 02E01FOOOOOOOOO 01240150014500400156 01450170016400400145 01560164016201710040 01510163004001410040 01420162014501410153 00400143015701560144 01510164015101570156 00560037000000000000 ATA/A+ 5A, A+A'A" 5A+ A,A"ADA? 5 A(AX 5A6 5 A7ADA+A6AS 5A8A.A,A9 A(A"A(A.A, * 4 MSG NO. 000039 THE N EXT E NTRY IS A BREAK COND ITION 11 . 3 9 . 5 1 . 2 2 5 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =02 ADR =0001 ABN =000076 ACT =04 STATUS = 00000000 TLC = 0020 001 B49390554B50313 55111620252455201423 002 000000000000000 OOOOOOOOOOOOOOOOOOOO MSG NO. 000038 MSG NO. 000040 INPUT PLS 4 UKP1 0 11.39.51.747 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000041 001 8302000010012C0 40601000000100011300 FCACK , 11.39.51.751 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000042 001 830200001001300 40601000000100011400 FCACK 0 11.39.56.410 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000043 001 800003001000000 40000003000100000000 INTRUSR Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 6 of 13) 60499500 R 7-31 83/08/05 PAGE 00007 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 11.39.56.414 NETPUT (031655) HA =024544 TA =024545 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000044 001 800100001000000 40000400000100000000 INTRRSP 11.39.56.464 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =03 ADR =0001 ABN =000000 ACT =02 STATUS = 00000000 TLC = 0002 MSG NO. 000045 001 CAOOOOOOOOOOOOO 62400000000000000000 BIMARK J 11.39.56.478 NETPUT (031655) HA =000315 TA =000374 ABT =03 ADR =0001 ABN =000000 ACT =02 STATUS = 00000000 TLC = 0002 MSG NO. 000046 001 CBOOOOOOOOOOOOO 62600000000000000000 ROMARK K 11.39.56.478 NETPUT (031655) HA =000315 TA =000374 ABT =01 ADR =0001 ABN =000077 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000047 001 B4248504BB5CB6D 55022205011355345555 BREAK 1 4$ ; 6 002 000000000000000 OOOOOOOOOOOOOOOOOOOO P 11.39.56.478 NETPUT (031655) HA =000315 TA =000374 ABT =02 ADR =0001 ABN =000078 ACT =04 STATUS = 00000000 TLC = 0020 001 B49390554B50313 55111620252455201423 INPUT PLS 4 002 OOOOOOOOQOOOOOO OOOOOOOOOOOOOOOOOOOO 0 MSG NO. 000048 JKP1 11.39.56.960 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000049 001 830200001000000 40601000000100000000 FCACK 11.39.56.964 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000050 001 830200001001340 40601000000100011500 FCACK 11.39.56.992 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000051 001 830200001001380 40601000000100011600 FCACK 11.39.57.021 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =02 ADR =0001 ABN =000000 ACT =03 STATUS = 00000000 TLC = OOOO MSG NO. 000052 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 7 of 13) 7-32 60499500 R RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 11.39.57.027 NETPUT (031655) HA =000315 TA =000374 ABT =01 ADR =0001 ABN =000079 ACT =03 STATUS = 00001000 TLC = 0001 83/08/05 PAGE 00008 MSG NO. 000053 001 01FOOOOOOOOOOOO 00370000000000000000 4 11.39.57.028 NETPUT (031655) HA =000315 TA =000374 ABT =02 ADR =0001 ABN =000080 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000054 001 B49390554B50313 55111620252455201423 INPUT PLS 4 UKP1 002 000000000000000 OOOOOOOOOOOOOOOOOOOO 0 1«?9"S"50L nnnn NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000055 001 8302000010013C0 40601000000100011700 FCACK 1«59:S"505 NETGETL (031354) HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000ALN ACT=0000 =01 STATUS = 00000000 TLC =0001 MSG NO. 000056 001 830200001001400 40601000000100012000 FCACK 11.40.12.998 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =02 ADR =0001 ABN =000000 ACT =03 STATUS = 00000000 TLC = 0005 MSG NO. 000057 001 04504E04404304E 01050116010401030116 AEANADACAN ENDCN 0^* 11 . 4 0 . 1 3 . 0 0 5 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 2 4 5 4 4 TA = 0 2 4 5 4 5 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0002 001 630600001000000 30603000000100000000 CONEND 002 2411ADB6DB40000 11010655555555000000 IAF MSG NO. 000058 AL~M4 11.40.13.064 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000059 001 634600001000000 30643000000100000000 CONENDN CF 11.40.29.864 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0010 MSG NO. 000060 001 630000001600200 30600000000130001000 CONREQ C 002 51C75F0ADB45018 24343537025555050030 T124B EX UP-4P 003 0000000000006EA 00000000000000003352 0) N 004 0000000002DD40B 00000000000013352013 K2PK -T 005 xxxxxxx6DB40011 xxxxxxxxxx5555000021 xxxxx Q M B CB 006 xxxxxxxEl880037 xxxxxxxxxxxxxx000067 xxxxxxx & 16A 7 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 8 of 13) 60499500 R 7-33 83/08/05 PAGE 00009 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 /^Hjf007 000FF8FFFFFFFFF 00007770777777777777 ;';;;;;; X 008 FFF3400001FFFFF 77771500000007777777 ;;M G;;; 4 009 000000000000F6F 00000000000000007557 . V 010 7C014034460D1C1 37000500150430150701 4 E MDXMGA WS) DBQA 11.40.29.870 NETPUT (031655) HA =024544 TA =024545 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000061 001 6340000010000C1 30640000000100000301 CONREQN C3 11.40.30.922 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000062 001 830700001000000 40603400000100000000 FCINIT 11.40.30.925 NETPUT (031655) HA =024544 TA =024545 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000063 001 834700001000000 40643400000100000000 FCINITN G 11.40.30.925 NETPUT (031655) HA =000315 TA =000374 ABT =01 ADR =0001 ABN =000081 ACT =04 STATUS = 00000000 TLC = 0020 ^ MSG NO. 000064 001 71235676D58549E 34221526355526052236 1RMV2 VER3 Q#VVU I 002 000000000000000 oooooooooooooooooooo a 11.40.30.925 NETPUT (031655) HA =000315 TA =000374 ABT =02 ADR =0001 ABN =000082 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000065 ^^Ifc 001 B49390554B50313 55111620252455201423 INPUT PLS 4 UKP1 002 000000000000000 OOOOOOOOOOOOOOOOOOOO 0 11.40.31.468 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000066 001 830200001001440 40601000000100012100 FCACK D 11.40.31.473 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000067 /*OSJJI. 001 830200001001480 40601000000100012200 FCACK H 11.41.39.064 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =00 ADR =0001 ABN =000000 ACT =02 STATUS = 10000000 TLC = 0100 MSG NO. 000068 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 9 of 13) ysS^v 7-34 60499500 R /ff*^ RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 11.41.39.077 NETGET (031340) ACN =0001 HA =000315 TA =000374 TLMAX =0063 ABT =01 ADR =0001 ABN =000000 ACT =03 STATUS = 00000000 TLC =0100 001 054068069073020 002 069073020061020 003 074065073074020 004 06F066020074068 005 065020071075065 006 07506906E067020 007 06306F064065020 008 06606F07202006D 009 065073073061067 010 06507302006F066 011 02006D06F072065 012 02007406806106E 013 02006F06E065020 014 06E06507407706F 015 07206B020064061 016 07406102006206C 017 06F06306B03B020 018 074068069073020 019 06906E070075074 020 02007306806F075 01240150015101630040 01510163004001410040 01640145016301640040 01570146004001640150 01450040016101650145 01650151015601470040 01430157014401450040 01460157016200400155 01450163016301410147 01450163004001570146 00400155015701620145 00400164015001410156 00400157015601450040 01560145016401670157 01620153004001440141 01640141004001420154 01570143015300730040 01640150015101630040 01510156016001650164 00400163015001570165 ATA/A(AX 5 A(AX 5A6 5 A"A+AXA" 5 A.A- 5A"A/ A+ 5ACA A+ A A(A,A* 5 ABA.A9A+ 5 A-A.AD 5A A+AXAXA6A* A+AX 5A.A5A A.ADA+ 5A"A/A6A, 5A.A,A+ 5 A,A+A"A&A. ADAS 5A9A6 A"A6 5A7A= A.A8AS > 5 A"A/A(AX 5 A(A,A#A A" 5AXA/A.A 01240150015101630040 ATA/A(AX 5 01510163004001410040 A(AX 5A6 5 01640145016301640040 A"A+AXA" 5 01570146004001640150 A.A- 5A"A/ 01450040016101650145 A+ 5ACA A+ 01650151015601470040 A A(A,A* 5 01430157014401450040 A8A.A9A+ 5 01460157016200400155 A-A.AD 5A 01450163016301410147 A+AZAXA6A* 01450163004001570146 A+AX 5A.A00400155015701620145 5A A.ADA+ 00400164015001410156 5A"A/A6A, 00400157015601450040 5A.A,A+ 5 01560145016401670157 A,A+A"A8A. 01620153004001440141 ADAS 5A9A6 01640141004001420154 A"A6 5A7A= 01570143015300730040 A.A8AS > 5 01640150015101630040 A"A/A(AX 5 01510156016001650164 A(A,A#A A" 00400163015001570165 5AXA/A.A 00370000000000000000 4 ~ MSG NO. 000069 THIS IS A TEST OF TH E QUE UING CODE FOR M ESSAG ES OF MORE THAN ONE NETWO RK DA TA BL OCK; THIS INPUT SHOU 11 . 4 1 . 3 9 . 0 8 3 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =01 ADR =0001 ABN =000083 ACT =03 STATUS = 00001000 TLC = 0101 001 054068069073020 002 069073020061020 003 074065073074020 004 06F066020074068 005 065020071075065 006 07506906E067020 007 06306F064065020 008 06606F07202006D 009 065073073061067 010 06507302006F066 011 02006D06F072065 012 02007406806106E 013 02006F06E065020 014 06E06507407706F 015 07206B020064061 016 07406102006206C 017 06F06306B03B020 018 074068069073020 019 06906E070075074 020 02007306806F075 021 01FOOOOOOOOOOOO 83/08/05 PAGE 00010 MSG NO. 000070 THIS IS A TEST OF TH E QUE UING CODE FOR M ESSAG ES OF MORE THAN ONE NETWO RK DA TA BL OCK; THIS INPUT SHOU 11.41.42.759 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000071 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 10 of 13) 60499500 R 7-35 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 83/08/05 PAGE 00011 001 8302000010014C0 40601000000100012300 FCACK 11.41.42.791 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =00 ADR =0001 ABN =000000 ACT =02 STATUS = 10010000 TLC = 0070 MSG NO. 000072 11.41.42.823 NETGET (031340) ACN =0001 HA =000315 TA =000374 TLMAX =0063 ABT =02 ADR =0001 ABN =000000 ACT =03 STATUS = 00010000 TLC = 0070 MSG NO. 000073 001 06C064020067065 002 06E065072061074 003 065020073065076 004 06507206106C020 005 06206C06F06306B 006 07302006F066020 007 06906E070075074 008 02006106E064020 009 06F075074070075 010 07402006106E064 011 020062065020070 012 07206F070065072 013 06C079020065063 014 06806F06506402E 01540144004001470145 01560145016201410164 01450040016301450166 01450162014101540040 01420154015701430153 01630040015701460040 01510156016001650164 00400141015601440040 01570165016401600165 01640040014101560144 00400142014500400160 01620157016001450162 01540171004001450143 01500157014501440056 A=A9 5A*A+ LD GE NERAT E SEV ERAL BLOCK S OF A(A,A#A_A" INPUT AND 5A6A,A9 5 A . A _ A " A # A _ OUTPU A" 5A6A,A9 T AND 5A7A+ 5A# BE P ADA.A#A+AD ROPER A=A? 5A+A8 LY EC A/A.A+A9 . HOED. A,A+ADA6A" A+ 5AXA+A! A+ADA6A= 5 A7A=A.A8A$ AX 5A.A- 5 11 . 4 1 . 4 2 . 8 4 3 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =01 ADR =0001 ABN =000084 ACT =03 STATUS = 00001000 TLC = 0071 001 06C064020067065 01540144004001470145 002 06E065072061074 01560145016201410164 003 065020073065076 01450040016301450166 004 06507206106C020 01450162014101540040 005 06206C06F06306B 01420154015701430153 006 07302006F066020 01630040015701460040 007 06906E070075074 01510156016001650164 008 02006106E064020 00400141015601440040 009 06F075074070075 01570165016401600165 010 07402006106E064 01640040014101560144 011 020062065020070 00400142014500400160 012 07206F070065072 01620157016001450162 013 06C079020065063 01540171004001450143 014 06806F06506402E 01500157014501440056 015 01FOOOOOOOOOOOO 003 70000000000000000 A=A9 5A*A+ A,A+ADA6A" A+ 5AXA+A! A+ADA6A= 5 A7A=A.A8A$ AX 5A.A- 5 A(A,A#A A" 5A6A,A7 5 A.A_A"A#A_ A" 5A6A,A9 5A7A+ 5A# ADA.A#A+AD A=A? 5A+A8 A/A.A+A9 , 4 LD GE NERAT E SEV ERAL BLOCK SOF INPUT AND OUTPU T AND BE P ROPER LY EC HOED. 11.41.42.843 NETPUT (031655) HA =000315 TA =000374 ABT =02 ADR =0001 ABN =000085 ACT =04 STATUS = 00000000 TLC = 0020 001 B49390554B50313 55111620252455201423 002 000000000000000 OOOOOOOOOOOOOOOOOOOO 11.41.43.280 INPUT PLS MSG NO. 000074 MSG NO. 000075 4 UKP1 0 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 MSG NO. 000076 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 11 of 13) 7-36 60499500 R RMV2 LOG FILE OUTPUT DATE RECORDED - 83/08/05 83/08/05 PAGE 00012 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830200001001500 40601000000100012400 FCACK P 11.41.43.284 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000077 001 830200001001540 40601000000100012500 FCACK T 1kT2lni'9!L nnn,=0001 ^IfFkJS?,!354* ALN HA =000315 TA =000374 TLMAX =0010 ABT =02 ADR ABN =000000 ACT=0001 =03 STATUS = 00000010 TLC = 0037 001 04E06F077020074 002 06F020074065073 003 074020074068065 004 02006906E070075 005 07402006306106E 006 06306506C06906E 007 06702006306F064 008 065040000000000 01160157016700400164 01570040016401450163 01640040016401500145 00400151015601600165 01640040014301410156 01430145015401510156 01470040014301570144 01450100000000000000 ANA.AS 5A" A. 5A"A+AX A" 5A"A/A+ 5A(A,A#A A" 5A8A6A7 A8A+A=A(A, A* 5A8A.A9 A+A NOW T 0 TES T THE INPU T CAN CELIN G COD E3 11 . 4 2 . 1 3 . 0 0 3 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 0 0 3 1 5 TA = 0 0 0 3 7 4 ABT =02 ADR =0001 ABN =000086 ACT =04 STATUS = 00000000 TLC = 0020 001 B49390554B50313 55111620252455201423 002 ooooooooooooooo OOOOOOOOOOOOOOOOOOOO INPUT PLS MSG NO. 000078 MSG NO. 000079 UKP1 11.42.14.014 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000080 001 830200001001580 40601000000100012600 FCACK X 11.42.18.844 NETGETL (031354) ALN =0001 HA =000315 TA =000374 TLMAX =0010 ABT =02 ADR =0001 ABN =000000 ACT =03 STATUS = 00000000 TLC = 0006 MSG NO. 000081 001 053048055054044 01230110012501240104 ASAHAUATAD SHUTD 0 0 2 O 4 E 0 O 0 0 0 O 0 0 O 0 0 O 0 11 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A N N 11 . 4 2 . 1 8 . 8 6 0 N E T P U T ( 0 3 1 6 5 5 ) H A = 0 2 4 5 4 4 TA = 0 2 4 5 4 5 A B T = 0 3 A D R = 0 0 0 0 A B N = 0 0 0 0 0 0 A C T = 0 1 S TAT U S = 0 0 0 0 0 0 0 0 T L C = 0 0 0 2 001 630600001000000 30603000000100000000 CONEND 002 2411ADB6DB40000 11010655555555000000 IAF MSG NO. 000082 A CM4 11.42.18.927 NETGETL (031354) ALN =0000 HA =024544 TA =024545 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 MSG NO. 000083 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 12 of 13) 60499500 R 7-37 RMV2 D AT E LOG FILE RECORDED - OUTPUT 83/08/05 83/08/05 PA G E 00013 001 634600001000000 30643000000100000000 CONENDN CF 11 . 4 2 . 2 6 . 0 2 1 NETOFF (030077) D AT E =83/08/05 MSG NO. 000084 Figure 7-4. Debug Log File Listing for Sample FORTRAN Program (Sheet 13 of 13) NAM STATISTICS GATHERING STARTED NETON DATE 83/08/05. TIME 11.38.26. NAM STATISTICS GATHERING TERMINATED NETOFF DATE 83/08/05. TIME 11.42.26. CPU TIME USED: 0.244 SEC NUMBER OF PROCEDURE CALLS NETGET NETGETL NETPUT NETWAIT 2 46 34 47 NUMBER OF WORKLIST TRANSFER ATTEMPTS SUCCESSFUL 64 NUMBER OF INPUT/OUTPUT BLOCKS TRANSFERRED INPUT ABT=0 2 INPUT ABT=1 1 INPUT ABT=2 8 INPUT ABT=3 37 O U T P U T A B T = 1 11 O U T P U T A B T = 2 11 OUTPUT ABT=3 12 NUMBER OF ERRORS Figure 7-5. Statistical File Listing for Sample FORTRAN Program 7-38 60499500 R /0$?\ QUEUED TERMINAL RECORD MANAGER The Queued Terminal Record Manager (QTRM) utility package allows an application program to use NAM to perform inpu t a n d o u t p u t t o a n d f r o m a d e v i c e o r application in a way similar to the use of the CYBER Record Manager to perform input and output to and from mass storage. This section describes the interface between QTRM and an application program. NAM allows an application program to communicate with another application program the same as the program does with a device. The program then has a connection with a terminal or an application. When the term connection is used in this section, it refers to the general case and includes both deviceto-application connections and application-toapplication connections. An application program interface with QTRM has two parts: A formal data structure, called the network information table, is used as a communication area. A set of subroutines is used by the application program to perform network actions. NETWORK INFORMATION TABLE An application program uses the network information table to communicate with QTRM and with the network software through QTRM. The application program creates the network information table within its o w n fi e l d l e n g t h . I f t h e p r o g r a m u s e s o v e r l a y s , the network information table must be created with i n t h e m a i n ( 0 , 0 l e v e l ) o v e r l a y. T h e l e n g t h o f the network information table varies according to the number of connections the application program supports. The network information table has the format shown i n fi g u r e 8 - 1 . T h i s t a b l e i s d e fi n e d s o t h a t i t s first word begins at a word boundary. In a FORTRAN program, the table would be created as one or more one-dimensional arrays. In a COBOL program, the table would be created as a Data Division item beginning with an 01 level description, preferably in the Working Storage section. The network information table has two consecutive p a r t s . T h e fi r s t p o r t i o n i s a 1 0 - w o r d e n t r y g l o b a l to program use of the network. The second portion consists of 10-word entries unique to each con nection serviced by the application program. The global portion of the network information table contains a few fields that only QTRM writes for the a p p l i c a t i o n p r o g r a m t o r e a d . M o s t o f t h e fi e l d s i n this portion are read or written by either QTRM or the application program. The connection portion of the network information t a b l e c o n t a i n s fi e l d s w r i t t e n b y Q T R M t h a t s h o u l d be used by the application program as read-only fi e l d s . E r r o r s c a n r e s u l t i f t h e a p p l i c a t i o n p r o gram writes in any of these fields. T h e fi r s t 9 w o r d s o f e a c h 1 0 - w o r d e n t r y i n t h e second portion of the table are maintained by QTRM for each connection. Both QTRM and the application program access a given 10-word entry using the application connection number assigned by the net work to the connection. For example, if a device or application is assigned to connection number 3, QTRM writes all information concerning that device or application into the third 10-word entry in the connection portion of the network information table. I f t h e a p p l i c a t i o n p r o g r a m n e e d s s o m e information concerning the device or application assigned to c o n n e c t i o n n u m b e r 5 , i t r e a d s t h e fi f t h 1 0 - w o r d entry in the connection portion of the network information table. The connection number assigned to the device or application is therefore an index ing integer that can be used to access the correct 10-word entry in the table, or other tables main tained by the application program to contain infor mation related to servicing the same device or application. The tenth word of the global portion and the tenth word of each of the connection entries are not accessed by QTRM. They are reserved for instal lation use. I The application program determines the number of 10-word entries in the second portion of the net work information table. One 10-word entry must exist for each device or application the program is w r i t t e n t o s e r v i c e s i m u l t a n e o u s l y. T h e a p p l i c a t i o n program places the number of 10-word entries in the fi r s t p o r t i o n o f t h e n e t w o r k i n f o r m a t i o n t a b l e s o that QTRM knows how many entries exist. The application program does not need to provide a 10-word entry for each device or application serv iced cumulatively during a single program execution. The network reassigns a connection number when a device or application disconnects from the program, so that several devices or applications can sequen tially use the same connection number at different periods during a single program execution. For example, if the program is intended to service eight devices at the same time, it provides eight 10-word entries. During a single execution, six different devices might use each of those entries in succes sion, but each device uses only the entry assigned to it while it communicates with the program. Consequently, the program does not need 48 entries t o a l l o w f o r t h e p o s s i b i l i t y. /|Ste\ 60499500 R 8-1 /*^^\ net-info-table /Word 59 53 47 35 29 Global Entry for QTRM communication 2 NAM-supervisor-word 3 reserved for CDC 5 num-conns 1(12) reserved for CDC max-trans-size 1(12) current-transsize l{12) sleep K6) sub-system code connectionreturnnumber 1(12) code 1(6) t Ah-A int-msg 1(6) 6 next-application-name C(7) xsleep 1(18) 7 requested-application-name C(7) destination-host C(3) 8 reserved for CDC 9 reserved for CDC 10 Word Read and write portion, occurs only once reserved for installation use terminal-name-1/application-name-1 C(7) 2 family-name-1 C(7) 3 user-name-1 C(7) 4 Entry for connection 1 11 charset I (6) application-name C(7) 4 17 abl-1 K6) current-abn-1 1(18) acknowledged-abn-1 1(18) 5 reserved for CDC 6 upline-abh-1 7 downline-abh-1 8 reserved for CDC tclass-1 I (6) dev-type (6) state-1 I (6) page-width-1 1(12) page-length-1 1(12) max-blocksize-l(12) currentabl-l(6) tclass-n page-width-n Read-only portion, repeated once for each connection reserved for CDC 10 reserved for installation use 'Word 1 2 family-name-n 3 user-name-n 4 Entry for connection n (n=num-conns) terminal-name-n/application-name-n abl-n current-abn-n acknowledged-abn-n 5 reserved for CDC 6 upline-abh-n 7 downline-abh-n 8 reserved for CDC 9 reserved for CDC 10 reserved for installation use dev-type page-length-n I (6) max-blocksize-n currentstate-n abl-n /•^s. tsec-return-code I (6) Figure 8-1. Network Information Table Format (Sheet 1 of 10) 8-2 60499500 S net-info-table The symbolic address of the entire network information table, used to identify the table in a QTOPEN call. In a COBOL program, this address is the Data Divi sion descriptor for the level 01 data item containing level 02 or lower level data items for all of the fields described in this figure. In a FORTRAN pro gram, this address is the name of a one-dimensional array. application-name This 42-bit field contains the application name used to identify the program to the network, and by other application programs or terminal users to access the program. The name contained in this field can be one to seven letters or digits, b e g i n n i n g w i t h a l e t t e r, a n d m u s t b e l e f t - j u s t i fi e d w i t h i n t h e fi e l d and blank-filled to the right; the name must be placed in the field before calling QTOPEN. Changing the contents of this field after calling QTOPEN has no effect. The name placed in this field is subject to the same restraints as the aname parameter in a call to the AIP routine NETON, as described in section 5. char-set This 6-bit field contains a binary integer to identify the character code set and byte packing convention along with the mode of data used by the program for all input and output through QTRM. For input, specify any integer from the following list. Either place the code value in the char-set field before calling QTOPEN, or allow QTOPEN to place the default value of 4 in the char-set field if the application program does not specify a code value. 1 A 60-bit character is in 60-bit word (allowed only for connections to other applications in the same host). 2 8-bit ASCII codes are packed with 7.5 bytes per 60-bit word (every two words contains 15 characters) and transmitted in normalized mode. 3 8-bit ASCII codes are packed with 5 bytes per 60-bit word (each char a c t e r c o d e i s r i g h t - j u s t i fi e d w i t h i n a 1 2 - b i t b y t e a n d z e r o - fi l l e d to the left) and transmitted in normalized mode. 4 6 - b i t d i s p l a y c o d e s a r e p a c k e d w i t h 1 0 b y t e s p e r 6 0 - b i t w o r d ( th i s is the default value used by QTRM when no other legal value is speci fi e d ) . Note that the char-set value at QTOPEN applies to all input from all connec tions. When a char-set value of 1 is used, only connections to other appli cations should be made. Char-set values of 2 and 3 can be used for either devices or applications. After a call to QTOPEN is made, the char-set field is used to specify a value that applies to output. The application program may change the contents any time. The output is controlled by the char-set value outstanding when QTPUT is called. No QTRM routine changes the contents after QTOPEN is completed. In addition to the code values listed above for input, the following codes are valid for output: 10 8-bit codes are packed with 7.5 bytes per 60-bit word and trans mitted in transparent mode. 11 8-bit codes are packed with 5 bytes per 60-bit word and trans mitted in transparent mode. Use of the default value (display code) for output allows use of QTRM editing features. Requirements on the length and contents of the transmitted data are described in section 2. num-conns This field contains a 12-bit integer, 1 £ num-conns < 4095, indicating how many connections the application program can simultaneously support. Connections are assigned numbers from 1 to num-conns; the value used for numconns should not be greater than the number of 10-word entries provided in the network information table. The network information table must be 10+(10 X num-conns) central memory words in length, regardless of whether the program references words at the end of the table. The value must be placed in this field before the call to QTOPEN. After the call to QTOPEN, changing the contents of the field has no effect. Figure 8-1. Network Information Table Format (Sheet 2 of 10) 60499500 S 8-3 NAM-supervi sor-word This 60-bit field is used by QTRM and should be ignored by the application program. The field contains the NETON call nsup parameter used by QTRM. (See section 5.) sub return code This 12-bit field contains the reason code returned in the CON/ACRQ/A supervisory message. The field has meaning only when the return code field has the value 13. The reason codes for the supervisory message are explained in section 3. A-to-A This 6-bit field contains an integer indicating whether the application pro gram supports application-to-application connections. These application-toapplication connections may be initiated by this or another application. This field can contain the following: 0 Does not support application-to-application connections. 1 Supports application-to-application connections. The value must be placed in this field before the QTOPEN. After the call to QTOPEN, changing the contents of the field has no effect. max-trans-size This 12-bit field contains a binary integer that indicates the extent of the application program storage area from which data for a connection is sent or into which data is written. The value used is specified in units determined by the code value that is the char-set value at QTOPEN for input and current char-set value for output, as follows: If char-set =1, one max-trans-size unit = 60 bits. If char-set = 2 or 10, one max-trans-size unit = 8 bits. If char-set = 3 or 11, one max-trans-size unit = 12 bits. If char-set = 4, one max-trans-size unit = 6 bits. The value used in this field is subject to the following restrictions: Max-trans-size must be less than the number of units that would occupy 410 central memory words. Max-trans-size must be less than 2043 units. Max-trans-size must be at least 11 units longer that the value in the current-trans-size field, if char-set = 4. Max-trans-size must be less than or equal to the number of units that can be contained in the text area (working-storage area) used by the program. Max-trans-size must be set to a value that can be contained exactly in a multiple of central memory words, otherwise QTRM restricts the size of the text area without warning the application to make the last character posi tion end on a word boundary. The value must be placed in this field before any QTPUT or QTGET call, and can be changed between calls as appropriate. This field performs a function com parable to the tlmax parameter in direct AIP routine calls, as described in section 5. Current-trans-size This 12-bit field contains a binary integer that indicates how much of the application program text area contains data meaningful for a given QTGET or QTPUT call. The value used is specified in units determined by the code value that is the char-set value at QTOPEN for input and current char-set value for output, as follows: If char-set = 1, one current-trans-size unit = 60 bits. If char-set = 2 or 10, one current-trans-size unit = 8 bits. If char-set = 3 or 11, one current-trans-size unit = 12 bits. If char-set = 4, one current-trans-size unit = 6 bits. Figure 8-1. Network Information Table Format (Sheet 3 of 10) 8-4 60499500 S On return from a QTGET call that delivers a data block to the program, QTRM places a value in this field that indicates the size of the delivered block. Before a QTPUT call, the application program must set a value in this field that indicates to QTRM the size of the block to be transferred. For char-set values other than 4, the application program must indicate how many units com prise the block (including all ASCII unit separator character codes and any format effector characters). For a char-set value of 4, the application pro gram can use a value of 0, or the nonzero value indicating how many units com prise the block (including all zero byte separators except the last and all format effector characters). Special QTRM output editing functions are per formed for data blocks with a char-set of 4, depending on the value in the current-trans-size field; these functions are described in the text under the heading Display-Code Output Editing. Current-trans-size must be less than or equal to max-trans-size. sleep This 6-bit field contains a signed integer that tells QTRM what action to take after the application program issues a QTGET call. (See also the XSLEEP field.) This field can have the values: -n Where 1 < n < 32; if no data block or return-code field value other than 1 is available to return, the program is suspended by QTRM until information becomes available. If information is available, control returns to the program immediately. The value used for n is not s i g n i fi c a n t . 0 Interrogate XSLEEP to determine what action to take after QTGET is issued. +n Where 1 < n < 32; the program will be suspended for a maximum of n seconds. Control is returned to the program as soon as any infor mation is available (the return-code field value is not 1) or when the current-abl-i field value is increased for any connection (the return-code field value is 1). If no information is available after n seconds, control is returned to the program with a reason-code field value of 1. The application program must set or change the value in this field as neces sary before each QTGET call. QTRM does not change the value in this field after QTOPEN has been called. (QTOPEN sets the field to zero.) connection-number This 12-bit field contains an integer that identifies the connection involved in the current QTGET, QTPUT, or QTENDT call. On return from a QTGET call, QTRM places the connection number in this field for the connection for which information was returned by the call. Before a QTPUT or QTENDT call, the application program must place the connection number in this field for the connection involved in the call. This value can be used as a subscriptor or index value to access the corresponding 10-word connection entry in the net work information table. xsleep This 18-bit field contains a signed integer that tells QTRM what action to take after the application program issues a QTGET call. (See also the SLEEP field.) This field can have the values: -n Where 1 <_ n < 4096; if no data block or return-code field value other than 1 is available to return, the program is suspended by QTRM until information becomes available. If information is available, control returns to the program immediately. The value used for n is not s i g n i fi c a n t . 0 The QTGET call is not associated with program suspension; if no data block is available, control returns to the program immediately and a return-code field value of 1 is used to indicate the condition to the program. If a block is available, control also returns to the program immediately. +n Where 1 < n < 4096; the program will be suspended for a maximum of n seconds. Control is returned to the program as soon as any infor mation is available (the return-code field value is not 1) or when the current-abl-i field value is increased for any connection (the return-code field value is 1). If no information is available after n seconds, control is returned to the program with a reason-code field value of 1. Figure 8-1. Network Information Table Format (Sheet 4 of 10) 60499500 S 8-5 return-code This 6-bit field is used by QTRM to indicate program or connection processing status on return from a QTGET, QTPUT, or QTLINK call. The application program should always test the contents of this field after a QTGET, QTPUT, or QTLINK call. This field can contain the following values: 0 Information has been exchanged with the network. After a QTGET, this value indicates that a block was received from a connection and is in the application program text input area identified for that QTGET call; the connection number of the connection generating the block is in the connection-number field. After a QTPUT, this value indicates that the block was given to NAM (however, the block might not have been delivered to the connection yet). After a QTLINK call has been made by the program, this value indi cates that the request for connection to an application is being forwarded to NAM and is outstanding. 1 No information has been exchanged with the network. This value only occurs after a QTGET call that was made while the sleep or xsleep field contained 0 or a positive value. 2 A new device or application connection has occurred. This value only occurs after a QTGET call. The connection number of the new connec tion is in the connection-number field, but no data block has been returned by the QTGET call; the 10-word entry in the network infor mation table has been updated by QTRM for the new connection. 3 An improperly formatted block has been detected. This value only occurs as a result of a QTPUT call to a device, and usually indicates a missing or misplaced unit separator or zero byte terminator within the block. The block causing the problem and any other subsequent blocks sent to the device were discarded by the network. 4 Reserved for CDC use. 5 The current-abl value for the connection identified in the connectionnumber field has been exceeded. This return-code value only occurs after a QTPUT call is attempted when the current-abl value for the connection is zero. The block involved in the call is discarded by QTRM and must be resent after QTRM resets the current-abl field for the connection to a nonzero value. 6 The connection between NAM and the device or application identified in the connection-number field has been broken by one of the following conditions: The terminal user hung up. The communication line failed. A block sent to the device or application program was lost by the network. A block to or from the device or application program was too long to deliver. The terminal sent transparent data to the program. The other application program terminated or ended the connection. No additional communication is possible between the application program and that device or application, and QTENDT should not be called. The information in the 10-word entry for the affected con nection remains unchanged until a new connection is made that uses the same entry. Figure 8-1. Network Information Table Format (Sheet 5 of 10) 8-6 60499500 S The user at the terminal identified in the connection-number field has entered a user-break-1 character or caused a user-break-1 condition. This value only occurs after a QT6ET call. On return from the call, QTRM has reset the current-abl field for the affected device to the value in the device abl field; this change indicates that any blocks previously sent by the program but not yet delivered to the device were discarded. The action taken by the application program is determined by what the terminal user expects to occur after entry of the character. The user at the terminal identified in the connection-number field has entered a user-break-2 character. This value only occurs after a QTGET call. On return from the call, QTRM has reset the current-abl field for the affected device to the value in the device abl field; this change indicates that any blocks previously sent by the program but not yet delivered to the device were discarded. The action taken by the application program is determined solely by what the terminal user expects to occur after entry of the character. The network is shutting down. All terminal users should be notified and QTCLOSE should be called as soon as no data blocks are outstand ing in either direction. 10 The network has ended all communication with the application pro gram. This value only occurs after a QTGET call; normally, this value means that the application program should close all files and end its execution. No calls to QTRM routines can be made after re ceipt of this reason-code value; a call to QTCLOSE is not necessary. 11 The application program has performed some operation that violates NAM protocols. QTRM has received a logical error supervisory mes sage from NAM, as described in section 3. QTRM aborts the program but places the reason code from the supervisory message in the secreturn-code field of the network information table. 12 Another application-to-application request from this program is out standing. This value is returned by a QTLINK request. The QTLINK request must be reissued after the outstanding request is completed or rejected. 13 The connection was not established. This value is returned by a QTGET call issued by the program following a QTLINK request. The sec-return-code field contains one of the following: The reason code from the abnormal response to the request-forconnection supervisory message (CON/ACRQ/A) issued by QTRM The reason code plus 32 from the connection-broken supervisory message (CON/CB/R) if the connection was broken before the connection-processing was completed The reason codes for these supervisory messages are explained in section 3. 14 The application-to-application connection is completed. This value is returned by a QTGET call issued by the program following a QTLINK request. The connection-number field contains the new connection number. The 10-word entry in the network information table has been updated with the new connection information. 15 Reserved for CDC use. thru 62 63 An internal or uncoded error. If this happens, it means something severe has taken place in QTRM. You should close your files, abort your program, and do a dump. Figure 8-1. Network Information Table Format (Sheet 6 of 10) 60499500 S 8-7 sec-return-code This 6-bit field contains one of the integer logical error supervisory message reason codes described in section 3. This field is not written by the applica tion program, but is provided for debugging. When the value of the return-code field is set to 11 or 13, this 6-bit field contains additional information for debugging based on reason codes returned in the CON/ACRQ/A and CON/CB/R supervisory messages described in section 3. If the supervisory message is a CON/ACRQ/A, this field contains the value of subfield rc2 from the supervisory message. i nt-msg This 6-bit field contains an integer that indicates to QTRM whether the block involved in a QTPUT call is or is not the last or only block of a message. If the application program supports terminals in terminal class 4, this field must be written before any QTPUT call. Programs supporting application-toapplication connections can also use this field but it only has significance to the destination application. This field can contain the following values: 0 The last or only block of the message. The application program will not call QTPUT again for the current connection until a QTGET call has returned an input block. 1 An intermediate block in a multiple block message. The application program will call QTPUT again for the current connection before a call to QTGET has returned an input block from that connection. The connection involved connection-number field. of the application block abt = 2; if int-msg = 1, next-application-name in the current QTPUT call is identified in the QTRM uses the int-msg field to change the abt field header involved in the QTPUT call. If int-msg = 0, abt = 1. This 42-bit character data field contains the network application program name identifying the program to which a device should be switched during processing of a QTENDT call. This field can contain the following: 0 The network software uses prompting dialog or automatic login information to determine the next application program the device communicates with, or disconnects the device from the host if that is an appropriate action. NVF command The Network Validation Facility reinitiates the login sequence for the device or causes terminal disconnection from the host. valid program name The device is switched to the indicated program without prompt ing dialog, when the switch is possible. If either the NVF command or valid program name option is used, the name placed in the field must be one to seven display code letters or digits, leftjustified with blank fill within the field, and the first character must be alphabetic. If the NVF command option is used, the following commands are valid: BYE LOGOUT Cause the device to be disconnected from the host. HELLO LOGIN Reinitiate login for the device; if dialog is possible and required, the login prompting sequence begins. If the valid program name option is used, the name placed in the field must be the element name used to define the referenced application program in the sys tem common deck COMTNAP. For an application-to-application connection, this field must contain a 0. The QTOPEN call sets this field to zero. The application program must set or change this field as appropriate before each QTENDT call. Guidelines for the use of this field can be found under Terminating Connections in section 3. This field is not used with QTENDT calls for application-to-application connections. Figure 8-1. Network Information Table Format (Sheet 7 of 10) 8-8 60499500 S / ^ \ requested-appIicationname This 42-bit character data field contains the network application program name identifying the program to which the current application program is requesting a connection with a QTLINK call. This is the first identifier for the connection. This identifier can be one to seven letters or digits long and is left-justified with blank fill within this field; the first character must be a letter. For intra-host connections, this field contains the name of the application program with which your program needs to establish a connection. For inter-host connections, the name you use must match the value of the NAME1 parameter in the NDL OUTCALL statement used by your program. destination-host This 18-bit character data field contains the second identifier for a connec tion your program initiates with a QTLINK call. If the connection is between two hosts, this identifier must be one to three letters or digits, left-justified with blank fill within the field; the first character must be a letter. If the connection is within a host, this identifier can be a binary 0. By convention, any nonzero name is the name of the destination host in which the other application program runs. The name you use must match the value of the NAME2 parameter in the NDL OUTCALL statement used by your program. terminal-name-i/ appli cation-name-i This 42-bit character data field contains the display code characters of the name used to identify the device on connection i within the network. The name is one to seven letters or digits long and is left-justified with blank fill within this field. A terminal name used is obtained from the network configuration file entry for the device. For an application-to-application connection, this field contains blanks. tclass-i This 6-bit field contains the integer terminal class associated by the network with the device on connection i. The integer used in the field is one of those described for the tc field of the connection-request supervisory message presented in section 3. The integer is changed during a QTGET call whenever the terminal user has entered a TIP command to change the terminal class of the device on connection i. This field is not used for application-to-application connections. page-width-i This 12-bit field contains the integer page width value associated by the net work with the device on connection i. The integer used in the field has the significance explained in sections 2 and 3. The integer is changed during a QTGET call whenever the terminal user has entered a TIP command to change the page width or terminal class of the device on connection i. This field is not used for application-to-application connections. family-name-i This 42-bit character data field contains the display code characters of the permanent file family name associated by the network with device connection i. The family name is one to seven letters or digits long and is left-justified with blank fill within this field. This field is not used for application-to-application connections. dev-type-i This 6-bit field contains an integer value to identify the type of connection for connection i. The integer used in this field is one of those described for the dt field of the connection-request supervisory messages presented in section 3. Typical values are: 0 This connection is a device-to-application connection for a console. 5 This connection is an application-to-application connection within the same host. 6 This connection is an application-to-application connection between hosts. 12 This connection is a device-to-application connection for a device thru with a site-defined device type. 15 Figure 8-1. Network Information Table Format (Sheet 8 of 10) 60499500 S 8-9 page-length-i This 12-bit field contains the integer page length value associated by the network with the device on connection i. The integer used in the field has the significance explained in sections 2 and 3. The integer is changed during a QTGET call after the terminal user enters a TIP command to change the page length or terminal class of the device on connection i. This field is not used for application-to-application connections. user-name-i This 42-bit character data field contains the display code characters of the NOS user name associated by the network with device connection i. The user name is one to seven letters, digits, or asterisks long and is left-justified with blank fill within the field. This field is not used for application-to-application connections. res Reserved by CDC. max-block-size-i This 12-bit field contains the integer downline block size in character units for the device on connection i. This block size is based on the network configuration file information for the device or the local configuration file information for an application-to-application connection. The block size is a suggested value for adjusting the current-trans-size field based on efficiency considerations for the site. abl-i This 6-bit integer field contains the number of blocks permitted by the network to be in transit to connection i at a given moment. This block limit is based on the network configuration file information for the connection. The value used in this field determines the number of QTPUT calls that can be made on connection i before a QTGET call returns an indication that a block was delivered to the connection. A typical value is 2 for a device-to-application connection and 7 for an application-to-application connection. current-abn-i This 18-bit integer field contains the binary block number assigned by QTRM to the block sent to connection i by the last QTPUT call involving that connec tion. Every block sent by QTRM is assigned a number; the number assigned is sequential within the blocks sent to a given connection, and the sequence is restarted each time a new connection is assigned to the connection number. acknowledged-abn-i This 18-bit integer field contains the binary block number assigned by QTRM to the block last acknowledged on connection i. QTRM updates this field during a QTGET call, when QTRM determines that a block-delivered message has been received. state-i This 6-bit field contains the integer flag identifying the current processing state of connection i. This field has the values: 0 This connection number is currently not in use. 1 This connection is currently in a transition state while a new con nection is being established. No other information in the associated 10-word entry for this connection should be considered accurate. 2 This connection is in use and in a normal state for input or output processing by the application program. 4 This connection is currently in a transition state while a new con nection is being established. No other information in the associated 10-word entry for this connection should be considered accurate. This value is used for application-to-application connections only. current-abl-i This 6-bit integer field contains the number of sequential QTPUT calls that currently can be made for connection i without waiting for acknowledgment of delivery to the device or application. QTRM updates this field during QTGET and QTPUT calls, and the application program should examine the field before making a QTPUT call involving the connection. The values used in this field range from 0 to the value contained in the abl-i field; a value of 0 indicates that no blocks currently can be sent (the maximum number of blocks are in transit to the connection). Figure 8-1. Network Information Table Format (Sheet 9 of 10) -^s^v 8-10 60499500 S zi^v upline-abh-i This 60-bit field contains the binary application block header received by QTRM with the last input data block delivered by a QTGET call for connection i. This field has the format and contains the information described in section 2. downline-abh-i This 60-bit field contains the binary application block header created by QTRM to send with the last output data block involved in a QTPUT call for connec tion i. This field has the format and contains the information described in section 2. Figure 8-1. Network Information Table Format (Sheet 10 of 10) 60499500 S 8-10.1/8-10.2 /*£% 0^\ I n fi g u r e 8 - 1 , t h e n u m b e r o f 1 0 - w o r d e n t r i e s i s shown as n and is communicated to QTRM as the value in the num-conns field. The connection number for a s p e c i fi c t e r m i n a l o r a p p l i c a t i o n i s i d e n t i fi e d a s i i n t h e fi e l d d e s c r i p t i o n s . QTOP E N i s n o r m a l l y c a l l e d o n l y o n c e per network communication access but can be called again after a QTCLOSE call. No QTRM call other than QTCLOSE can be made before QTOPEN is called. The call to QTOPEN performs the following functions: For the convenience of programmers using COBOL 5.2 or subsequent versions that permit manipulation of i n f o r m a t i o n i n 6 - b i t b y t e s , t h e fi e l d s w i t h i n t h e network information table are defined in 6-bit byte m u l t i p l e s . T h e fi r s t o c c u r r e n c e o f e a c h fi e l d w i t h i n fi g u r e 8 - 1 i n d i c a t e s t h e t y p e a n d s i z e o f t h e C O B O L d a t a i t e m n e e d e d t o d e fi n e t h e fi e l d p r o p e r l y. T h e s e i n d i c a t i o n s h a v e t h e f o r m I ( x ) o r C(y), where I indicates binary integer data, C indicates character data, x indicates the number of b i t s c o m p r i s i n g t h e i n t e g e r, a n d y i n d i c a t e s t h e number of 6-bit display-code characters comprising the character string. Identifies to QTRM the address of the network i n f o r m a t i o n t a b l e d e fi n e d b y t h e a p p l i c a t i o n program SUBROUTINES Calls to the subroutines comprising QTRM do not contain many parameters because most communication between an application program and QTRM occurs through the fields in the network information table. The format of the subroutine calls conforms to the general guidelines given for the compiler-language form of the AIP routines, as described in sections 4 and 5. The QTRM routines reside in the libraries NETIO and NETIOD. These libraries are accessed as described in sections 4 and 6. The format of the subroutine calls is given in the following subsections. Because QTRM is designed to be COBOL-oriented, the subroutine descriptions are COBOL-oriented. As described in section 4, QTRM can be used by programs written in languages other than COBOL. INITIATING NETWORK ACCESS (QTOPEN) The application program begins communication with the network by calling QTOPEN. T h i s c a l l h a s t h e format shown in figure 8-2. J^N ENJER FORTRAN-X QTOPEN USING net-info-table n e t - i n f o - t a b l e A n i n p u t p a r a m e t e r, s p e c i f y i n g the symbolic address for word 1 in the global portion of the network information table that should be used by QTRM during access to the network. In a COBOL call, this parameter is the Data Division descriptor for a level 01 data item con taining level 02 or lower level data items in the form de s c r i b e d i n fi g u r e 8 - 1 . T h e fields in the network informa tion table must be initialized before the call to QTOPEN is issued. Figure 8-2. QTOPEN Statement COBOL Call Format 60499500 R Allows QTRM to use the information already placed in the network information table by the application program Allows QTRM to initialize the connection entry portions of the network information table and to store its own information in the global portion of the table Causes QTRM to identify the application program to the network B e f o r e Q TO P E N i s c a l l e d , t h e a p p l i c a t i o n p r o g r a m m u s t p l a c e i n f o r m a t i o n i n t h e f o l l o w i n g fi e l d s o f the table: Application-name Char-set Num-conns A-to-A During processing of the call, QTRM uses this information to make appropriate AIP calls. For example, suppose the application program makes the following call: ENTER FORTRAN-X QTOPEN USING NIT where NIT is the network information table symbolic address and contains the application-name RMV2, the num-conns value of 5, and the char-set value of 4. In the Data Division of the program code, NIT appears as: WORKING-STORAGE SECTION. 0 1 N I T. 02 GLOBAL. 03 APPLICATION-NAME PIC X(7) VALUE IS "RMV2". 03 CHAR-SET PIC 9 COMP-4 VALUE IS 4. 03 NUM-CONNS PIC 99 COMP-4 VALUE IS 5. 03 FILLER X(30). QTRM then connects the program to the network. QTRM i d e n t i fi e s t h e p r o g r a m a s t h e n e t w o r k a p p l i c a t i o n p r o g r a m c a l l e d R M V 2 . R M V 2 s u p p o r t s fi v e d e v i c e s simultaneously on connections numbered 1 through 5, uses 6-bit display code for all input and output transmissions, and cannot process transparent mode transmissions. When the QTOPEN call is completed, the application program either performs processing not related to network communication or uses the QTGET call and t h e s l e e p fi e l d o f t h e n e t w o r k i n f o r m a t i o n t a b l e t o suspend its processing until a device or application 8-11 p(^i(v requests access to it. As soon as a device con nection is completed (as soon as the state field in a connection entry of the network information table changes to 2), the program must identify itself to the device by sending a message to it using a call to QTPUT. SENDING DATA (QTPUT) The application program sends data through the net w o r k b y c a l l i n g Q T P U T. T h i s c a l l h a s t h e f o r m a t shown in figure 8-3. ENTER FORTRAN-X QTPUT USING ta-out-acni t a - o u t - a c n i A n i n p u t p a r a m e t e r, s p e c i f y i n g t h e symbolic address of the output text area for the device or appli cation using connection acn^. In a COBOL call, this parameter is the Data Division descriptor for a Level 01 data item with a length defined by the max-trans-size value in the network information table. Data contained in ta-outacn^ is subject to the same con straints as normalized mode data in the text area used by any NETPUT call to AIP. These constraints are described in section 2. Place the data to be transmitted by the call i n t o t h e t e x t a r e a i d e n t i fi e d b y t h e p a r a m e t e r to be used in the call. For device-to-application connections, place a unit separator code as a line terminator at the end of the data in the text area, if char-set is not 6-bit display code. QTRM will supply t h e fi n a l z e r o - b y t e t e r m i n a t o r f o r 6 - b i t d i s p l a y code data for device-to-application connections (this QTRM function .is described in more detail under the heading QTRM Formatting of DisplayCoded Output). Place the size of the current transmission in t h e c u r r e n t - t r a n s - s i z e fi e l d o f t h e n e t w o r k information table. All embedded line termi nators of either type must be included in the character count comprising the current trans m i s s i o n s i z e . I f a c h a r - s e t fi e l d v a l u e o t h e r t h a n 4 i s u s e d , a n y fi n a l u n i t s e p a r a t o r m u s t also be included in the character count; if a char-set field value of 4 is used, the character count should not include the zero-byte line terminator that QTRM supplies automatically for device-to-application connections. Place the correct value in the max-trans-size fi e l d o f t h e n e t w o r k i n f o r m a t i o n t a b l e , i f t h a t information was not stored there before a pre vious QTRM call. The max-trans-size value can be changed before any QTPUT call, because the output text area used for the call can be changed. QTRM uses the value in this field to determine the starting point of any backward scanning it is required to perform. Figure 8-3. QTPUT Statement COBOL Call Format B e f o r e m a k i n g a c a l l t o Q T P U T, t h e a p p l i c a t i o n program must perform the following operations: Check the connection entry in the network information table to which the QTPUT call a p p l i e s . T h e c u r r e n t - a b l a n d / o r s t a t e fi e l d must contain values that permit the call to be made. Ensure that the connection number identifying the connection to which the call applies is in t h e c o n n e c t i o n - n u m b e r fi e l d o f t h e n e t w o r k information table. P l a c e a 1 i n t h e i n t - m s g fi e l d o f t h e n e t w o r k i n f o r m a t i o n t a b l e i f t h a t a c t i o n i s n e c e s s a r y. This field must be used to service a device in terminal class 4 correctly when output queuing is performed. Devices in that class, such as the 2741, have lockable keyboards. When output begins, the network software locks the device keyboard. The keyboard remains locked until a block is delivered that has an int-msg value of 0 associated with it. Then the keyboard is unlocked and no m o r e o u t p u t t o t h e d e v i c e i s permitted until input is completed. If a mes sage comprising nine blocks is being sent to t h e d e v i c e , t h e fi r s t e i g h t m u s t h a v e t h e i n t msg field set to 1 to prevent the network soft ware from interpreting an intermediate portion of a message (a single block) as the entire message and prohibiting output of the remainder of the blocks. The last block of a message m u s t a l w a y s h a v e t h e i n t - m s g fi e l d s e t t o 0 before it is sent. When the QTPUT call is completed, the data block involved in the call usually is in transit through the network but is not necessarily already delivered to the connection. Delivery of the block, and the p o s s i b i l i t y o f a d d i t i o n a l Q T P U T c a l l s f o r t h e same connection, can be tracked through QTGET calls and t h e fi e l d s o f t h e c o n n e c t i o n e n t r y I n t h e n e t w o r k information table. QTRM sometimes cannot transmit a block through the n e t w o r k w h e n a Q T P U T c a l l i s m a d e . A f t e r return from the QTPUT call, the application program should c h e c k t h e r e t u r n - c o d e fi e l d o f t h e n e t w o r k i n f o r mation table to determine whether the block was actually transmitted.. , Yes No Yes Main body of user logic — Process this message Send reply, or place transmission that cannot be sent (due to logjam) on top of stack, with its connection number Scan from bottom of stack looking for a transmission that can now be sent Yes Send it and remove it from the stack Figure 8-8. Algorithm for Output Buffering Using QTRM When an application program services only one connection, the network can be made to cope with situations where the program produces output faster than a device can reproduce the output. The program sets the sleep parameter to a positive integer, and the network simply rolls the program out of central memory until the device catches up with the program. Programs can also be coded for the opposite (typeahead) environment, when the terminal user wants to enter many input messages and receive only one out put transmission. Input queuing and support of typeahead are not discussed in this manual. Typea h e a d c a n b e s u p p o r t e d w i t h o u t a n y interaction of an application program with the network protocol. You cannot use the sleep parameter as a solution when the application program services more than one connection because the program is always rolled back in when input is available from any connection. Thus, input from device B brings the program back into central memory even though the output backlog for device A has not disappeared. A program serv icing several connections always requires an output queuing algorithm that applies to each, when each connection potentially can be sent more than one block in a single message. The primary control variable of the output queuing a l g o r i t h m i s t h e c o n n e c t i o n n u m b e r. B o t h t h e accompanying flow chart and the sample progam code depend on the use of the connection number field in c o n j u n c t i o n w i t h t h e c o n n e c t i o n e n t r y fi e l d s o f t h e network information table during the output queue scanning process. 60499500 R A n a p p l i c a t i o n p r o g r a m c a n c o n t r o l t h e fl o w o f i t s o u t p u t t o a s p e c i fi c c o n n e c t i o n b y c h e c k i n g t h e c u r r e n t - a b l fi e l d o f t h e c o n n e c t i o n e n t r y i n t h e 8-17 network information table before each QTPUT call i n v o l v i n g t h a t c o n n e c t i o n . I f t h e fi e l d c o n t a i n s a zero, the call cannot be made without violating n e t w o r k p r o t o c o l ; i f t h e fi e l d d o e s n o t c o n t a i n a zero, the QTPUT call can be made. The current-abl, acknowledged-abn, and other fields in the network information table are only updated by QTRM during processing of a QTGET call. Tests of these fields are not meaningful unless a QTGET c a l l i s m a d e b e f o r e t h e t e s t s . To p r o p e r l y c o n t r o l o u t p u t fl o w, t h e a p p l i c a t i o n p r o g r a m m u s t m a k e periodic calls to QTGET with a positive value in the s l e e p fi e l d o f t h e n e t w o r k i n f o r m a t i o n t a b l e , regardless of whether the program expects input from a connection. The size of the positive value is a tuning consideration determined by such things as the average length of output blocks and the speed of the device being serviced. These QTGET calls return control to the program after the sleep per i o d . T h e p r o g r a m c a n t h e n t e s t the current-abl field and make any QTPUT calls that have become feasible. A QTPUT call is feasible whenever the current-abl value is nonzero. If the value is zero, another QTGET call must be made. A l t e r n a t i v e l y, t h e a p p l i c a t i o n p r o g r a m c a n q u e u e its input requests. When the flow control algorithm described previously shows that a QTPUT call can be made, the program can generate only enough output for one QTPUT call. After making the call, an uncompleted input request is returned to the queue to await additional processing the next time the fl o w c o n t r o l a l g o r i t h m p e r m i t s a n o t h e r Q T P U T c a l l for the connection. This approach requires a small input queue for each connection, but does not require large internal buffers for output storage. The second approach minimizes field length require ments and mass storage access requirements for the program. Also, the program can avoid wasted output processing when the terminal user issues a userbreak to terminate output after only one or two blocks of the output have been delivered. With the first approach, processing for the remainder of the output has already occurred and is wasted. With the second approach, no processing for the addi tional output occurred and therefore the additional processing can be bypassed. /*^^V SAMPLE PROGRAM An application program can use two forms of output fl o w c o n t r o l q u e u i n g . T h e p r o g r a m c a n a c t u a l l y generate all output required as a response to one input, then queue the output in large internal buf f e r s o r d i s k fi l e s . T h i s q u e u e d o u t p u t i s t h e n spooled to the connection in QTPUT calls involving one or more lines in blocks up to the max-block-size value for the connection entry in the network information table. The algorithm already described is used to control the occurrence of the QTPUT calls. Figure 8-9 contains the source code listing for a COBOL program that demonstrates use of QTRM in the simplest form possible. Program ECH0-RMV2 is simi lar to the FORTRAN program RMV3 shown in section 7. Both programs return to the terminal user each block entered from the device. Both programs queue output blocks and permit a prompting message to be output after each returned message. Both programs acknowledge entry of a user-break character with dialog. Both programs shut down operation after receiving a terminal operator command. i^Sss\ 8-18 60499500 R CDC COBOL 5.3 - LEVEL 588 SOURCE LISTING OF ECHO-RM AOPT= 66/CDC/CDCS2 83/06/16. 12.21.30. yS^N, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 0 PAGE 1 IDENTIFICATION DIVISION. PROGRAM-ID. ECH0-RMV2. ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 NETWORK-INFORMATION-TABLE. 02 GLOBAL-PORTION. 03 APPLICATION-NAME PIC X(7). 03 CHARACTER-SET PIC 9 COMP-4. 03 NUMBER-CONNECTIONS PIC 999 COMP-4. 03 NAM-SUPERVISOR-WORD PIC X(10). 03 FILLER PIC X(19). 03 APPLICATION-TO-APPLICATION PIC 9 COMP-4. •THE PICTURE SIZE USED FOR COMPUTATIONAL ITEMS SUCH AS *MAX-TRANS-SIZE AND SLEEP IS CHOSEN TO PERMIT STORAGE OF ♦THE LARGEST POSSIBLE FIELD VALUE WITHOUT TRUNCATION OF ♦ T H E VA L U E D I G I T S . i * u « u . « n u n u r 03 MAX-TRANS-SIZE PIC 999 COMP-4. 03 MESSAGE-LENGTH PIC 999 COMP-4. 03 SLEEP PIC S9 COMP-4. 03 CONNECTION-NUMBER PIC 999 COMP-4. 03 RETURN-CODE PIC 9 COMP-4. 03 SECONDARY-RETURN-CODE PIC 9 COMP-4. 03 INTERMEDIATE-MESSAGE PIC 9 COMP-4. 03 NEXT-APPLICATION-NAME PIC X(7). 03 REQUESTED-APPLICATION-NAME PIC X(7). 03 DESTINATION-HOST PIC X(3). 03 FILLER PIC X(33). 02 TERMINAL-ENTRY OCCURS 5 TIMES. 03 TERMINAL-NAME PIC X(7). 03 TERMINAL-CLASS PIC 9 COMP-4. 03 PAGE-WIDTH PIC 999 COMP-4. 03 FAMILY-NAME PIC X(7). 03 DEVICE-TYPE PIC X. 03 PAGE-LENGTH PIC 999 COMP-4. 03 USER-NAME PIC X(7). 03 FILLER PIC X. 03 MAXIMUM-BLOCK-SIZE PIC 999 COMP-4. 03 ABL PIC 9 COMP-4. 03 CURRENT-ABN PIC 9(4) COMP-4. 03 ACKNOWLEDGED-ABN PIC 9(4) COMP-4. 03 STATE PIC 9 COMP-4. 03 FILLER PIC X. 03 CURRENT-ABL PIC 9 COMP-4. 03 FILLER PIC X(10). 03 UPLINE-ABH PIC X(10). 03 DOWNLINE-ABH PIC X(10). 03 FILLER PIC X(30). COLUMN 12 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Figure 8-9. Sample Program ECH0-RMV2 Source Listing (Sheet 1 of 7) /3$!IA TE"MESSAGE (INX"1) T0 CONNECTION-NUMBER INTERMEDIATE-MESSAGE. MOVE S-CONNECTION-NUMBER (INX-1) TO Move™!: «ONNEC"ON-NUMBER) = 3 GO TO RECE Se-EXu! * MOVE "." TO PRINT-CONTROL. MOVE S-MESSAGE (INX-1) TO OUT-MESSAGE PERFORM QUEUE-COMPRESSION VARYING INX-2 FROM INX-1 BY 1 UNTIL INX-2 = QUEUE-SIZE. SUBTRACT 1 FROM QUEUE-SIZE. PERFORM SENDER THRU SEND-EXIT. IF QUEUE-SIZE = 0 GO TO RECEIVER ELSE GO TO QUEUE-OUTPUT-CODE. RECEIVE-EXIT. EXIT. QUEUE-SCAN. MOVE S-CONNECTION-NUMBER (INX-1) TO CONNECTION-NUMBER IF CURRENT-ABL (CONNECTION-NUMBER) EXCEEDS 0 MOVE 1 TO FOUND-FLAG. QUEUE-COMPRESSION. MOVE QUEUE-ENTRY (INX-2 + 1) TO QUEUE-ENTRY (INX-2). FLUSH-QUEUE. SET INX-1 INX-2 TO 1. PERFORM FLUSH-LOOP UNTIL INX-2 EXCEEDS QUEUE-SIZE. SET INX-1 DOWN BY 1. SET QUEUE-SIZE TO INX-1. FLUSH-LOOP. IF S-CONNECTION-NUMBER (INX-1) = CONNECTION-NUMBER SET INX-2 UP BY 1 ELSE PERFORM CONDITIONAL-QUEUE-MOVE SET INX-1 INX-2 UP BY 1. CONDITIONAL-QUEUE-MOVE. IF INX-1 NOT = INX-2 MOVE QUEUE-ENTRY (INX-2) TO QUEUE-ENTRY (INX-1). SENDER. IF CURRENT-ABL (CONNECTION-NUMBER) = 0 PERFORM PUSH-DOWN-QUEUE GO TO SEND-EXIT. ♦THE PROGRAM HAS QTRM SCAN BACKWARDS THROUGH THE MESSAGE ♦AREA AND TRUNCATE THE MESSAGE AUTOMATICALLY. THIS PROCEDURE COLUMN 12 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Figure 8-9. Sample Program ECH0-RMV2 Source Listing (Sheet 5 of 7) 60499500 R 8-23 CDC COBOL 5.3 - LEVEL 588 SOURCE LISTING OF ECHO-RM AOPT= 66/CDC/CDCS2 83/06/16.12.21.30. PAGE 6 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 ♦IS COMPARABLE TO THE ONE USED BY CYBER RECORD MANAGER FOR ♦Z-TYPE RECORDS. * MOVE 0 TO MESSAGE-LENGTH. ENTER FORTRAN-X QTPUT USING OUTGOING. * ♦IF NAM HAS STOPPED OUTPUT ON THE CONNECTION TEMPORARILY, OR IF ♦THE BLOCK LIMIT HAS BEEN EXCEEDED (AN EVENT THAT SHOULD NOT ♦HAPPEN) FOR THE CONNECTION, THE MESSAGE IS RETURNED TO THE ♦QUEUE FOR A LATER TRY. * IF RETURN-CODE = 5 PERFORM PUSH-DOWN-QUEUE. SEND-EXIT. EXIT. PUSH-DOWN-QUEUE. ADD 1 TO QUEUE-SIZE. IF QUEUE-SIZE EXCEEDS 60 DISPLAY "QUEUE OVERFLOW ABORT" PERFORM DUMPER VARYING INX-1 FROM 1 BY 1 UNTIL INX-1 EXCEEDS 60 STOP RUN. MOVE INTERMEDIATE-MESSAGE TO S-INTERMEDIATE-MESSAGE (QUEUE-SIZE). MOVE CONNECTION-NUMBER TO S-CONNECTION-NUMBER (QUEUE-SIZE), MOVE OUT-MESSAGE TO S-MESSAGE (QUEUE-SIZE). ♦THE FOLLOWING PROMPT IS MANDATORY, BECAUSE QTRM DOES NOT ♦AUTOMATICALLY ISSUE A PROMPT TO A NEW ♦CONNECTION TO INITIALIZE THAT CONNECTION. THE FOLLOWING ♦PROMPT IS SENT BECAUSE GOOD PROGRAMMING PRACTICE ♦REQUIRES A NETWORK APPLICATION PROGRAM TO IDENTIFY ITSELF ♦TO A TERMINAL USER. * DISPLAY-BANNER. MOVE "." TO PRINT-CONTROL. MOVE "THIS IS RMV2 USING QTRM. ENTER SOMETHING." TO OUT-MESSAGE. PERFORM SENDER THRU SEND-EXIT. BANNER-EXIT. EXIT. ♦NO CALL TO QTENDT IS NECESSARY DURING THIS PROCESSING BRANCH, ♦BECAUSE QTRM AUTOMATICALLY CLEANS UP THE CONNECTION WHEN IT ♦RETURNS THE CONNECTION-BROKEN STATUS. * CONNECTION-BROKEN-ROUTINE. DISPLAY "CONNECTION BROKEN - TERMINAL USER HUNG UP " CONNECTION-NUMBER DISPLAY " FAMILY " FAMILY-NAME (CONNECTION-NUMBER) /'*a%. COLUMN 12 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Figure 8-9. Sample Program ECH0-RMV2 Source Listing (Sheet 6 of 7) yf^Sij^Sy 8-24 60499500 R CDC COBOL 5.3 - LEVEL 588 SOURCE LISTING OF ECHO-RM AOPT= 66/CDC/CDCS2 83/06/16. 12.21.30. 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 PAGE 7 ro rSJfLAY CB—EXIT . " USER " USER-NAME (CONNECTION-NUMBER). EXIT. ♦THE WAIT-FOR-QUIET CALLS PROVIDE A DELAY LOOP FOR THE t™I«!r ™ !;LEAN UP ALL OUTSTANDING MESSAGE ♦TRAFFIC RELATED TO THE SHUTDOWN.SUPERVISORY WITHOUT THIS LOOP ♦SOME TERMINAL CONNECTIONS WOULD RECEIVE AN ' ♦"APPLICATION FAILED" MESSAGE. * WRAP-UP. PERFORM GRACEFUL-DISCONNECTS THRU GD-EXIT VARYING CONNECTION-NUMBER FROM 1 BY 1 UNTIL CONNECTION-NUMBER = 6. ENTER FORTRAN-X QTCLOSE. STOP RUN. GRACEFUL-DISCONNECTS. IF STATE (CONNECTION-NUMBER) = 2 PERFORM FLUSH-QUEUE MOVE 0 TO INTERMEDIATE-MESSAGE MOVE "." TO PRINT-CONTROL MOVE "SHUTDOWN COMING" TO OUT-MESSAGE PERFORM SENDER THRU SEND-EXIT ENTER FORTRAN-X QTENDT. GD-EXIT. EXIT. END-CONNECTION. PERFORM FLUSH-QUEUE MOVE 0 TO INTERMEDIATE-MESSAGE MOVE "." TO PRINT-CONTROL MOVE "GOODBYE FOR NOW.." TO OUT-MESSAGE. PERFORM SENDER THRU SEND-EXIT. ENTER FORTRAN-X QTENDT. EC-EXIT. EXIT. DUMPER. DISPLAY S-CONNECTION-NUMBER (INX-1) S-MESSAGE (INX-1). COLUMN 1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Figure 8-9. Sample Program ECH0-RMV2 Source Listing (Sheet 7 of 7) Figure 8-10 shows the commands used to execute ECH0-RMV2. ECH0-RMV2 exists as a direct access source code file named RMV2. Figure 8-11 contains a complete debug log file listing for a single execution of ECHO-RMV2. This log file is very similar to the one shown in sec tion 7 for program RMV3 because both programs use essentially the same AIP routines for the same functions and support the same kind of dialog. Figure 8-12 contains a statistics file listing for ECHO-RMV2. Figure 8-13 is a console printer listing for two sequential connections using ECHO-RMV2 during a single execution of that program. The listing includes program-generated messages and a console input message that is echoed back. 60499500 R ATTACH,RMV2. COBOL5,I=RMV2. LDSET(LIB=NETIOD) LGO. REWIND,ZZZZZSN. COPY,ZZZZZSN. DLFP(1=0) COPY,INPUT,QTRMEXP. REWIND,QTRMEXP. SAVE,QTRMEXP. Figure 8-10. ECH0-RMV2 Job Commands 8-25 83/06/16 PAGE 00001 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/06/16 12.21.41.000 NETON (004750) ANAME = RMV2 NSUP ADDR = 001507 MINACN =00001 MAXACN =00005 DATE = 83/06/16 MSG NO. 000001 12.21.41.039 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 C20100000000000 60400400000000000000 DCTRU B MSG NO. 000002 12.22.16.257 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0011 001 630000001400200 30600000000120001000 CONREQ 002 51C75D7ADB45018 24343535365555050030 T1223 E X UW-4P 003 0000000000001C2 00000000000000000702 G B 004 00000000023840B 00000000000010702013 H'PK 005 xxxxxxx6DB40011 xxxxxxxxxx55550O0021 x x x x x Q M B ca 006 xxxxxxxEl880037 xxxxxxxxxxxx42Q00067 xxxxxxx & 16A 7 007 000FF8FFFFFFFFF 00007770777777777777 r trt/0/ 008 FFF3400001FFFFF 77771500000007777777 009 000000000000F6F 00000000000000007557 010 7C014034460D189 37000500150430150611 4 E MDXMFI WS D3Q MSG NO. 000003 12.22.16.257 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 634000001400101 30640000000120000401 CONREQN CB MSG NO. 000004 12.22.16.352 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830700001000000 40603400000100000000 FCINIT MSG NO. 000005 . X f fl ^ y 12.22.16.352 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 834700001000000 40643400000100000000 FCINITN G MSG NO. 000006 12.22.16.353 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000001 ACT =04 STATUS = 00000000 TLC = 0050 001 BD42094ED253B52 57241011235511235522 .THIS IS R =B NRS5 002 35676D55324E1ED 15263555252311160755 MV2 USING #VVUS$AM 003 45448DBED14E505 21242215575505162405 QTRM. ENTE ED >QNP 004 4AD4CF34550824E 22552317150524101116 R SOMETHIN T-LSEP N 005 1EF000000000000 07570000000000000000 G. P MSG NO. 000007 Figure 8-11. Debug Log File Listing for ECH0-RMV2 (Sheet 1 of 11) ^&e$\ 8-26 60499500 R 1 RMV2 J LOG FILE OUTPUT DATE RECORDED - 83/06/16 83/06/16 PAGE 00002 1AR?2:n$,7IL nnnn NETGET (006312>ACT ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 =01 STATUS = OOOOOOnn Tir-nr.ni MSG NO. 000008 1«?'n?*4lL nnn. UBTGEJL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 nn, =00°1 ABN =00000° ACT =04 STATUS 00000000 TLCI = 0047 001cIS? 50816D385614B43 24100555160530245503 THE=NEXT CP M8V 002 2014810D4152B49 10012201032405225511 HARACTM I 2 H T +1 S™ t"°6D553152982 23550155252305224602 S A USER-B NPMU1R nnt 13463555031001 REAK-2 42 0054?504B99DB43201 4810D4152BC0000220501 22010324052257000000 RACTER.CHA $H T9 +a MSG NO. 000009 1?^3'1?'412 HA =04 =003451 =001614 TLC = 0050 ABT =01 ADR NETPUT =0001 ABN(0°6634) =000002 ACT STATUSTA = 00000000 001 BD4205B4E15852D 57241005551605302455 .THE NEXT =B 4AXR 002 0C80520435054AD 03100122010324052255 CHARACTER PH CPT003 253B41B554C54A6 11235501552523052246 IS A USER X;A5TEJ S' 0052!2;!412E676I)0C8 0520435054AF00002220501134635550310 01220103240522570000 BREAK-2 ARACTER.CH B FVPH CPT/ MSG NO. 000010 001 830200001000040 40601000000100000100 FCACK " 12.23.18.413 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000003 ACT =04 STATUS = 00000000 TLC = 0020 MSG NO. 000011 SrS 57160530245505162422 .NEXT ENTR 002 fJSSSSISSl? 679000000000000 31710000000000000000 Y? S 003 614B45394499E40 30245505162422317100 XT ENTRY? AKE9D D 004 000000000000000 OOOOOOOOOOOOOOOOOOOO MSG NO. 000017 12.23.27.827 NETGETL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 ABT =03 ADR =0001 ABN =000000 ACT =02 STATUS = 00000000 TLC = 0002 001 CA0000353220202 62400000152310401002 BIMARK MSG NO. 000018 12.23.28.833 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830200001000000 40601000000100000000 FCACK MSG NO. 000019 12.23.28.833 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830200001000100 40601000000100000400 FCACK MSG NO. 000020 12.23.47.074 NETGETL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 ABT =02 ADR =0001 ABN -OOOOOO ACT =04 STATUS = 00000000 TLC = 0047 001 50816D385614B43 24100555160530245503 THE NEXT C P M8V 4 002 2014810D4152B49 10012201032405225511 HARACTER I 2HT+I 003 4ED06D553152982 23550155252305224602 S A USER-B NPMU1R 004 48504B99CB43201 22050113463455031001 REAK-1 CHA $ 9 42 005 4810D4152BC0000 22010324052257000000 RACTER. H T +a MSG NO. 000021 12.23.47.075 NETPUT (006634) HA =003451 TA =001614 ABT =01 ADR =0001 ABN =000000 ACT =04 STATUS = 00000000 TLC = 0050 001 BD4205B4E15852D 57241005551605302455 .THE NEXT =8 4AXR 002 0C80520435054AD 03100122010324052255 CHARACTER PH CPT003 253B41B554C54A6 11235501552523052246 IS A USER- X;A5TEJ 004 0921412E672C0C8 02220501135634550310 BREAK-1 CH a FRPH MSG NO. 000022 /■^®^y Figure 8-11. Debug Log File Listing for ECH0-RMV2 (Sheet 3 of 11) 8-28 60499500 R RHV2 LOG FILE OUTPUT DATE RECORDED - 83/06/16 005 0520435054AF000 01220103240522570000 ARACTER. 83/06/16 PAGE 00004 CPT/ i :iS£ ISSrl"r"« ■ - n^?'^'°lL nnn« NETPUT C006634) HA =003451 TA =001614 MSG NO. 000023 MSG NO. 000024 "'si Haas "s"-^™ «■s ™™"'sss.v' rS .' k1 ,' ™ -» MSG NO. 000025 001 830200001000180 40601000000100000600 FCACK 1^|-°^ ,SKIafigs,ST ^ 1?A°?US- SSSSSo ^3 001=0000 800003001000000 40000003000100000000 INTRUSR "t^oo,™* ' MSG NO. 000026 1?p?4' n^'°»L nnnn NETPUT <006634> HA=01 =003451 TA==003501 ABT =03 ADR =0000 ABN =000000 ACT STATUS 00000000 ti r - nnni 001 800100001000000 40000400000100000000 INTRRSP " °1 MSG NO. 000027 1?:?4,!£-067 HA =02 =003451 =003501 TLC = 0002 ABT =03 ADR NETPUT =0001 ABN^006634) =000000 ACT STATUSTA= 00000000 001 CBOOO00O00OOO00 62600000000000000000 ROMARK MSG NO. 000028 1?^4'K*0?7 <006634) HA =04 =003451 TA= 00000000 =001614 TLC = 0040 ABT =02 ADRNETPUT =0001 ABN =000007 ACT STATUS 001 BCE3ED0435O93CE 57161755010324111716 .NO ACTION S 003 614B45394499E40 30245505162422317100 XT ENTRY? AKE9D D 004 000000000000000 oooooooooooooooooooo MSG NO. 000029 12.24.06.070 NETGETL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 ABT ™3 *ASJL«2P£L mH =000000 ACT =02 STATUS = 00000000 TLC = 0002 001 CAOOOOOOOOOOOOO 62400000000000000000 BIMARK MSG NO. 000030 Figure 8-11. Debug Log File Listing for ECH0-RMV2 (Sheet 4 of 11) j0^\ 60499500 R 8-29 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/06/16 83/06/16 PAGE 00005 12.24.08.398 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830200001000000 40601000000100000000 FCACK MSG NO. 000031 12.24.08.421 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 8302000010001CO 40601000000100000700 FCACK MSG NO. 000032 12.24.30.931 NETGETL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 ABT =02 ADR =0001 ABN =000000 ACT =04 STATUS = 00000000 TLC = 0036 001 50816D385614B45 24100555160530245505 THE NEXT E P M8V 4 002 394499B494ED06D 16242231551123550155 NTRY IS A SI INPM 003 0921412ED24E109 02220501135511160411 BREAK INDI !A.RN 004 0C15OF4AFO000O0 03012417225700000000 CATOR. APT/ MSG NO. 000033 12.24.30.931 NETPUT (006634) HA =003451 TA =001614 ABT =01 ADR =0001 ABN =000008 ACT =04 STATUS = 00000000 TLC = 0040 001 BD4205B4E15852D 57241005551605302455 .THE NEXT =B 4AXR 002 14E51266D253B41 05162422315511235501 ENTRY IS A QNQ&MX;A Q03 B4248504BB49384 55022205011355111604 BREAK IND 4$ ;I8 004 2430543D2BC0000 11030124172257000000 ICATOR. BC CR< MSG NO. 000034 12.24.30.932 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000009 ACT =04 STATUS = 00000000 TLC = 0020 001 BCE15852D14E512 57160530245505162422 .NEXT ENTR \ 83/06/16 PAGE 00006 IIIS 1 NETPUT HAACT =003451 TA =003501 ABT =03 ADR =0000(°06634) ABN =000000 =01 STATUS = 00000000 TLC = finm MSG NO. 000039 1?B?4:S'5!lo nnn, NETPUT (°06634) HA =003451 TA =003501 nn, T =00°1 ** =00000° ACT =02 STATUS = 00000000 TLC = 0002 001 CBOO0OOO00O00OO 62600000000000000000 ROMARK MSG NO. 000040 1ART4'S*5*L nnn. NETPUT <006634> HA =003451 TA =001614 nS? oA«c^2??InrtABN =0°0010 ACT =04 STATUS 00000000 001 BCE3ED0435093CE 57161755010324111716 .NO = ACTION S 003 614B45394499E40 30245505162422317100 XT ENTRY' AKE9D D 004 000000000000000 OOOOOOOOOOOOOOOOOOOO MSG NO. 000041 1«!4"S'5!? « NETGETL (006326) HA =003451 TA =001602 TLMAX =0012 ABT =03 ADR =0001 ABN =000000ALN ACT=0001 =02 STATUS = 00000000 TLC =0002 001 CA0000657300202 62400000312714001002 BIMARK MSG NO. 000042 ^^'H'°iL nnnn (006312) =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADRNETGET =0000 ABN =000000AC" ACT =01 STATUS = 00000000 TLC =0001 001 830200001000000 40601000000100000000 FCACK MSG NO. 000043 12.24.34.042 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830200001000280 40601000000100001200 FCACK ( MSG NO. 000044 12.26.27.632 NETGETL (006326) ALN =0001 HA =003451 TA =001602 TLMAX =0012 ABT =02 ADR =0001 ABN =000000 ACT =04 STATUS = 00000000 TLC = 0003 001 14E100000000000 05160400000000000000 END A MSG NO. 000045 12.26.27.632 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000011 ACT =04 STATUS = 00000000 TLC = 0020 001 BC73CF102645B46 57071717040231055506 .GOODBYE F P MSG NO. 000046 001 800100001000000 40000400000100000000 INTRRSP /0®*\ Figure 8-11. Debug Log File Listing for ECH0-RMV2 (Sheet 6 of 11) 60499500 R 8-31 RMV2 LOG FILE OUTPUT DATE RECORDED - 83/06/16 83/06/16 PAGE 00007 12.26.27.632 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 C00000001OOOOOO 60000000000100000000 LSTOFF 3 MSG NO. 000047 12.26.27.632 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0002 001 630600001000000 30603000000100000000 CONEND C 002 2411ADB6DB40000 11010655555555000000 IAF A CM4 MSG NO. 000048 12.26.27.727 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 634600001000000 30643000000100000000 CONENDN CF MSG NO. 000049 12.26.41.158 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STAT US = 00000000 TLC = 0011 001 630000001400200 30600000000120001000 CONREQ 002 51C75D7ADB45018 24343535365555050030 T1223 E X UW-4P 003 0000000000001C2 00000000000000000702 G B 004 00000000023840B 00000000000010702013 H'PK 005 xxxxxxxxDB40011 xxxxxxxxxx5555000021 x x x x x Q m b ca 006 xxxxxxxxx880037 xxxxxxxxxxxxxx000067 xxxxxxx 8 16A 7 007 000FF8FFFFFFFFF 00007770777777777777 / ///rr r 008 FFF3400001FFFFF 77771500000007777777 ; ; M G ; ; ; 009 000000000000F6F 00000000000000007557 010 7C014034460D189 37000500150430150611 4 E MDXMFI W3 DSQ MSG NO. 000050 12.26.41.158 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 634000001400101 30640000000120000401 CONREQN CS MSG NO. 000051 12.26.41.656 NETGET (006312) ACN =0000 HA =003451 TA =003501 TLMAX =0063 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 830700001000000 40603400000100000000 FCINIT MSG NO. 000052 12.26.41.656 NETPUT (006634) HA =003451 TA =003501 ABT =03 ADR =0000 ABN =000000 ACT =01 STATUS = 00000000 TLC = 0001 001 834700001000000 40643400000100000000 FCINITN G MSG NO. 000053 12.26.41.656 MSG NO. 000054 NETPUT (006634) HA =003451 TA =001614 Figure 8-11. Debug Log File Listing for ECH0-RMV2 (Sheet 7 of 11) 8-32 60499500 R RMV2 LOG FILE OUTPUT DATE RECORDED - 83/06/16 ABT =02 ADR =0001 ABN 001 BD42094ED253B52 002 35676D55324E1ED 003 45448DBED14E505 004 4AD4CF34550824E 005 1EF000000000000 =000001 ACT =04 STATUS = 00000000 TLC = 0050 57241011235511235522 .THIS IS R =B NRS5 15263555252311160755 MV2 USING WVUSSAM 21242215575505162405 QTRM. ENTE ED >QNP 22552317150524101116 R SOMETHIN T-LSEP N 07570000000000000000 G . P 1h?6'i!'2°7 NETGET <°06312) ACN =0000 HA =003451 TA =003501 TLMAX -nOA7 2? ABN =00000° ACT =01 STATUS = 00000000 TLC = 0001 001JSISSSSL 830200001000040 40601000000100000100 FCACK 12.27.27. 901 ABT =01 ADR =0001 N SSET nnn22S3ACT 26>A=04 LN = 0001 HA==00010000 003451 TATLC =001=600100 2 TLMAX =0012 ABN =000000 STATUS 001 24101123551123550155 THIS IS A PUS43PH M 002 c?S2SS494ED06D 0048141120 24312005011005010455 TYPEAHEAD 003 5054D4BAD14E505 24052324565505162405 TEST, ENTE PTT QNP 004 489387B414ED355 22111607550123551525 RING AS MU T 8CANSU 005 0C8B5415852D053 03105524053024550123 CH TEXT AS T 006 B503D34C908C16D 55201723231102140555 POSSIBLE -P=4I AM 007 50F8430554C5B4D 24175503012523055515 TO CAUSE M PCC TE4 008 54C50940C16D385 25142411201405551605 ULTIPLE NE ULP S 009 5173D22ED08C3C3 24271722135502141703 TWORK BLOC QSR.P < 010 2D3B5540C24E16D 13235525201411160555 KS UPLINE 2S5T SAM 12.27.27 ABT =01 001 002 003 004 005 006 007 008 009 010 011 83/06/16 PAGE 00008 901 NETPUT (006634) HA =003451 TA =001614 ADR =0001 ABN =000002 ACT =04 STATUS = 00000000 TLC = 0110 BD42094ED253B41 57241011235511235501 .THIS IS A =8 N.RS4 B54650141205044 55243120050110050104 TYPEAHEAD TE A PD B5415352EB45394 55240523245655051624 TEST, ENT 5ASRKE9 15224E1ED053B4D 05221116075501235515 ERING AS M AR$AM ;M 54322D505614B41 25031055240530245501 UCH TEXT A T2-PV 4 4ED40F4D3242305 23552017232311021405 S POSSIBLE M3TS$# B543ED0C155316D 55241755030125230555 TO CAUSE 5CM S 355314250305B4E 15251424112014055516 MULTIPLE N SU1BP0CN 1545CF48BB4230F 05242717221355021417 ETWORK BLO EOH;BO 0CB4ED550309385 03132355252014111605 CKS UPLINE PKNUPO 000000000000000 OOOOOOOOOOOOOOOOOOOO MSG NO. 000055 MSG NO. 000056 MSG NO. 000057 12.27.27.902 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000003 ACT =04 STATUS = 00000000 TLC = 0020 001 BCE15852D14E512 57160530245505162422 .NEXT ENTR TE UH 054B54205B5048F 01245524100555202217 AT THE PRO KT CPH 1D204DE13B51545 07220115702355212505 GRAM'S QUE QR " 5 E 54598804E10C24E 25054610011604141116 UE-HANDLIN TY A $ 1ED0CF105B5724C 07550317040555271114 G CODE WIL AM Q 5RL MSG NO. 000061 12.27.52. ABT =01 001 002 003 004 005 006 007 008 009 010 12.27.52 ,200 NETPUT (006634) HA =003451 TA =001614 ABT =01 ADR =0001 ABN =000004 ACT =04 STATUS = 00000000 TLC = 0110 001 BD43ED50816D385 57241755241005551605 .TO THE NE =CMP M8 002 5173D22ED05040C 24271722135501202014 TWORKAPPL U ="M 003 24305424F3AD412 11030124111716552022 ICATION PR $OT$S-A 004 3C748136FB6D508 17072201155755552410 OGRAM. TH #GH 06U RNPS 4 005 16D24E505394B49 05551116240516245511 E INTENT I MPCSCW 006 4ED50FB53145B57 23552417552305055527 S TO SEE W -P MA 007 20152D50816D412 10012455241005552022 HAT THE PR 008 3C74813784ED455 17072201157023552125 OGRAM'S QU #GH XNTU QF 0 009 155166201384309 05250546100116041411 EUE-HANDLI 43D UI 010 387B433C416D5C9 16075503170405552711 NG CODE WI 0 011 300000000000000 14000000000000000000 L MSG NO. 000062 12.27.52.200 NETPUT (006634) HA =003451 TA =001614 ABT =02 ADR =0001 ABN =000005 ACT =04 STATUS = 00000000 TLC = 0020 001 BCE15852D14E512 57160530245505162422 .NEXT ENTR RN5 002 B"B443ED24EB54 2094ED24E4D404E57145504175511165524 10112355111623240116 HIS INSTAN B NRNM3N 003 0C5BC0000000000 03055700000000000000 CE. C3 ^I'Jf'll'^L ""^ (006312) ACNACT =000° =003451 TA =003501 TLMAX =0063 MSG NO. 000067 ABT =03 nnnn ADR =0000 ABN =000000 =01 »A STATUS = 00000000 TLC = 0001 001 830200001000140 40601000000100000500 FCACK 12oJ7'n!'7rL n =0000 NETGET ACN=01 =0000 HA =003451 TA TLC =003501 ABT =03 ADR ABN(006312) =000000 ACT STATUS = 00000000 = 0001TLMAX =0063 MSG NO. 000068 001 830200001000180 40601000000100000600 FCACK 1 2 . 2 7 . 5 3 . 7 7 8 N E T P U T ( 0 0 6 6 3 4 ) H A = 0 0 3 4 5 1 TA = 0 0 1 6 1 4 M S G N O 0 0 0 0 6 9 ABT =02 ADR =0001 ABN =000007 ACT =04 STATUS = 00000000 TLC = 0020 001 BCE15852D14E512 57160530245505162422 .NEXT ENTR (|) (» (") 6-Bit Display Code (Octal) I nput 74 61 75 62 76 (a) (C) (\) G) (^) 12-Bit ASCII (Octal) Output 0100 0133 0134 0135 0136 (B) (C) (\) (3) (^) Figure A-1. ASCII Character Folding /Ka(«|K A-2 60499500 R Terminal Transmission Modes Coded character data can be exchanged with a con versational terminal in two transmission modes. These two modes, normalized mode and transparent mode, correspond to the types of character code editing and translation performed by the network software during input and output operations. The terminal operator can change the input trans m i s s i o n m o d e u s i n g a t e r m i n a l d e fi n i t i o n c o m m a n d ( s o m e t i m e s c a l l e d a Te r m i n a l I n t e r f a c e P r o g r a m command). The application program providing the terminal facility service can change the Input or output transmission mode. Normalized Mode Transmissions Normalized mode is the initial and default mode used for both input and output transmissions. The network software translates normalized mode data to or from the transmission code used by the terminal into or from the 7-bit ASCII code shown in table A-2. (Tables A - l a n d A - 3 th r o u g h A - 7 a r e p r o v i d e d for use while coding an application program to run under the operating system; they do not describe character transmissions through the network.) T r a n s l a t i o n o f a s p e c i fi c t e r m i n a l t r a n s m i s s i o n code to or from a specific 7-bit ASCII code depends on the terminal class in which the network software places the terminal. The following paragraphs summarize the general case for normalized mode data code translations. This generalized description uses table A-2. The reader can extend this generalized description by using the other tables to determine character set mapping for functions initiated from a terminal. For example, the description under Terminal Output Character Sets can be used to predict whether a lowercase ASCII character stored in 6/12-bit dis play code can appear on an EBCDIC or external BCD terminal; if an ASCII character passes through the network represented in 7-bit ASCII as character mode data, it probably can be represented on an EBCDIC terminal, but it is always transformed to an uppercase character on a mode 4A ASCII terminal. Ta b l e A - 2 c o n t a i n s t h e A S C I I 1 2 8 - c h a r a c t e r s e t supported by the network software. The ASCII 96-character subset in the rightmost six columns minus the deletion character (DEL) comprises the graphic 95-character subset; the DEL is not a graphic character, although some terminals graphi cally represent it. The graphic 64-character subset comprises the middle four columns. Only the characters in this 64-character subset have 6-bit display code equivalents. Terminals that support an ASCII graphic 64-character subset actually use a subset of up to 96 charac ters, consisting of the graphic 64-character subset and the control characters of columns 1 and 2; often, the DEL character in column 7 is included. Terminals that support an ASCII graphic 95-character or 96-character subset actually might use all 128 characters. The hexadecimal value character in table A-2 column number in the number. For example, N 60499500 R of the 7-bit code for each consists of the character's table, followed by its row is in row E of column 4, so its hexadecimal value is 4E. The octal value for t h e c o d e w h e n i t i s r i g h t - j u s t i fi e d i n a n 8 - b i t byte appears beneath the character graphic or mnemonic. The binary value of the code consists of the bit values shown, placed in the order given by the subscripts for the letter b; for example, N is 1001110. Tables A-8 through A-19 show the normalized mode translations performed for each terminal class. The parity shown in the terminal transmission codes is the parity used as a default for the terminal class. The parity setting actually used by a t e r m i n a l c a n b e i d e n t i fi e d t o t h e n e t w o r k s o f t w a r e through a TIP command. Ta b l e s A - 8 t h r o u g h A - 1 9 c o n t a i n t h e g r a p h i c a n d control characters associated with the transmission codes used by the terminal because of the terminal class and code set in use. The network ASCII graphic and control characters shown are those of the standard ASCII character set associated with the ASCII transmission codes of table A-2. Terminal Output Character Subsets — Although the network supports the ASCII 128-character set, some terminals restrict output to a smaller character set. This restriction is supported by replacing the control characters in columns 0 and 1 of table A-2 with blanks to produce the ASCII graphic 95-character subset, and replacing the characters in columns 6 and 7 with the corresponding char a c t e r s f r o m c o l u m n s 4 a n d 5 , r e s p e c t i v e l y, t o produce the ASCII graphic 64-character subset. Terminal Input Character Subsets and Supersets — Although the network supports the ASCII 128character set, some terminals restrict input to a smaller character set or permit input of a larger character set. A character input from a device using a character set other than ASCII is converted to an equivalent ASCII character; terminal char acters without ASCII character equivalents are represented by the ASCII code for a space. Site-written terminal-servicing facility programs can also cause input or output character replace ment, conversion, or deletion by exchanging data with the network in 6-bit display code. Input Restrictions — The network software automat ically deletes codes associated with terminal communication protocols or terminal hardware func tions. These codes usually represent the cancel, backspace, linefeed, carriage return, and deletion characters. If paper tape support is requested, the device control 3 code also is deleted. Some of these code deletions can be suppressed by using the full-ASCII and special editing options (refer to the FA and SE terminal definition parameters in the N O S Ve r s i o n 2 R e f e r e n c e S e t , Vo l u m e 3 , S y s t e m Commands). Output Restrictions — All codes sent by an appli cation program are transmitted to the terminal. H o w e v e r, t h e 1 2 - b i t A S C I I c o d e 0 0 3 7 ( o c t a l ) , t h e 6/12-bit display code 7677 (octal), and the 7-bit ASCII code IF (hexadecimal) should be avoided in character mode output. The network software inter prets the unit separator character represented by t h e s e c o d e s a s a n e n d - o f - l i n e i n d i c a t o r. T h e processing of application program-supplied unit separators causes incorrect formatting of output and can cause loss of other output characters. A-3 Input Parity Processing — The network software does not preserve the parity of the terminal trans mission code in the corresponding ASCII code. An ASCII code received by the terminal-servicing facility program always contains zero as its eighth bit. Output Parity Processing — The network software provides the parity bit setting appropriate for the terminal being serviced, even when the software is translating from ASCII character codes with zero parity bit settings. Transparent Mode Transmissions Tr a n s p a r e n t m o d e i s s e l e c t e d s e p a r a t e l y f o r i n p u t and output transmissions. During transparent mode input, the parity bit is stripped from each terminal transmission code | (unless the N or I parity option has been selected b y a t e r m i n a l d e fi n i t i o n c o m m a n d ) , a n d t h e transmission code is placed in an 8-bit byte without translation to 7-bit ASCII code. Line transmission protocol characters are deleted from mode 4 terminal input. When the 8-bit bytes arrive i n t h e h o s t c o m p u t e r, a t e r m i n a l s e r v i c i n g f a c i l i t y program can right-justify the bytes within a 12-bit byte. During transparent mode output, processing similar to that performed for input occurs. When the host computer transmits 12-bit bytes, the leftmost 4 b i t s ( b i t s 11 t h r o u g h 8 ) a r e d i s c a r d e d . T h e c o d e in each 8-bit byte received by the network software is not translated. The parity bit appropriate for the terminal class is altered as indicated by the parity option In effect for the terminal. The codes are then transmitted to the terminal in bytes of a length appropriate for the terminal class. Line transmission protocol characters are inserted into mode 4 terminal output. Line Printer Output The printer train used on the line printer to which a file is sent determines which batch character set is printed. The following CDC print trains match the batch character sets in table A-3: Character Set Print Tr a i n Low Cost System Print Band CDC graphic 64-character set 596-1 ASCII graphic 64-character set 596-5 530-1 ASCII graphic 95-character set 596-6 530-2 The characters of the default 596-1 print train are listed in the table A-3 column labeled CDC Graphic (64-Character Set); the 596-5 print train charac ters are listed in the table A-3 column labeled ASCII Graphic (64-Character Set); and the 596-6 print train characters are listed in the table A-3 column labeled ASCII Graphic (95-Character Set). If an unprintable character exists in a line, NOS marks the condition by printing the number sign (it) i n t h e fi r s t p r i n t a b l e c o l u m n o f t h e l i n e . A s p a c e replaces the unprintable character within the line. When a transmission error occurs during the print i n g o f a l i n e , N O S m a k e s u p t o fi v e a t t e m p t s t o reprint the line. The CDC graphic print train p r i n t s a c o n c a t e n a t i o n s y m b o l ( r * ) i n t h e fi r s t column of the repeated line following a line con taining errors. The ASCII print trains print an underline ( _ ) instead of the concatenation symbol. A f t e r t h e fi f t h a t t e m p t , t h e s e t t i n g o f switch one for the batch input and output point determines further processing. NOS rewinds the file and returns it to the print or ignores the transmission errors. /^"*%\ sense control either queue, Punched Card Input and Output LOCAL BATCH USERS Ta b l e A - 3 l i s t s t h e C D C g r a p h i c 6 4 - c h a r a c t e r s e t , the ASCII graphic 64-character set, and the ASCII graphic 95-character set available on local batch devices. This table also lists the code sets and card keypunch codes (026 and 029) that represent the characters. The 64-character sets use 6-bit display code as their code set; the 95-character set uses 12-bit ASCII code. The 95-character set is composed of all the characters in the ASCII 128-character set that can be printed at a line printer (refer to L i n e P r i n t e r O u t p u t ) . O n l y 1 2 - b i t A S C I I c o d e fi l e s can be printed using the graphic ASCII 95-character set. The 95-character set is represented by the octal 12-bit ASCII codes 0040 through 0176. An octal 12-bit ASCII code outside of the range 0040 through 0176 represents an unprintable character. To p r i n t a 6 / 1 2 - b i t d i s p l a y c o d e fi l e , t h e u s e r m u s t c o n v e r t t h e fi l e t o 1 2 - b i t A S C I I c o d e . T h e NOS FCOPY control statement is used for this con version. A character represented by multiple punches in a s i n g l e c o l u m n h a s i t s p u n c h p a t t e r n i d e n t i fi e d b y numbers and hyphens. For example, the punches representing an exclamation point are identified as 11-0; this notation means both rows 11 and 0 are punched in the same column. A multiple punch pattern that represents something other than a character is identified by numbers and slashes. For example, the punches representing the e n d o f a n i n p u t fi l e a r e i d e n t i fi e d a s 6 / 7 / 8 / 9 ; this notation means rows 6 through 9 are punched in the same column. Coded character data is exchanged with card readers or card punches according to the translations shown in table A-3. As indicated in the table, other card keypunch codes are available for input of the ASCII and CDC characters [ and ]. NOS cannot read or punch the 95-character set as coded character data. Each site chooses either 026 or 029 as its default keypunch code. NOS begins reading an input deck in the default code (regardless of the character set • A-4 60499500 S ^ NETWORK FAILURE AND RECOVERY This section describes the types of network failure that are possible. Each type of failure has its own recovery techniques. APPLICATION PROGRAMS The present release of the network software makes no provision for data recovery if NIP or NVF failure occurs. The operator must reinitiate NAM. All application programs that are not system control point jobs are aborted. When the network process ing unit detects a network communication failure, it indicates the condition by displaying a message on all connected consoles. I f t h e N e t w o r k A c c e s s M e t h o d f a i l s ( s p e c i fi c a l l y, if NIP communication fails), the network software d u m p s N A M ' s fi e l d l e n g t h t o a s p e c i a l fi l e a n d e n t e r s a m e s s a g e i n t h e s y s t e m d a y fi l e . A l l application programs that are not system control point jobs are aborted, and a message is issued to the dayfile of each job. An aborted application program can reprieve itself under certain conditions without being reloaded. These conditions are described In section 6 and appendix B. A reprieved application program must issue a NETOFF call before it can issue a new NETON call. A new NETON call can be successfully com pleted as soon as a copy of the Network Access Method is restarted. If the reprieved program issues the NETOFF after the Network Access Method is restarted, the NETOFF is ignored. An NPU that has failed can be dumped before it is reloaded. Whenever an NPU fails, it is auto matically reloaded by the Network Supervisor (NS). When the NPU is reloaded, it requests supervision from the Communications Supervisor (CS). CS then informs the NPU operator and the host operator that it is now supervising the NPU. LOGICAL LINK Host failure, one of the causes of link failure, was previously described. Link protocol failure leads t o r e g u l a t i o n o f d a t a t r a f fi c u n t i l a l l m e s s a g e t r a f fi c c e a s e s o n t h e l i n k . A logical link may recover spontaneously (regulation level drops), or may be reinitialized by the host. I n t h e c a s e o f s p o n t a n e o u s r e c o v e r y, t h e l o g i c a l link protocol allows a restart without loss of data. Otherwise, all logical connections must be remade. Trunks connecting neighboring NPUs are a special c l a s s o f l i n k s . Tr u n k r e c o v e r y p r o t o c o l i s h a n d l e d by the Link Interface Package (LIP). TRUNK A trunk failure is detected by a failure of the trunk protocol. All data queued for transmission on the trunk is discarded. The failure is reported to the host. The trunk protocol detects the trunk recovery. The logical link protocol determines when the trunk can again be used for data block trans missions . HOST LINE If a host fails, the network processing unit (NPU) and its software must stop message processing to that host. Host unavailability is communicated to the other ends of all logical links. Also, the NPU sends an informative service message to all con nected, consoles (and to some other types of devices) informing the terminal that the host is u n a v a i l a b l e . A f t e r r e c o v e r y, a l l l o g i c a l l i n k s a r e reinitialized and new connections are made. Lines are disconnected, and CCP tables called terminal control blocks (TCBs) associated with the | lines are deleted. A line failure is detected by abnormal modem status or by the line protocol failure. The change of status is reported by CCP to CS in the host. The line is constantly monitered by CCP, and if the correct modem signals are present, CCP reactivates the line and requests TCB configuration from CS. NETWORK PROCESSING UNIT TERMINAL If an NPU fails, it must be reloaded from the host. Off-line diagnostic tests may be desirable during this period to help identify the cause of failure. Failure is detected by means of a 20-second timeout across the coupler. The NPU is forced to generate a load request message. Terminal status is reported and messages are dis carded. TCBs are not released. Once terminal failure has been detected, possible terminal recovery is monitored by a periodic status check or diagnostic poll made from the NPU to the terminal. Terminal recovery status is reported to CS. 60499500 S 9-1 /$^\ in use). The user can specify the alternate key punch code by punching a 26 or 29 in columns 79 and 80 of any job card, 6/7/9 card, or 7/8/9 card. The s p e c i fi e d t r a n s l a t i o n c o n t i n u e s t h r o u g h o u t t h e j o b unless the alternate keypunch code translation is specified on a subsequent 6/7/9 or 7/8/9 card. A 5/7/9 card with a punch in column 1 changes keypunch code translation if the card is read immediately before or after a 7/8/9 card. A space (no punch) in column 2 indicates 026 translation mode; a 9 punch in column 2 indicates 029 transla t i o n m o d e . T h e s p e c i fi e d t r a n s l a t i o n r e m a i n s i n effect until a similar 5/7/9 card or a 7/8/9 card is encountered, or the job ends. VZ/Ji eral 1 / 5 / 6 / 7V / 8J* / 9 Trd i s p ual nS c h° e dallio n ws c o l ulit m n 2 .in LPut i t e r a w*en l input can be used to read 80-column binary character data within a punched card deck of coded character data. Literal cards are stored with each column repre sented in a 12-bit byte (a row 12 punch is repre sented by a 1 in bit 11, row 11 by a 1 in bit 10, row 0 by a 1 in bit 9, and rows 1 through 9 by l's in bits 8 thro u g h 0 o f t h e b y t e ) , u s i n g 1 6 c e n t r a l memory words per card. Literal input cards are read until another 5/7/9 card with 4/5/6/7/8/9 punched in column 2 is read. The next card can specify a new conversion mode. If the card following the 5/7/9, 6/7/9, or 7/8/9 card has a 7 and a 9 punched in column 1, the sec tion of the job deck following it contains system b i n a r y c a r d s ( a s d e s c r i b e d i n t h e N O S Ve r s i o n 2 Reference Set, Volume 3, System Commands). Coded character data copied to mass storage from magnetic tape is stored in a 63- or 64-character 6-bit display code. The operating system magnetic tape driver program converts the data from 6-bit external BCD code when reading a coded 7-track tape and from 7-bit ASCII or 8-bit EBCDIC code (as s p e c i fi e d o n t h e t a p e a s s i g n m e n t s t a t e m e n t ) w h e n reading a coded 9-track tape. To read and write lowercase character 7-bit ASCII or 8-bit EBCDIC codes or to read and write control codes, the user must assign a 7-track or 9-track tape in binary mode. Seven-Track Tape Input and Output Table A-4 shows the code and character set conver sions between 6-bit external BCD and 6-bit display code for 7-track tapes. Because only 63 characters c a n b e r e p r e s e n t e d i n 7 - t r a c k e v e n p a r i t y, o n e o f the 64 display codes is lost in conversion to and from external BCD code. Figure A-2 shows the differences in 7-track tape conversion that depend on whether the system uses the 63-character or 64-character set. The ASCII character for the specified character code is shown in parentheses. The output arrows show how the 6-bit display code changes when it is written on tape in external BCD. The input arrows show how the external BCD code changes when the tape is read and converted to display code. 63-Character Set REMOTE BATCH USERS Remote batch console input and output is restricted to character mode transmission. Character mode is described under Terminal Transmission Modes in this appendix. jf^^\ The abilities to select alternate keypunch code translations, to read binary cards, to output p l o t t e r fi l e s , a n d t o p r i n t l o w e r c a s e c h a r a c t e r s depend upon the remote terminal equipment. Remote batch terminal support under NOS is described in the Remote Batch Facility (RBF) reference manual. MAGNETIC TAPE USERS The character and code sets used for reading and writing magnetic tapes depend on whether coded or binary data is read or written and on whether the tape is 7-track or 9-track. Display Code 00 33 (0) 63 (:) External BCD Output 16 (X) 12 (0) 12 (0) Display Code Input 00 33 (0) 33 (0) 64-Character Set External BCD Display Code 00 (:) 33 (0) 63 (%) Output 12 (0) 12 (0) 16 (%) Display Code Input 33 (0) 33 (0) - 63 (X) Figure A-2. Magnetic Tape Code Conversions Nine-Track Tape Input and Output Coded Data Exchanges Coded character data to be copied from mass storage to magnetic tape is assumed to be stored in a 63- or 64-character 6-bit display code. The oper ating system magnetic tape driver program converts the data to 6-bit external BCD code when writing a coded 7-track tape and to 7-bit ASCII or 8-bit EBCDIC code (as specified on the tape assignment statement) when writing a coded 9-track tape. 60499500 R Ta b l e A - 5 l i s t s t h e c o n v e r s i o n s b e t w e e n t h e 7 - b i t ASCII code used on the tape and the 6-bit display c o d e u s e d w i t h i n t h e s y s t e m . Ta b l e A - 6 l i s t s t h e conversions between the 8-bit EBCDIC code used on the tape and the 6-bit display code used within the system. When an ASCII or EBCDIC code representing a lower case character is read from a 9-track magnetic tape, it is converted to its uppercase character A-5 6-bit display code equivalent. Any EBCDIC code listed in table A-6 is converted to display code (octal) and becomes a space. Any code between (hexadecimal) and FF (hexadecimal) read from ASCII tape is converted to display code 00. not 55 80 an During such binary data transfers, the 6/12-bit display codes and 12-bit ASCII codes shown in table A-l, the 7-bit ASCII codes shown in table A-2, or or the 8-bit hexadecimal EBCDIC codes shown in table A-7 can be read or written. The 7-bit ASCII codes and 8-bit EBCDIC codes can be exchanged e i t h e r i n a n u n f o r m a t t e d f o r m o r r i g h t - j u s t i fi e d within a zero-filled 12-bit byte of memory. Binary character data exchanged between central memory files and magnetic tape is transferred as a string of bytes without conversion of the byte contents. The grouping of the bytes and the number of bits in each byte depend on whether 7-track or 9-track tape is being used. When 9-track tape is written, every pair of 12-bit memory bytes becomes three 8-bi' •xpe bytes; when 9-track tape is read, every thi -bit tape bytes become a pair of 12-bit memory -oytes. Because of the 12-bit byte pairs, codes not packed into 12-bit bytes are exchanged in their unpacked form, while codes packed in 12-bit bytes are exchanged in packed form. Binary Character Data Exchanges Seven-Track Tape Input and Output Each binary data character code written to or read from 7-track magnetic tape is assumed to be stored in a 6-bit byte, such as the system uses for 63- or 64-character 6-bit display code. Seven-bit ASCII and 8-bit EBCDIC codes can only be read from or written to 7-track magnetic tape as binary charac ter data if each code is stored within a 12-bit byte as if it were two character codes. Nine-Track Tape Input and Output Each binary data character code exchanged between c e n t r a l m e m o r y fi l e s a n d 9 - t r a c k m a g n e t i c t a p e i s assumed to be stored in an 8-bit or 12-bit byte. When an odd number of central memory words is read or written, the lower four bits of the last 8-bit byte (bits 0 through 3 of the last word) are not used. For example, three central memory words are written on tape as 22 8-bit bytes (7.5 pairs of 12-bit bytes) and the remaining four bits are ignored. CODE CONVERSION AIDS Ta b l e A - 7 c o n t a i n s t h e o c t a l v a l u e s o f e a c h 8 - b i t E B C D I C c o d e r i g h t - j u s t i fi e d i n a 1 2 - b i t b y t e w i t h zero fill. This 12-bit EBCDIC code can be produced or read using the FORM and 8-Bit Subroutines utilities. /*8^K A-6 60499500 R TABLE A-l. INTERACTIVE TERMINAL CHARACTER SETS Character Sets ASCII Graphic (64-Character Set) : colontt A B C D E F G H I J K L M N 0 P Q R S T U V w X Y Z 0 1 2 3 4 5 6 7 8 9 + plus - hyphen (minus) * asterisk / slant ( opening parenthesis ) closing parenthesis $ dollar sign = equals space , comma . period it number sign [ opening bracket ] closing bracket % percent signtt " quotation mark _ underline ! exclamation point & ampersand apostrophe ? question mark r 60499500 R ASCII Character (128-Character Set) A B C D E F G H C J K L M N 0 P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 + plus hyphen (minus) asterisk slant opening parenthesis closing parenthesis dollar sign equals space comma period number sign opening bracket closing bracket percent signtt quotation mark underline exclamation point ampersand apostrophe question mark Code Sets Octal 6-Bit Display Code 00 tt 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 Stt 64 65 66 67 70 71 Octal 6/12-Bit D i sp l a y Codet 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 62 tt 63 tt 64 65 66 67 70 71 Octal 12-Bit ASCII Code 0101 0102 0103 0104 0105 0106 0107 0110 0111 0112 0113 0114 0115 0116 0117 0120 0121 0122 0123 0124 0125 0126 0127 0130 0131 0132 0060 0061 0062 0063 0064 0065 0066 0067 0070 0071 0053 0055 0052 0057 0050 0051 0044 0075 0040 0054 0056 0043 0133 0135 0045 0042 0137 0041 0046 0047 0077 A-7 | TABLE A-l. INTERACTIVE TERMINAL CHARACTER SETS (Contd) Code Sets Character Sets ASCII Graphic (64-Character Set) < less than > greater than @ commmercial at \ reverse slant .a. circumflex ; semicolon ASCII Character (128-Character Set) < less than > greater than @ commercial at \ reverse slant ; semicolon /s circumflex : colontt ' grave accent Octal 6-Bit D i sp l a y Code 72 73*+ 74tt 75 76 77 76tt 74tt a b c d e f g h 1 j k 1 m n o P q r s t u v w X y z { | }~ opening brace vertical line closing brace tilde NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DEL DLE A-8 6ltt 75 tt 62 tt 76 tt Octal 6/12-Blt D i sp l a y Codet Octal 12-Blt ASCII Code 72 73*J. 740ltt 75 0074 0076 0100 0134 77 7402 7404tt 7407 7601 7602 7603 7604 7605 7606 7607 7610 7611 7612 7613 7614 7615 7616 7617 7620 7621 7622 7623 7624 7625 7626 7627 7630 7631 7632 7633 7634 7635 7636 7640 7641 7642 7643 7644 7645 7646 7647 7650 7651 7652 7653 7654 7655 7656 7657 7637 7660 0073 0136 0072 0140 0141 0142 0143 0144 0145 0146 0147 0150 0151 0152 0153 0154 0155 0156 0157 0160 0161 0162 0163 0164 0165 0166 0167 0170 0171 0172 0173 0174 0175 0176 4000 0001 0002 0003 0004 0005 0006 0007 0010 0011 0012 0013 0014 0015 0016 0017 0177 0020 60499500 R /gS^N TABLE A-l. INTERACTIVE TERMINAL CHARACTER SETS (Contd) Character Sets ASCII Graphic (64-Character Set) ASCII Character (128-Character Set) DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Code Sets Octal 6-Bit D i sp l a y Code Octal 6/12-Bit Display Codet 7661 7662 7663 7664 7665 7666 7667 7670 7671 7672 7673 7674 7675 7676 7677 Octal 12-Bit ASCII Code 0021 0022 0023 0024 0025 0026 0027 0030 0031 0032 0033 0034 0035 0036 0037 tAvailable only on NOS. ttcharacter 60499500 R or code interpretation depends on context. Refer to Character Set Anomalies in the text. A-9 TABUS A-2. 7-BIT ASCII CODE AND CHARACTER SETS h 128-Character Set 96-Character Subset ■•-Graphic 64-Character Subset—w K 0 ' V 0 0 6 b5, - 0 0 0 Bits 0 0 0 0 0 0 0 0 b3 b2 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 ^*-^^ Column Row i***^^-* NUL 000 DLE 020 SP 040 060 100 120 140 160 SOH 001 DC1 021 041 061 101 121 141 161 STX 002 DC2 022 042 062 102 122 142 162 ETX 003 DC3 023 if 043 063 103 123 143 163 EOT 004 DC4 024 044 064 104 124 144 164 ENQ 005 NAK 025 045 065 105 125 145 165 ACK 006 SYN 026 046 066 106 126 146 166 BEL 007 ETB 027 047 067 107 127 147 167 BS 010 CAN 030 050 070 110 130 150 170 HT 011 EM 031 051 071 U l 131 151 171 LF 012 SUB 032 052 072 112 132 152 172 VT 013 ESC 033 053 073 113 133 153 173 FF 014 FS 034 054 074 114 134 154 174 CR 015 GS 035 055 075 115 135 155 175 SO 016 RS 036 056 076 116 136 156 176 SI 017 US 037 / 057 1 077 O 117 737 o 157 DELt 177 tThe graphic 95- c h a r a c t e r subs et does not include DEL; refer to Termina 1 Transra ission Modes in the tex L. LEGEND: Numbers under characte rs at e the octal values for the 7-bit characte r codes used within the network A-10 60499500 R TABLE A-3. LOCAL BATCH DEVICE CHARACTER SETS Character Sets CDC Graphic (64-Character Set) colontt Code Sets ASCII Graphic (64-Character Set) ASCII Graphic (95-Character Set) A B C D E F G : colontt A B C D E F G A B C D E F G H I J K L M N 0 H I J K L M N 0 P Q R S T U V W Card Keypunch Code Octal 6-Bit Display Code Octal 6/12-Bit Display Codet Octal 12-Bit ASCII Code 026 029 oott 01 02 03 04 05 06 07 01 02 03 04 05 06 07 0101 0102 0103 0104 0105 0106 0107 8-2 12-1 12-2 12-3 12-4 12-5 12-6 12-7 8-2 12-1 12-2 12-3 12-4 12-5 12-6 12-7 H I J K L M N 0 10 11 12 13 14 15 16 17 10 11 12 13 14 15 16 17 0110 0111 0112 0113 0114 0115 0116 0117 12-8 12-9 11-1 11-2 11-3 11-4 11-5 11-6 12-8 12-9 11-1 11-2 11-3 11-4 11-5 11-6 P Q R S T U V W P Q R S T U V W 20 21 22 23 24 25 26 27 20 21 22 23 24 25 26 27 0120 0121 0122 0123 0124 0125 0126 0127 11-7 11-8 11-9 0-2 0-3 0-4 0-5 0-6 11-7 11-8 11-9 0-2 0-3 0-4 0-5 0-6 X Y Z 0 1 2 3 X Y Z 0 1 2 3 4 X Y Z 0 1 2 3 4 30 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37 0130 0131 0132 0060 0061 0062 0063 0064 0-7 0-8 0-9 0 1 2 3 4 0-7 0-8 0-9 0 1 2 3 4 5 6 7 8 9 + plus - hyphen (minus) * asterisk 5 6 7 6 9 + plus - hyphen (minus) * asterisk 5 6 7 8 9 + plus - hyphen (minus) * asterisk 40 41 42 43 44 45 46 47 40 41 42 43 44 45 46 47 0065 0066 0067 0070 0071 0053 0055 0052 5 6 7 8 9 12 11 11-8-4 5 6 7 8 9 12-8-6 11 11-8-4 / ( ) $ = slant open, paren. clos. paren. dollar sign equals space , comma . period / ( ) $ = slant open, paren. clos. paren. dollar sign equals space , comma . period / ( ) $ = slant open, paren. clos. paren. dollar sign equals space , comma . period 50 51 52 53 54 55 56 57 50 51 52 53 54 55 56 57 0057 0050 0051 0044 0075 0040 0054 0056 0-1 0-8-4 12-8-4 11-8-3 8-3 no punch 0-8-3 12-8-3 0-1 12-8-5 11-8-5 11-8-3 8-6 no punch 0-8-3 12-8-3 = equivalence [ open, bracket it number sign ( open, bracket 9 number sign [ open, bracket 60 61 60 61 0043 0133 0-8-6 8-7 ] clos. bracket ] clos. bracket ] clos. bracket 62 62 0135 0-8-2 X percent signtt % percent signtt X percent signtt 63t 63TT 0045 8-6 60499500 R t 8-3 12-8-2 °ri2-0ttt 11-8-2 "ii-ottt 0-8-4 A-ll TABLE A-3. LOCAL BATCH DEVICE CHARACTER SETS (Contd) Code Sets Character Sets Card Keypunch Code CDC Graphic (64-Character Set) ASCII Graphic (64-Character Set) ASCII Graphic (95-Character Set) 4 not equals (-♦ concatenation. V logical OR " quotation mark " quotation mark _ underline ! exclamation pt. _ underline ! exclamation pt. A logical AND t superscript x subscript < less than & ampersand ' apostrophe & ampersand ' apostrophe ? question mark < less than ? question mark < less than > greater than £ less/equal > greater/equal —i logical NOT ; semicolon > greater than @ commercial at \ reverse slant zs circumflex ; semicolon > greater than @ commercial at \ reverse slant ; semicolon •s circumflex : colontt * grave accent Octal 6-Bit Display Code 64 65 66 0042 0137 0041 67 70 71 72 67 70 71 72 0046 0047 0077 0074 73^ 0076 0100 0134 73 74tt 75 76 77 76tt 74tt X y z open, brace vertical lLne clos. t i l d e brace Octal 12-Bit ASCII Code 64 65 66 a b c d e f g h i j k 1 m n o P q r s t u v w { | }~ Octal 6/12-Bit D i sp l a y Codet 6ltt 75tt 62tt 76tt 740ltt 75 77 7402 7404tt 7407 7601 7602 7603 7604 7605 7606 7607 7610 7611 7612 7613 7614 7615 7616 7617 7620 7621 7622 7623 7624 7625 7626 7627 7630 7631 7632 7633 7634 7635 7636 0073 0136 0072 0140 0141 0142 0143 0144 0145 0146 0147 0150 0151 0152 0153 0154 0155 0156 0157 0160 0161 0162 0163 0164 0165 0166 0167 0170 0171 0172 0173 0174 0175 0176 026 029 8-4 0-8-5 11-0 or 11-8-2§ 0-8-7 11-8-5 11-8-6 12-0 °r 8 12-8-28 11-8-7 8-7 0-8-5 12-8-7 or 8 ll-0§ 12 8-5 0-8-7 12-8-4 or 12-0§ 0-8-6 8-5 8-4 12-8-5 12-8-6 12-8-7 0-8-2 11-8-7 11-8-6 ' Av a i l a b l e o n l jr on NOS. TTcharacter or ; o d e i n t e r p r e t a t i o n depends on context. Refer to CCharacter St;t Anomallles in the t: e x t . t t t A v a i l a b l e f o r input only, on NOS. & Available for input only, on NOS/ BE or SCOPE 2. A-12 60499500 R /#**•<■ TABLE A-4. 7-TRACK CODED TAPE CONVERSIONS External BCD ASCII Character 01 Octal 6-Bit D i sp l a y Code External BCD ASCII Character Octal 6-Bit Display Code 34 02 40 2 35 03 41 3 12 36 04 42 4 13 37 05 43 5 14 40 06 44 6 41 15 45 07 7 16 42 10 46 8 17 43 47 11 20 44 50 12t 21 33 51 54 14 = equals " quotation mark 52 ! exclamation point 64 66 53 15 @ commercial at % percent sign 17 53 47 70 [ opening bracket 61 54 55 56 $ dollar sign * asterisk 16t 74 63 20 space / slant 55 57 > greater than 50 23 24 60 61 + plus 13 21 22 23 24 25 25 26 27 26 27 30 - hyphen (minus) 46 22 apostrophe ? question mark 62 63 71 73 45 01 02 03 04 05 06 07 30 31 64 65 66 67 31 32 ] closing bracket 32 62 70 71 33 , comma ( opening parenthesis 72 73 < less than 34 56 51 35 36 _ underline it number sign 65 74 ) closing parenthesis 60 37 & ampersand 67 75 76 \ reverse slant " caret 75 76 " ; semicolon 77 10 . period 11 72 57 52 + 'As the text: explains, conversion of t lese codes depeiids on whether t.he tape is read or written 60499500 R A-l 3 TABLE A-5. ASCII 9-TRACK CODED TAPE CONVERSION ASCII Code . Conversion' Code (Hex) 20 21 22 Character space ! exclamation point " quotation mark 23 24 it number sign 25 26 27 X percent sign§ & ampersand ' apostrophe 28 ( opening parenthesis 29 2A 2B ) closing parenthesis * asterisk 2C 2D 2E 2F $ dollar sign + plus , comma - hyphen (minus) . period / slant 30 31 32 33 34 35 36 37 38 39 Code (Hex) NUL 02 STX ETX 05 06 07 08 09 0A 0B O C 0D 0E OF 10 ASCII Character Character 00 7D 03 04 Display Codettt } closing brace EOT ENQ ACK BEL BS HT LF VT space ! exclamation point " quotation mark it number sign $ dollar sign % percent sign§ & ampersand ' apostrophe ( opening parenthesis ) closing parenthesis * asterisk Code (Octal) 55 66 64 60 53 63§ 67 70 51 52 + plus 47 45 FF CR , comma - hyphen (minus) 56 46 S O SI . period / slant 57 50 11 DLE DC1 33 34 12 13 14 DC2 DC3 DC4 35 36 37 15 16 17 NAK SYN ETB 40 41 42 18 19 CAN EM 43 44 3A 3B : colon* 1A SUB : colon^ ; semicolon ESC ; semicolon 00§ 77 3C 3D < less than = equals IB 7B { opening brace ID G S < less than = equals 72 54 3E > greater than ? question mark RS US > greater than 3F 40 41 IE IF 73 71 42 43 44 45 46 A-14 Character and Code Conversiontt @ commercial at 60 61 62 63 64 65 66 ? question mark grave accent @ commercial at 74 01 02 03 04 05 06 60499500 R TABLE A-5. ASCII 9-TRACK CODED TAPE CONVERSION (Contd) ASCII Code Conversiont Code (Hex) Characte i 6-Bit Display Codettt Character and Code Conversiontt Code (Hex) ASCII Character Character Code (Octal) 47 G 67 G 48 H 07 68 H 49 I 10 69 4A I J 11 6A 4B J K 12 6B K 4C L 13 6C L 4D M 14 6D M 4E N 15 6E N 4F 0 16 6F 0 50 17 P 70 P 20 51 71 52 Q R 21 72 Q R 53 S 73 S T 23 54 74 T 24 55 U 75 U 56 V 76 V 25 26 57 W 77 w W 27 58 X 78 X X 30 59 Y 79 31 Z 7A y z Y 5A Z 32 5B [ opening bracket IC FS [ opening bracket 61 5C \ reverse slant 7C I vertical line \ reverse slant 75 5D ] closing bracket " caret 01 ] closing bracket n caret 62 7E SOH ~ tilde 7F DEL 5E 5F underline 22 underline 76 65 'When these characters are copied from or to a tape, the characters remain the same and the code changes from or to ASCII to or from display code. ti'These t characters do not exist in display code. When the characters are copied from a tape, each ASCII character is changed to an alternate display code character. The corresponding codes are also changed. Example: When the system copies a lowercase a, 61 (hexadecimal), from tape, it writes an uppercase A, 01 (octal). ttt A display code space always translates to an ASCII space. 'Character or code interpretation depends on context. Refer to Character Set Anomalies in the text. 60499500 R A-l 5 TABLE A-6. EBCDIC 9-TRACK CODED TAPE CONVERSION EBCDIC Code Conversiont Code (Hex) 40 4A 4B 4C 4D 4E 4F 50 5A 5B 5C 5D 5E 5F 60 61 Code (Hex) Character ASCII Character Code (Octal) 00 NUL i cent sign . period IC 0E IFS S O . period < less than C O { opening brace < less than 57 72 ( opening parenthesis + plus 16 0B BS VT ( opening parenthesis + plus 51 45 I vertical line & ampersand DO 2E 01 37 } closing brace ! exclamation point ACK SOH EOT & ampersand 66 67 62 53 25 05 LF HT 27 Al ESC 0D OF C R SI FF space ! exclamation point $ dollar sign * asterisk ) closing parenthesis ; semicolon —i logical NOT - hyphen (minus) / slant 6B 6C , comma % percent sign§ 6D 6E 6F _ underline > greater than ? question mark OC 2D 07 IE IF 7A : colon§ 3F 7B 7C it number sign " tilde ENQ DEL IRS space [ opening bracket ] closing bracket $ dollar sign * asterisk ) closing parenthesis ; semicolon caret - hyphen (minus) / slant , comma % percent sign§ _ underline > greater than 55 61 47 52 77 76 46 50 56 63§ 65 73 71 IUS SUB ? question mark 03 79 ETX it number sign 00§ 60 \ reverse slant @ commercial at 74 2F BEL ID IGS apostrophe = equals 70 54 STX " quotation mark Cl C2 02 81 82 64 01 C3 83 02 03 C4 C5 C6 84 85 04 05 86 87 88 89 06 07 7D 7E 7F C7 C8 C9 DI D2 D3 A-16 Character 6-Bit Display Codett Character and Code Conversiontt @ commercial at ' apostrophe = equals " quotation mark 91 92 93 : colon§ 10 11 12 13 14 60499500 R TABLE A-6. EBCDIC 9-TRACK CODED TAPE CONVERSION (Contd) EBCDIC D-Blt Code Conversiont Code (Hex) Character D4 D5 D6 D7 D8 D9 EO E2 E3 E4 E5 E6 E7 E8 E9 FO Fl F2 F3 F4 F5 F6 F7 F8 F9 Character and Code Conversiontt Code (Hex) Character Display Codettt ASCII Character 94 95 15 16 96 97 98 17 20 21 22 99 \ reverse slant Code (Octal) 6A A2 1 vertical line \ reverse slant 75 23 A3 A4 24 25 A5 A6 A7 26 27 30 31 32 A8 A9 10 11 12 13 DLE DC1 DC2 33 34 3C 3D 32 TM DC4 NAK SYN 35 36 37 40 41 26 18 ETB CAN 42 43 19 EM 44 twhen these characters are copied from or to a tape, the characters remain the same (except EBCDIC codes 4A (hexadecimal), 4F (hexadecimal), 5A (hexadecimal), and 5F (hexadecimal)) and the code changes from or to EBCDIC to or from display code. ttThese characters do not exist in display code. When the characters are copied from a tape, each EBCDIC character is changed to an alternate display code character. The corresponding codes are also changed. Example: When the system copies a lowercase a, 81 (hexadecimal), from tape, it writes an uppercase A, 01 (octal). tttA display code space always translates to an EBCDIC space. 'Character or code interpretation depends on context. Refer to Character Set Anomalies in the text. 60499500 R A-l 7 TABLE A-7. FULL EBCDIC CHARACTER SET Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert 00 0000 NUL 4A 0112 i cent sign A7 0247 01 0001 SOH 4B 0113 . period A8 0250 02 0002 STX 4C 0114 < less than A9 0251 03 0003 ETX 4D 0115 AA 0252 04 0004 PF 4E 0116 ( open, paren. + plus thru thru 05 0005 HT 4F 0117 I logical OR BF 0277 undefined 06 0006 LC 50 0120 & ampersand CO 0300 { open, brace 07 0007 DEL 51 0121 undefined Cl 0301 08 0010 undefined thru thru C2 0302 09 0011 undefined 59 0131 undefined C3 0303 OA 0012 SMM 5A 0132 ! exclam. point C4 0304 OB 0013 VT 5B 0133 C5 0305 OC 0014 FF 5C 0134 $ dollar sign * asterisk C6 0306 OD 0015 CR 5D 0135 ) clos. paren. C7 0307 OE 0016 SO 5E 0136 C8 0310 OF 0017 SI 5F 0137 C9 0311 10 0020 DLE 60 0140 ; semicolon -i logical NOT - minus CA 0312 undefined 11 0021 DC1 61 0141 CB 0313 undefined 12 0022 DC2 62 0142 / slant undefined CC 0314 undefined 13 0023 TM thru thru CD 0315 14 0024 RES 69 0151 undefined CE 0316 15 0025 NL 6A 0152 CF 0317 undefined 16 0026 BS 6B 0153 DO 0320 } clos. brace 17 0027 IL 6C 0154 [ vertical line , comma % percent sign DI 0321 18 0030 CAN 6D 0155 D2 0322 19 0031 EM 6E 0156 > greater than D3 0323 1A 0032 CC 6F 0157 ? question mark D4 0324 undefined D5 0325 D6 0326 D7 0327 underline undefined IB 0033 CU1 70 0160 IC 0034 IFS thru thru ID 0035 IGS 78 0170 IE 0036 IRS 79 0171 undefined * grave accent D8 0330 IF 0037 IUS 7A 0172 : colon D9 033 r 20 0040 DS 7B 0173 it number sign DA 0332 21 0041 SOS 7C 0174 thru thru 22 0042 FS 7D 0175 @ commercial at ' apostrophe DF 0337 undefined E0 0340 El 0341 \ reverse slant undefined E2 0342 23 0043 undefined 7E 0176 24 0044 BYP 7F 0177 = equals " quotation mark 25 0045 LF 80 0200 undefined 26 0046 ETBB 81 0201 E3 0343 27 0047 ESCE 82 0202 E4 0344 undefined '-=*^\ A-18 60499500 R TABLE A-7. FULL EBCDIC CHARACTER SET (Contd) Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert Hexa decimal EBCDIC Code Octal 12-Bit EBCDIC Code EBCDIC Graphic or Control Charactert 28 0050 undefined 83 0203 29 E5 0345 V 0051 84 0204 W 0052 85 0205 2B E6 E7 0346 2A undefined SM 0347 X 0053 CU2 86 0206 E8 0350 Y 2C 0054 undefined 87 0207 0351 2D Z 0055 88 0210 0352 2E undefined 0056 ENQ ACK 89 0211 E9 EA EB 2F 0057 0353 BEL 8A 0212 30 0060 u n d e fi n e d thru thru 31 0061 90 0220 32 0062 undefined SYN 91 0221 33 0063 undefined 92 0222 34 0064 PN 93 0223 35 0065 RS 94 0224 36 0066 UC 95 0225 37 0067 EOT 96 0226 38 0070 undefined 97 39 0071 undefined 3A 0072 3B undefined EC ED 0354 undefined H 0355 undefined undefined thru thru EF F0 0357 undefined 0360 0 Fl F2 0361 1 0362 2 0363 3 0364 4 0227 F3 F4 F5 0365 5 98 0230 F6 0366 6 undefined 99 0231 0367 7 0073 CU3 9A 0232 0370 8 3C 0074 DC4 thru thru 0075 NAK A0 0240 0372 0372 9 3D 3E 0076 undefined Al 0241 F7 F8 F9 FA FB 0373 undefined 3F 0077 SUB A2 0242 thru thru 40 0100 space A3 0243 FF 0377 41 0101 undefined A4 0244 thru thru 49 0111 undefined A5 0245 A6 0246 undefined undefined ~ tilde I vertical line undefined tGraphic characters shown are those used on the IBM System/370 standard (PN) print train. Other devic support subsets or variations of this character graphic set. J ^ 60499500 R A-19 ,rfS^|K TABLE A-8. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 9, 14, 16, 17, AND 18 (HASP, HPRE, 2780, 3270, AND 3780) Network ASCII (Normalized Mode Use) Terminal EBCDIC Hex. Code Octal Code 00 01 02 03 04 05 06 07 08 09 OA OB OC OD OE OF 10 11 12 13 14 15 16 17 18 19 1A IB IC ID IE IF 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 000 001 002 003 004 005 006 007 010 OU 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 A-20 Graphic! Control Charapter't NUL SOH STX ETX PF HT LC DEL undefined undefined SMM VT FF C R S O SI DLE DC1 DC2 TM RES NL BS IL CAN EM C C CU1 IFS IGS IRS IUS DS SOS FS undefined BYP LF ETB or EOB ESC or PRE u n d e fi n e d u n d e fi n e d SM CU2 undefined ENQ ACK BEL u n d e fi n e d undefined SYN undefined PN RS UC EOT undefined undefined undefined Hex. Codettt 00 01 02 03 20 09 20 7F 20 20 20 OB O C O D O E OF 10 11 12 13 20 20 08 20 18 19 20 20 IC ID IE IF 20 20 20 20 20 OA 17 IB 20 20 20 20 20 05 06 07 20 20 16 20 20 20 20 04 20 20 20 Octal Codettt 000 001 002 003 040 on 040 177 040 040 040 013 014 015 016 017 020 021 022 023 040 040 010 040 030 031 040 040 034 035 036 037 040 040 040 040 040 012. 027 033 040 040 040 040 040 005 006 007 040 040 026 040 040 040 040 004 040 040 040 Graphic Control Charactertt null start of header start of text end of text space space space space space horizontal tabulate delete vertical tabulate form feed carriage return shift out shift in data link escape device control 1 device control 2 device control 3 space space backspace space space space space space space space space cancel end of medium fi l e s e p a r a t o r group separator record separator unit separator linefeed end of transmission block escape space space space space space enquiry positive acknowledgment bell space space synchronous idle space space space space end of transmission space space space 60499500 S TABLE A-8. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 9, 14, 16, 17, AND 18 (HASP, HPRE, 2780, 3270, AND 3780) (Contd) Terminal EBCDIC Hex. Code 3B 3C 3D 3E 3F 40 41 thru 49 4A 4B 4C 4D 4E 4F 50 51 thru 59 5A 5B 5C 5D 5E 5F 60 61 62 thru 69 6A 6B 6C 6D 6E 6F 70 thru 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A thru 90 Octal Code 073 074 075 076 077 100 101 thru 111 112 113 114 115 116 117 120 121 thru 131 132 133 134 135 136 137 140 141 142 thru 151 152 153 154 155 156 157 160 thru 170 171 172 173 174 175 176 177 200 201 202 203 204 205 206 207 210 211 212 thru 220 60499500 S Graph!ct Network ASCII (Normalized Mode Use) Control Charactertt CU3 DC4 NAK undefined SUB Hex. Codettt Octal Codettt undefined 20 14 15 20 1A 20 20 040 024 025 040 032 040 040 undefined 5B 2E 3C 28 2B 21 26 20 133 056 074 050 053 041 046 040 undefined 50 24 2A 29 3B 5E 2D 2F 20 135 044 052 051 073 136 055 057 040 undefined 7C 2C 25 5F 3E 3F 20 174 054 045 137 076 077 040 60 7A 23 40 27 3D 22 20 61 62 63 64 65 66 67 68 69 20 140 172 043 100 047 075 042 040 141 142 143 144 145 146 147 150 151 040 space - i undefined undefined Graphic Control Charactertt space space device control 4 negative acknowledgement substitute space space space S\ space space ■ I space space A-21 TABLE A-8. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 9, 14, 16, 17, AND 18 (HASP, HPRE, 2780, 3270, AND 3780) (Contd) Network ASCII (Normalized Mode Use) Terminal EBCDIC Hex. Code Octal Code 91 92 93 94 95 96 97 98 99 9A 221 222 223 224 225 226 227 230 231 232 thru Graphict Control Charactertt Hex. Codettt Octal Codettt undefined 6A 6B 6C 6D 6E 6F 70 71 72 20 152 153 154 155 156 157 160 161 162 040 space undefined 7E 73 74 75 76 77 78 79 7A 20 176 163 164 165 166 167 170 171 172 040 space 7B 41 42 43 44 45 46 47 48 49 20 20 20 20 20 20 7E 4A 4B 4C 4D 4E 4F 50 51 52 20 173 101 102 103 104 105 106 107 110 111 040 040 040 040 040 040 175 112 113 114 115 116 117 120 121 122 040 5C 20 53 54 55 56 134 040 123 124 125 126 thru A O Al A2 A3 A4 A5 A6 A7 A8 A9 AA 240 241 242 243 244 245 246 247 250 251 252 thru thru BF CO Cl C2 C3 C4 C5 C6 C7 C8 C9 CA CB C C CD CE CF D O DI D2 D3 D4 D5 D6 D7 D8 D9 DA 277 300 301 302 303 304 305 306 307 310 311 312 313 314 315 316 317 320 321 322 323 324 325 326 327 330 331 332 thru thru DF E O El E2 E3 E4 E5 337 340 341 342 343 344 345 Graphic undefined undefined undefined u n d e fi n e d undefined u n d e fi n e d Control Charactertt space space space space space space space space ,^s^. A-22 60499500 S TABLE A-8. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 9, 14, 16, 17, AND 18 (HASP, HPRE, 2780, 3270, AND 3780) (Contd) Terminal EBCDIC Hex. Code E6 E7 E8 E9 EA EB EC ED thru EF FO Fl F2 F3 F4 F5 F6 F7 F8 F9 FA FB thru FF Octal Code 346 347 350 351 352 353 354 355 thru 357 360 361 362 363 364 365 366 367 370 371 372 373 thru 377 Graphict Network ASCII (Normalized Mode Use) Control Charactertt Codettt Octal Codettt Graphic undefined 57 58 59 5A 20 20 20 20 127 130 131 132 040 040 040 040 space space space space u n d e fi n e d 30 31 32 33 34 35 36 37 38 39 20 20 060 061 062 063 064 065 066 067 070 071 040 040 0 1 2 3 4 5 6 7 8 9 space space undefined u n d e fi n e d Control Charactertt tGraphic characters shown are those used on the IBM System/370 standard (PN) print train. Other devices support subsets or variations of this character graphic set. WNot used for output to line printers. Translation to a space (100 octal) occurs. •TTshown with zero parity (eighth or uppermost bit is always zero). 60499500 S A-2 3 TABLE A-9. CHARACTER CODE TRANSLATIONS, ASCII CHARACTER SET CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) /*^8||. Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet 00 03 05 06 09 O A OC OF 11 12 14 17 18 IB ID IE 21 22 24 27 28 2B 2D 2E 30 33 35 36 39 3A 3C 3F 41 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 5C 5F 60 63 65 66 69 6A 6C 6F 71 72 000 003 005 006 Oil 012 014 017 021 022 024 027 030 033 035 036 041 042 044 047 050 053 055 056 060 063 065 066 071 072 074 077 101 102 104 107 110 113 115 116 120 123 125 126 131 132 134 137 140 143 145 146 151 152 154 157 161 162 A-24 ASCII Graphic Control Charactertt NUL or © ETX or © ENQ or WRU or (?) ACK or RU or (|J HT or ® LF or NL or i or (j) FF or FORM or (l) SI or © DC1 or X-ON or @ DC2 or TAPE or Up DC4 or TAPE or (T) ETB or (w) CAN or CLEAR or (x) ESC or ESCAPE or (J) GS or (T) RS or (A) ii or «- Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 00 03 05 06 09 0A O C OF 11 12 14 17 18 IB ID IE 21 22 24 27 28 2B 2D 2E 30 33 35 36 39 3A 3C 3F 41 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 5C 5F 60 63 65 66 69 6A 6C 6F 71 72 000 003 005 006 011 012 014 017 021 022 024 027 030 033 035 036 041 042 044 047 050 053 055 056 060 063 065 066 071 072 074 077 101 102 104 107 110 113 115 116 120 123 125 126 131 132 134 137 140 143 145 146 151 152 154 157 161 162 ASCII Graphic Control Character null end of text enquiry positive acknowledgement horizontal tabulate linefeed formfeed shift in device control 1 device control 2 device control 4 end transmission block cancel escape group separator record separator it 60499500 R TABLE A-9. CHARACTER CODE TRANSLATIONS, ASCII CHARACTER SET CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) (Contd) Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet 74 77 78 7B 7C 7D 7E 81 82 84 87 88 8B 8D 8E 90 93 95 96 99 9A 9C 9F AO 164 167 170 173 174 175 176 201 202 204 207 210 213 215 216 220 223 225 226 231 232 234 237 240 A3 A5 A6 A9 AA AC AF Bl B2 B4 B7 B8 BB BD BE C O C3 C5 C6 C9 CA C C CF DI D2 D4 D7 D8 DB D D DE El 243 245 246 251 252 254 257 261 262 264 267 270 273 275 276 300 303 305 306 311 312 314 317 321 322 324 327 330 333 335 336 341 60499500 R ASCII Graphic Control Charactertt i or f or | ~ or —i SOH or (A) STX or fS) EOT or Q}) BELL or (G) BS or +- or (h) VT or (K) CR or RETURN or (m) SO or (N) DLE or (P) DC3 or X-OFF or (?) NAK or -♦ or (u) SYN or LINE CLEAR or ® EM or RESET or (y) SUB or t or (z) FS or (T) US or Q SPACE or blank A or —i Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 74 77 78 7B 7C 7D 7E 01 02 04 07 08 0B 0D 0E 10 13 15 16 19 1A IC IF 20 164 167 170 173 174 175 176 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 61 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 141 ASCII Graphic Control Character start of header start of text end of transmission bell backspace vertical tabulate carriage return shift out data link escape device control 3 negative acknowledgement synchronous idle end of medium substitute fi l e s e p a r a t o r unit separator space A-25 TABLE A-9. CHARACTER CODE TRANSLATIONS, ASCII CHARACTER SET CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) (Contd) Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet E2 E4 E7 E8 EB ED EE FO F3 F5 F6 F9 FA FF 342 344 347 350 353 355 356 360 363 365 366 371 372 377 ASCII Graphic Control Charactertt DEL or RUBOUT Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 62 64 67 68 6B 6D 6E 70 73 75 76 79 7A 7F 142 144 147 150 153 155 156 160 163 165 166 171 172 177 ASCII Graphic Control Character delete tShown with even parity, which is the default for these terminal classes (unless PA=N or PA=I, an appli cation program receives the same code as in normalized mode). MA circle around a character indicates that the character key is pressed in conjunction with a CTL, CTRL, CNTRL, or CONTROL key to generate the code. tttShown with zero parity (eighth or uppermost bit is always zero). •*^\ A-26 60499500 S TABLE A-10. CHARACTER CODE TRANSLATIONS, APL TYPEWRITER-PAIRING CONSOLES IN TERMINAL. CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) Termlna 1 ASCII (Transparent Mode Use) Hex Codet 74 77 78 7B 7C 7D 7E Octal Codet 87 164 167 170 173 174 175 176 201 202 204 207 88 8B 210 213 81 82 84 8D 8E 90 93 95 96 ASCII-APL Graphic SOH or @ STX or UJ) EOT or ©i BELL or QG) BS or *- or (H) VT or ® 215 216 220 223 CR or RETURN or (5) SO or (n) DLE or J?) DC3 or X-OFF or ® NAK or -c or ® SYN or LINE CLEAR or © EM or RESET or ® SUB or t or © FS or © US or © 225 226 99 9A 9C 9F AO 231 232 234 237 240 A3 A5 A6 A9 AA AC AF Bl B2 B4 B7 B8 BB BD BE CO C3 C5 C6 C9 CA C C CF DI D2 D4 D7 D8 DB DD DE El 243 245 246 251 252 254 257 261 262 264 267 270 273 275 276 300 303 305 306 311 312 314 317 321 322 324 327 330 333 335 336 341 60499500 R Control Charactertt SPACE or blank SI »* C O => *-+ Network ASCII (Normalized Mode Use) Hex Codettt Octal Codettt 54 57 58 7B 6B 7D 24 01 02 04 07 124 127 130 173 153 175 044 001 002 004 007 08 0B 010 013 0D 0E 10 13 15 16 19 1A IC IF 20 015 016 020 023 025 026 031 032 034 037 040 3C 3D 3E 26 22 2C 2F 31 32 34 37 38 5B 66 3A 5E 63 65 5F 69 6A 6C 6F 3F 72 74 77 78 70 71 7C 41 074 075 076 046 042 054 057 061 062 064 067 070 133 146 072 136 143 145 137 151 152 154 157 077 162 164 167 170 160 161 174 101 ASCII-APL Graphic Control Character — \ <^ start of header start of text end of transmission bell backspace vertical tabulate carriage return shift out data link escape device control 3 negative acknowledgement synchronous idle end of medium substitute fi l e s e p a r a t o r unit separator space CO *-1* A-27 TABLE A-10. CHARACTER CODE TRANSLATIONS, APL TYPEWRITER-PAIRING CONSOLES IN TERMINAL.CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) (Contd) Terminal ASCII (Transparent Mode Use) Hex Codet Octal Codet 00 03 05 06 09 0A O C OF 11 12 14 17 18 IB ID IE 21 22 24 27 28 2B 2D 2E 30 33 35 36 39 3A 3C 3F 41 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 5C 5F 60 63 65 66 69 6A 6C 6F 71 72 000 003 005 006 Oil 012 014 017 021 022 024 027 030 033 035 036 041 042 044 047 050 053 055 056 060 063 065 066 071 072 074 077 101 102 104 107 110 113 115 116 120 123 125 126 131 132 134 137 140 143 145 146 151 152 154 157 161 162 A-28 ASCII-APL Graphic Control Charactertt NUL or © ETX or © ENQ or WRU or (g) ACK or RU or (?) HT or © LF or NL or 1 or ® FF or FORM or © SI or © DC1 or X-ON or © DC2 or TAPE or ® DC4 or TAPE or ® ETB or ® CAN or CLEAR or (x) ESC or ESCAPE or (J) GS or © RS or© ex — 1 E. Network ASCII (Normalized Mode Use) Hex Codettt 00 03 05 06 09 0A O C OF 11 12 14 17 18 IB ID IE 23 29 40 5D 21 25 2B 2E 30 33 35 36 39 28 3B 5C 61 62 64 67 68 27 6D 6E 2A 73 75 76 79 7A 7E 2D 60 43 45 46 47 4A 4C 4F 51 52 Octal Codettt 000 003 005 006 011 012 014 017 021 022 024 027 030 033 035 036 043 052 100 135 041 045 053 056 060 063 065 066 071 050 073 134 141 142 144 147 150 047 155 156 052 163 165 166 171 172 176 055 140 103 105 106 111 112 114 117 121 122 ASCII-APL Graphic Control Character null end of text enquiry positive acknowledgement horizontal tabulate linefeed formfeed shift in device control 1 device control 2 device control 4 end transmission block cancel escape group separator record separator oc — 1 60499500 R TABLE A-10. CHARACTER CODE TRANSLATIONS, APL TYPEWRITER-PAIRING CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 713, X3.64, H2000, T4014, M40) (Contd) Terminal ASCII (Transparent Mode Use) ;l HexA Codet Octa Code E2 E4 E7 E8 EB ED EE FO F3 F5 F6 F9 FA FF 342 344 347 350 353 355 356 360 363 365 366 371 372 377 ASCII-APL Graphic Control Charactertt DEL or RUBOUT Network ASCII (Normalized Mode Use) Hex Codettt 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 7F Octal Codettt 102 104 107 110 113 115 116 120 123 125 126 131 132 177 ASCII-APL Graphic Control Character delete tshown with even parity, which is the default for these terminal classes (unless PA=N, an application program receives the same code as in normalized mode). ^tot1016 ^haracter the character key is pressed in conjunction with a CTL, CTRL, CNTRL, arZnn? or CONTROL key toin°icate8 generate that the code. TTTshown with zero parity (eighth or uppermost bit is always zero). /^**\ 60499500 R A-29 TABLE A-ll. CHARACTER CODE TRANSLATIONS, APL BIT-PAIRING CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 753, 751, H2000, T4014, AND M40) Terminal ASCII (Transparent Mode Use) Hex Codet 00 03 05 06 09 O A O C OF 11 12 14 17 18 IB ID IE 21 22 24 27 28 2B 2D 2E 30 33 35 36 39 3A 3C 3F 41 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 5C 5F 60 63 65 66 69 6A 6C 6F 71 72 A-30 Octal Codet ASCII-APL Graphic 000 003 005 006 on 012 014 017 021 022 024 027 030 033 035 036 041 042 044 047 050 053 055 056 060 063 065 066 071 072 074 077 101 102 104 107 110 113 115 116 120 123 125 126 131 132 134 137 140 143 145 146 151 152 154 157 161 162 .. 1* oc <= /N •* Control Charactertt NUL or © ETX or © ENQ or WRU or (i) ACK or RU or (?) HT or © LF or NL or 1 or © FF or FORM or © SI or © DC1 or X-ON or ® DC2 or TAPE or © DC4 or TAPE or © ETB or © CAN or CLEAR or QQ ESC or ESCAPE ot{£) GS or © RS or(A) N-^ / j - Network ASCII (Normalized Mode Use) Hex Codettt Octal Codettt 54 57 58 6B 24 7D 25 01 02 04 07 124 127 130 153 044 160 045 001 002 004 007 08 0B 0D 0E 010 013 015 016 10 13 15 16 19 1A IC IF 20 020 023 025 026 031 032 034 037 040 3C 3D 7C 21 29 2C 2F 31 32 34 37 38 5B 2D 3A 70 63 65 5F 69 6A 6C 6F 3F 72 74 77 78 7E 7B 66 41 074 075 174 041 051 054 057 061 062 064 067 070 133 055 072 160 143 145 137 151 152 154 157 077 162 164 167 170 176 173 146 101 ASCII-APL Graphic Control Character — 1 start of header start of text end of transmission bell backspace vertical tabulate carriage return shift out data link escape device control 3 negative acknowledgement synchronous idle end of medium substitute fi l e s e p a r a t o r unit separator space \s ^_ CO = > 1— yg^\ 60499500 R A-31 TABLE A-ll. CHARACTER CODE TRANSLATIONS, APL BIT-PAIRING CONSOLES IN TERMINAL CLASSES 1, 2, AND 5 THROUGH 8 (M33, 753, 751, H2000, T4014, AND M40) (Contd) Terminal ASCII (Transparent Mode Use) Hex Codet E2 E4 E7 E8 EB ED EE FO F3 F5 F6 F9 FA FF Octal Codet 342 344 347 350 353 355 356 360 363 365 366 371 372 377 ASCII-APL Graphic Control Charactertt DEL or RUBOUT Network ASCII (Normalized Mode Use) Hex Codettt Octal Codettt 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 7F 102 104 107 110 113 115 116 120 123 125 126 131 132 177 ASCII-APL Graphic Control Character delete tshown with even parity, which is the default for these terminal classes (unless PA=N or PA=I, an appli cation program receives the same code as in normalized mode). "A circle around a character indicates that the character key is pressed in conjunction with a CTL, CTRL, CNTRL, or CONTROL key to generate the code. TTTshown with zero parity (eighth or uppermost bit is always zero). A-32 60499500 S TABLE A-12. CHARACTER CODE TRANSLATIONS, ASCII CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 10 AND 15 (200UT AND 734) Te r m i n a l ASCIlt Hex. Codett Octal Network ASCII (Normalized Mode Use) Keyboard or Printer Graphic Codett 20 23 25 040 043 045 26 29 ASCII CDC blank blank Input oi Output Hex. Codettt Octal Codettt 20 23 25 040 046 051 26 29 046 051 2A 2C 052 054 2A 2C 052 054 2F 057 2F 31 32 34 061 062 064 31 32 34 057 061 062 064 37 067 070 37 38 073 3B 3D 38 3B 3D 3E 075 076 40 43 45 46 100 49 4A 3E Console Output Only Hex. Codettt 067 070 073 075 076 111 112 114 4A 4C 112 114 4F 51 52 117 121 122 51 117 121 54 124 52 54 122 124 57 58 127 130 57 58 127 130 5B 133 5B 133 78 7B 5D 5E .135 5D 5E 135 136 7D 7E Al A2 A4 A7 241 242 21 22 24 041 042 A8 250 4F 60499500 R 136 244 247 /\ ■i —l i* 27 28 Codettt space 105 106 111 4C Graphic 043 045 40 43 45 46 49 103 105 106 Octal 100 103 60 63 65 66 140 143 69 145 146 151 6A 6C 152 154 6F 157 71 72 74 161 77 167 170 162 164 173 175 176 /S ii 044 047 050 A-33 TABLE A-l2. CHARACTER CODE TRANSLATIONS, ASCII CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 10 AND 15 (200UT AND 734) (Contd) Terminal ASCIlt Hex. Codett Octal Codett Keyboard or Printer Graphic AD AE BO B3 B5 B6 B9 BA BC BF Cl C2 C4 C7 C8 CB Input or Output Hex. Codettt Octal Codettt 253 255 2B 2D 053 256 260 263 2E 30 33 265 266 35 36 271 272 39 3A 274 277 3C 3F 301 41 077 101 302 304 42 44 102 104 307 310 47 48 4B ASCII AB Network ASCII (Normalized Mode Use) CDC Console Output Only Hex, Codettt 065 066 071 072 074 61 62 141 142 107 110 64 67 68 144 147 50 53 113 115 116 120 123 6B 6D 6E 70 73 150 153 155 156 160 163 125 126 75 76 165 166 171 172 174 177 CD CE DO D3 D5 323 325 D6 326 55 56 D9 DA 331 59 131 332 334 5A 5C 132 134 79 7A 7C 5E 135 7F 337 4D 4E r* Graphic 055 056 060 063 313 315 316 320 DC DF Octal Codettt ■Escape codes are not listed. Ttshown with odd parity, the only possible parity selection for these terminal classes. ASCII c o n t r o l codes 000 through 040g (without parity) are removed from input during complete editing; code s 018 and 03g (SOH and ETX, without parity) are preserved as data in full-ASCII mode, as are escap e code sequences. TTtshown with zero parity (eighth or uppermost bit Is always zero). During output, codes 000 through 010g are converted to code 040s (blank); codes 012s, 0158» and 037s (LF, CR, and US) are removed. Codes for lowercase ASCII characters sent to the console are converted to the code s for the equivalent uppercase characters supported by the terminal, as shown. A-34 60499500 R TABLE A-13. CHARACTER CODE TRANSLATIONS, EXTERNAL BINARY CODED (BCD) CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 10 AND 15 (200UT and 734) Terminal External BCDt Hex. Codett Octal Codett Network ASCII (Normalized Mode Use) Keyboard or Printer Graphic CDC ASCII 10 Input or Output Hex. Codettt Octal Codettt 020 040 3A 072 2D 25 26 043 045 046 4C 4E 055 114 116 117 29 2A 051 052 2C 2F 054 21 2A 057 061 3E 41 062 064 38 20 23 4F 52 122 041 Console Output Only Hex. Codettt 6C 6E 6F 72 Octal Codettt 154 156 157 162 052 42 44 076 101 102 104 61 62 64 141 142 144 067 070 47 48 107 110 67 68 147 150 3B 3D 073 075 2E 5C 056 134 7C 174 43 103 33 063 45 46 49 4A 105 106 111 112 35 36 39 065 066 071 4C 4F 114 117 30 22 060 042 5B 133 51 52 121 2F 057 122 54 124 53 55 57 58 127 130 58 59 5B 5D 133 135 5E Al 31 32 34 37 P " ti 7B 173 123 73 163 125 130 75 78 165 170 131 054 137 79 171 2C 5F 7F 177 136 241 23 043 4A 112 6A 152 A2 A4 242 244 A7 247 4B 4D 50 113 115 120 6B 6D 70 153 155 160 A8 AB 250 253 51 24 121 044 71 161 60499500 R r* Graphic it A-35 TABLE A-13. CHARACTER CODE TRANSLATIONS, EXTERNAL BINARY CODED (BCD) CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 10 AND 15 (200UT and 734) (Contd) Terminal External BCDt Hex. Codett Octal Codett Network ASCII (Normalized Mode Use) Keyboard or Printer Graphic ASCII CDC Input or Output Hex. Codettt Octal Codettt AD 255 27 047 AE B3 256 263 3F 43 077 103 B5 B6 B9 BA 265 266 271 272 45 46 49 3C 105 106 111 074 BC BF 274 29 051 . 277 Cl C2 C4 301 302 304 3B 31 073 061 062 064 C7 307 310 32 34 37 C8 CB 313 CD CE 315 316 DO D3 D5 320 323 325 326 D6 D9 DA DC DF DO 38 3D 23 40 blank blank 25 20 54 56 57 331 332 5A 5D 334 28 26 •s 337 320 /n or blank —i or ■ or none Console Output Only Hex. Codettt Octal Codettt 63 143 65 66 69 145 146 151 60 140 74 76 77 164 166 167 172 Graphic 067 070 075 100 045 040 124 126 127 132 135 space 7A 7D 175 050 046 5E, 7E 136, 176 ^§ TEscape codes and control codes are not listed. TlShown with odd parity, the only possible parity selection for these terminal classes. TttShown with zero parity (eighth or uppermost bit is always zero). During output, codes 000 through 037s are converted to code 320g (blank). Codes for lowercase ASCII characters sent to the console are converted to the codes for the equivalent uppercase characters supported by the terminal, as shown. 5Input and output of this symbol is not possible on some terminals. BCD transmission convent ions support the rubout symbol ■ as an internal terminal memory parity error indicator instead. 'fhe ASCII codes 1368 and 1768 are output as a blank. ^^^\ A-36 60499500 R TABLE A-14. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 11, 12, AND 13 (711, 714, AND 714X) Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet 73 75 76 79 7A 7C 7F 80 83 85 86 89 8A 163 165 166 171 172 174 177 200 203 205 206 211 212 8C 8F 91 92 94 97 98 9B 9D 9E Al A2 A4 A7 A8 AB AD AE BO B3 B5 B6 B9 BA BC BF Cl C2 C4 C7 C8 CB CD CE DO D3 D5 D6 D9 DA DC DF EO E3 214 217 221 222 224 227 230 233 235 236 241 242 244 247 250 253 255 256 260 263 265 266 271 272 274 277 301 302 304 307 310 313 315 316 320 323 325 326 331 332 334 337 340 343 60499500 R ASCII Graphic Control Charactertt or f or | DEL or RUBOUT NUL or ® ETX or © ENQ or WRU or ACK or RU or HT or ® LF or NL or j or NEW LINE FF or FORM or SI or © DC1 or X-ON or DC2 or TAPE or (R DC4 or TAPE or C? ETB or ® CAN or CLEAR o.r ®> ESC or ESCAPE orTD GS or RS or Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 73 75 76 79 7A 7C 7F 20 03 20 20 09 0A 163 165 166 171 172 174 177 040 003 040 040 011 012 0C OF 11 12 14 17 18 IB ID IE 21 22 24 27 28 2B 2D 2E 30 33 35 36 39 3A 3C 3F 41 42 44 47 48 4B 4D 4E 50 53 55 56 59 5A 5C 5F 60 63 014 017 021 022 024 027 030 033 035 036 041 042 044 047 050 053 055 056 060 063 065 066 071 072 074 077 101 102 104 107 110 113 115 116 120 123 125 126 131 132 134 137 140 143 ASCII Graphic Control Character§ delete space space space end of text* horizontal tabulate linefeed formfeed shift in device control 1 device control 2 device control 4 end transmission block cancel escape group separator record separator A-37 TABLE A-14. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 11, 12, AND 13 (711, 714, AND 714X) (Contd) Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet 01 02 04 07 08 OB OD OE 10 13 15 16 19 1A IC IF 20 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 61 62 64 67 68 6B 6D 6E 70 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 141 142 144 147 150 153 155 156 160 A-38 ASCII Graphic Control Charactertt A o r i Hex. Codettt Octal Codettt ASCII Graphic space space space space SOH or ® STX or pH EOT or ©_ BELL or (G) BS or «- or ® VT or ® CR or RETURN or ® 01 20 20 20 20 0B 001 040 040 040 040 013 DLE or (® DC3 or X-OFF or ® NAK or -*> or © SYN or LINE CLEAR or © EM or RESET or ® SUB or t or ® FS or © US or © 0E 10 13 15 16 19 1A IC 20 20 016 020 023 025 026 031 032 034 040 040 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 61 62 64 67 68 6B 6D 6E 70 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 141 142 144 147 150 153 155 156 160 SO or ©> SPACE or blank Network ASCII (Normalized Mode Use) Control Character^ start of header§§ vertical tabulate shift out data link escape device control 3 negative acknowledgment synchronous idle end of medium substitute fi l e s e p a r a t o r space space /\ ■ ^ 60499500 R TABLE A-14. CHARACTER CODE TRANSLATIONS, CONSOLES AND LINE PRINTERS IN TERMINAL CLASSES 11, 12, AND 13 (711, 714, AND 714X) (Contd) Terminal ASCII (Transparent Mode Use) Hex. Codet Octal Codet E5 E6 E9 EA EC EF Fl F2 F4 F7 F8 FB FD FE 345 346 351 352 354 357 361 362 364 367 370 373 375 376 ASCII Graphic Control Charactertt Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 65 66 69 6A 6C 6F 71 72 74 77 78 7B 7D 7E ASCII Graphic Control Character^ 145 146 151 152 154 157 161 162 164 167 170 173 175 176 tShown with odd parity, the only possible parity selection for these terminal classes. ^ NONJ7KL, Ti L ^ o r ^ OorT R O ? ? 3 T t ekey r l ntod ±generate C a t r t h athe t tcode. he character key is pressed in conjunction with a CTL, CTRL, CONTROL tttShown with zero parity (eighth or uppermost bit is always zero). Converted to a space (0408) within a batch printer file. §§Converted to a space (0408) during compiete editing. 60499500 S A-39 ^^^. TABLE A-15. ASCII CHARACTER CODE TRANSLATIONS, EBCD CONSOLES IN TERMINAL CLASS 4 (2741) Terminal EBCD Hex. Codet Octal Codet EBCD Graphictt 01 02 04 07 08 OB O D O E 10 13 15 16 19 1A IC IF 20 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 61 62 64 67 68 6B 6D 6E 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 141 142 144 147 150 153 155 156 or 7 or @ * or 8 H or h : or 4 D or d A-40 Control Character < or 2 B or b = A R Z N V or or or or or or 1 a r z n v undefined undefined UCS or UPPERCASE LCS or LOWERCASE RO or READER STOP HT or TAB L or 1 T or t " or # IL or IDLE or NULL PRE or PREFIX space + or & Q or q Y or y M or m U or u ' or 6 F or f undefined BS or BACKSPACE EOB J or ? or ( or I or % or E or j / 9 i 5 e 137 140 052 110 072 104 or or or or or or 055 100 070 150 064 144 3C or 32 42 or 62 074 or 062 102 or 142 00 00 000 000 4F or 6F 57 or 77 117 or 157 127 or 167 0E OF 016 017 3D 41 52 5A 4E 56 14 09 or or or or or or 31 61 72 7A 6E 76 075 101 122 132 116 126 or or or or or or 6C 74 23 2E 37 67 114 124 042 136 076 107 or or or or or 26 71 79 6D 75 4B or 6B 53 or 73 29 or 30 00 053 121 131 115 125 or or or or or or 061 141 162 172 156 166 or % or @ * or 8 H or h : or 4 D or d null null < or 2 B or b 0 or o W or w = A R Z N V or or or or or or 1 a r z n v or or or or or or 154 164 043 056 067 147 or or or or or 046 161 171 155 165 021 023 113 or 153 123 or 163 051 or 060 000 08 17 010 027 112 077 050 111 045 105 015 012 L T = /\ > G or or or or or or 1 t # . 7 g ."^^V null start of headers 047 or 066 106 or 146 6A 2F 39 69 35 65 shift out» shift ln§ device control 4 horizontal tabulate 27 or 36 46 or 66 or or or or or or Control Character null null 000 001 040 11 13 0D 0A ASCII Graphic 024 011 00 01 20 4A 3F 28 49 25 45 NL or CR or RETURN LF or LINE FEED 2D 40 38 68 34 64 000 000 2B 51 59 4D 55 PN or PUNCH ON PF or PUNCH OFF or or or or or or Octal Codettt 00 00 4C 54 22 5E 3E 47 ~ior , > or 7 G or g K or k S or s ) or 0 Hex. Codettt 5F 21 2A 48 3A 44 RES or RESTORE BY or BYPASS 0 or o W or w Network ASCII (Norma 11zed Mode Use) space + or & Q or q Y or y M or m U or u K or k S or s ) or 0 ' or 6 device control 1 (tape on) device control 3 (tape off) S^^k null F or f backspace end transmission blocks or or or or or or 152 057 071 151 065 145 J ? ( I X E or or or or or or j / 9 i 5 e carriage return linefeed 60499500 R TABLE A-15. ASCII CHARACTER CODE TRANSLATIONS, EBCD CONSOLES IN TERMINAL CLASS 4 (2741) (Contd) Terminal EBCD Hex. Codet Octal Codet EBCD Graphictt 70 73 75 76 79 7A 7C 7F 00 160 163 165 166 171 172 174 177 000 ; C ! 1 P X CO 00 00 3D 3D 3D 3D 3D 000 000 000 075 075 075 075 075 space space space 3D 3D 3D 3D or or or or or or Network ASCII (Normalized Mode Use) Control Character 3 c $ , p x Hex. Codettt 3B 43 21 7C 50 58 EOT DEL or or or or or or 33 63 24 2C 70 78 04 7F space 5B thru 5D 60 7B Octal Codettt 073 103 041 174 120 130 or or or or or or 063 143 044 054 160 170 175 or 176 002 003 005 007 075 075 075 IL or IDLE or NULL§§ IL or IDLE or NULL§§ IL or IDLE or NULL§§ 10 12 020 022 14 thru 16 024 thru 026 075 IL or IDLE or NULL§§ 18 thru IF 030 thru or or or or or 0B or 0C end of transmission^ delete } or - 140 173 Control Character 3 c $ , p x [ or \ or ] 7D or 7E IDLE IDLE IDLE IDLE IDLE or or or or or or 133 thru 135 02 03 05 07 or or or or or ; C ! ! P X 004 177 NULL§§ NULL§| NULL*® NULL§| NULL§§ IL IL IL IL IL ASCII Graphic 013 or 014 037 start of text end of text enquire bell vertical tabulate or formfeed data link escape device control 2 device control 4, negative acknowledge, or synchronize cancel, end of media, substitute, escape, fi l e s e p a r a t o r , group separator, record separator, or unit separator tshown with o d d p a r i t y ; o d d p a r i t y i s t h e d e f a u l t f o r t h i s t e r m i n a l c l a s s . tfEach input line is assumed to begin in lowe rcase. Input characters are translated to lowercase ASCII characters unless prefixed by the UCS code. Once a case shift occurs, it remains in effect until another case shift code is received, the page width is reached, or the line is transmitted to the host computer. During outj>ut, case is preserved by insert! on of case shift codes where needed. tttshown with zero parity (eighth or uppermost bit is always zero). §Not transmJ.tted to the host computer after t r a n s l a t i o n d u r i n g i n p u t . " O u t p u t t r a ris la tion only. 60499500 R A-41 /*rSS|\ TABLE A-l6. APL CHARACTER CODE TRANSLATIONS, EBCD CONSOLES IN TERMINAL CLASS 4 (2741) Terminal EBCD-APL Hex. Codet 01 02 04 07 08 OB OD OE 10 13 15 16 19 1A IC IF 20 23 • 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 61 62 64 67 68 6B 6D 6E 70 73 75 76 79 7A A-42 Octal Codet 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 141 142 144 147 150 153 155 156 160 163 165 166 171 172 EBCD-APL Graph!.ctt _ -c* i4 A < L or or or or or or 1 or or o or w or " oc P <= T U or or or or or or □ or ~ or ) : > V Control Character undefined undefined u n d e fi n e d undefined UCS or UPPERCASE LCS or LOWERCASE undefined HT or TAB space + or ? or t or 1 or 1 or -H or r or /\ or undefined > or """ or BS or BACKSPACE EOB NL or CR or RETURN LF or LINE FEED < (1 ( ; * =i or or or or or or 2D 70 38 48 34 44 Octal Codettt 137 161 042 150 100 144 or or or or or or 053 160 070 110 064 104 000 000 2D or 32 42 or 62 055 or 062 142 or 102 00 00 000 000 6F or 4F 77 or 57 157 or 117 167 or 127 0E OF 016 017 22 61 72 7A 6E 76 00 06 or or or or or or or or or or or or 31 41 52 5A 4E 56 4C 54 5D 2E 37 47 00 IB 20 25 3F 79 6D 75 undefined u n d e fi n e d or or or or or or 00 00 6C 74 29 3A 3E 67 or or or or or or or or or or Hex. Codettt 5F 71 22 68 40 64 *- IL or IDLE or NULL PRE or PREFIX o \ .v \ = € Network ASCII (Normalized Mode Use) or or or or or 66 51 59 4D 55 042 141 162 172 156 166 or or or or or or 061 101 122 132 116 126 000 006 154 164 051 072 076 147 or or or or or or 114 124 135 056 067 107 000 033 040 045 077 171 155 165 or or or or or 146 121 131 115 125 00 00 000 000 6B or 4B 73 or 53 26 or 30 153 or 113 163 or 123 046 or 060 00 000 7C or 36 5E or 46 174 or 066 136 or 106 08 17 6A 5C 21 69 3D 65 010 027 or or or or or or 4A 2F 39 49 35 45 0D 0A 3C 63 28 3B 2A 78 152 134 041 151 075 145 or or or or or or 112 057 071 111 065 105 A S fl T T - APT. Graphic or -* r4 A < u or or or or or 33 43 5B 2C 50 58 074 143 050 073 052 170 nuLl null null null <=> or to o r or or or or or or □ or ~ or ) : > V shift out§ shift in§ R • null horizontal tabulate or or or or space + or ? or t or 1 or i or null escape null null —l or r or /\ or null >_ oorr — o \ y I » € or or or or or or 015 012 or or or or or or ■«- - or 1 or " oc P e= T U Control Character backspace end transmission block*' carriage return line feed or or or or or or 063 103 133 054 120 130 < 0 ( ; * z» or or or or or or 60499500 R TABLE A-16. APL CHARACTER CODE TRANSLATIONS, EBCD CONSOLES IN TERMINAL CLASS 4 (2741) (Contd) Terminal EBCD-APL Hex. Codet Octal Codet 7C 7F 00 00 00 00 3D 3D 3D 3D 3D 174 177 000 000 000 000 075 075 075 075 075 3D 075 3D 075 EBCD-APL Graphictt Control Character EOT DEL space§§ spacers space" spacers Network ASCII (Normalized Mode Use) Hex. Codettt Octal Codettt 04 7F 27 60 7B 7D 02 03 05 07 0B or 0C 004 177 047 140 173 175 002 003 005 007 013 or 014 IL or IDLE or NULL§§ 10 thru 16 020 thru 026 IL or IDLE or NULL§§ 18 thru IF 030 thru 037 IL IL IL IL IL or or or or or IDLE or NULL§§ IDLE or NULL§§ IDLE or NULL§| IDLE or NULl|| IDLE or NULL8* ASCII-APL Graphic Control Character end of transmissions delete start of text end of text enquire bell vertical tabulate or form feed data link escape, device control 1 thru device control 4, negative acknowledge, or synchronize cancel, end of media, substitute, escape fi l e s e p a r a t o r, group separator, record separator, or unit separator tshown with odd parity; odd parity is the default for this terminal class. TlEach input line is assumed to begin in lowercase. Input characters are translated to lowercase ASCII characters unless prefixed by the UCS code. Once a case shift occurs, it remains in effect until another case shift code is received, the page width is reached, or the line is transmitted to the host computer. During output, case is preserved by insertion of case shift codes where needed. TTTshown with zero parity (eighth or uppermost bit is always zero). "Not transmitted to the host computer after translation during input. " ' O u t p u t t r a n s l a t i o n o n l y. 60499500 R A-43 TABLE A-17. ASCII CHARACTER CODE TRANSLATIONS, CORRESPONDENCE CODE CONSOLES IN TERMINAL CLASS 4 (2741) Terminal Correspondence Code Hex. Codet Octal Codet Correspondence Code Graphictt 01 02 04 07 08 OB OD OE 10 13 15 16 19 1A IC IF 20 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 1/4 or 1/2 T or t $ or 4 ? or / % or 5 P or p 4F 117 51 52 54 57 58 5B 5D 5E 61 62 64 67 68 6B 6D 6E 70 73 75 121 122 124 127 130 133 135 136 141 142 144 147 150 153 155 156 160 163 165 A-44 @ or 2 + or = I or i K or k + G S H R D V U ( _* or or or or or or or or or or or 1 g s h r d v u 9 8- Control Character RES or RESTORE BY or BYPASS undefined undefined UCS or UPPERCASE LCS or LOWERCASE RO or READER STOP HT or TAB space J or j 0 or o L or 1 " or ' E or e PN or PUNCH ON PF or PUNCH OFF N or n Z or z undefined i or 6 Q or q BS or BACKSPACE EOB M X ) Y & : or or or or or or m x 0 y 7 ; # or 3 F of f W or w Hex. Codettt 5B 54 24 3F 25 50 00 00 5D 74 34 2F 35 70 00 00 49 or 69 AB or 6B 0E OF 7C 47 53 48 52 44 14 09 4A 4F 4C 22 45 Octal Codettt 137 124 044 077 045 120 000 000 or or or or or or 135 164 064 057 065 160 100 or 062 053 or 075 or or or or or or or or or or or 31 67 73 68 72 64 76 75 39 2D 38 or or or or or 6A 6F 6C 27 65 11 ASCII Graphic [ T $ ? % P or or or or or or ] t 4 / 5 p 111 or 151 113 or 153 174 107 123 110 122 104 or or or or or or 061 147 163 150 162 144 054 000 033 040 112 117 114 042 105 or or or or or 166 165 071 055 070 I or i K or k shift out§ shift ln§ I G S H R D or or or or or or 1 g s h r d V U ( _ * or or or or or v u 9 8 or or or or or 152 157 154 041 145 space J or j 0 or o L or 1 " or ' E or e device control 1 (tape on) device control 3 (tape off) 13 023 2E 056 4E or 6E 5A or 7A 00 116 or 156 132 or 172 000 N or n Z or z 21 or 36 51 or 71 041 or 066 121 or 161 ! or 6 Q or q null 010 027 or or or or or or 6D 78 30 59 37 3B 115 130 051 131 046 072 device control 4 horizontal tabulate null escape 021 08 17 null null null null 024 011 126 125 050 137 052 Control Character @ or 2 + or = 000 000 016 017 2C 00 IB 20 4D 58 29 79 26 3A NL or CR or RETURN LF or LINE FEED or or or or or or 40 or 32 2B or 3D 56 55 28 5F 2A IL or IDLE or NULL PRE or PREFIX <^^^\ Network ASCII (Normalized Mode Use) or or or or or or 155 170 060 171 067 073 0D 0A 015 012 23 or 33 46 or 66 57 or 77 043 or 063 106 or 146 127 or 167 M X ) Y & : or or or or or or backspace end transmission block" m x 0 y 7 ; 0 or 3 F or f W or w carriage return line feed 60499500 R TABLE A-l7. ASCII CHARACTER CODE TRANSLATIONS, CORRESPONDENCE CODE CONSOLES IN TERMINAL CLASS 4 (2741) (Contd) Terminal Correspondence Code Hex. Codet Octal Codet Correspondence Code Graphictt Network ASCII (Normalized Mode Use) Control Character Hex. Codettt Octal Codettt 76 79 7A 7C 7F 00 00 00 00 00 00 3D 3D 3D 3D 3D 3D 166 171 172 174 177 000 000 000 000 000 000 075 075 075 075 075 075 3D 3D 3D 075 075 075 IL or IDLE or NULL§§ IL or IDLE or NULL§§ IL or IDLE or NULL8^ 10 12 14 thru 16 020 022 024 thru 026 3D 075 IL or IDLE or NULL8"8" 18 thru IF 030 thru 037 B or b A or a C or c EOT DEL space8" space§§ space" space§§ space§§ space88 IL IL IL IL IL IL or or or or or or IDLE IDLE IDLE IDLE IDLE IDLE or or or or or or NULL§§ NULL88 NULL§§ NULL§§ NULL§§ NULL§§ 42 41 43 04 18 27 5C 5E 60 7B 7D 01 02 03 05 07 0B or 62 or 61 or 63 or 7E or 0C 102 101 103 004 030 047 134 136 140 173 175 001 002 003 005 007 013 or 142 or 141 or 143 ASCII Graphic Control Character B or b A or a C or c end of transmission8 cancel or 176 or 014 } or start of header start of text end of text enquire bell vertical tabulate or form feed data link escape device control 2 device control 4, negative acknowledge, or synchronize cancel, end of media, substitute, fi l e s e p a r a t o r, group separator, record separator, or unit separator tshown with odd parity; odd parity is the default for this terminal class, t tEach input line is assumed to begin in lowercase. Input characters are translated to lowercase ASCII characters unless prefixed by the UCS code. Once a case shift occurs, it remains in effect until another case shift code is received, the page width is reached, or the line is transmitted to the host computer. During output, case is preserved by insertion of case shift codes where needed. rttShown with zero parity (eighth or uppermost bit is always zero). 8Not transmitted to the host computer after translation during input. 8 Ou tp u t tr a n s l a t i o n o n l y. J^S /sP^s 60499500 R A-45 TABLE A-l8. APL CHARACTER CODE TRANSLATIONS, CORRESPONDENCE CODE CONSOLES IN TERMINAL CLASS 4 (2741) Terminal Correspondence Code Hex Octal Correspondence Code APL Codet Codet Graphictt 01 02 04 07 08 OB OD OE 10 13 15 16 19 1A IC IF 20 23 25 26 29 2A 2C 2F 31 32 34 37 38 3B 3D 3E 40 43 45 46 49 4A 4C 4F 51 52 54 57 58 5B 5D 5E 001 002 004 007 010 013 015 016 020 023 025 026 031 032 034 037 040 043 045 046 051 052 054 057 061 062 064 067 070 073 075 076 100 103 105 106 111 112 114 117 121 122 124 127 130 133 135 136 61 62 64 67 68 6B 6D 6E 70 73 75 141 142 144 147 150 153 155 156 160 163 165 Control Character or or or or or or or + or \ or I ' or K or or or or or or U or or v or or or or space ° or o or □ or ) or e or or or or or or undefined undefined undefined undefined UCS or UPPERCASE LCS or LOWERCASE undefined HT or TAB IL or IDLE or NULL PRE or PREFIX undefined undefined undefined BS.or BACKSPACE EOB or or or or or or < or 3 _ or F co or W NL or CR or RETURN LF or LINE FEED Network ASCII (Normalized Mode Use) Hex Codettt Octal Codettt ASCII-APL Graphic 71 or 70 74 or 54 40 or 34 5C or 2F 3D or 35 2A or 50 00 00 5E or 32 25 or 66 00 00 69 or 49 27 or 4B 0E OF 23 or 31 67 or 47 73 or 53 68 or 48 72 or 52 64 or 44 00 09 76 or 56 75 or 55 21 or 39 2D or 2B 22 or 38 3B or 2C 00 IB 20 6A or 4A 6F or 4F 6C or 4C 29 or 5D 65 or 45 00 13 3A or 2E 6E or 4E 7A or 5A 00 7C or 36 3F or 51 08 17 161 or 160 164 or 124 100 or 064 134 or 057 075 or 065 052 or 120 000 000 136 or 062 045 or 146 000 000 151 or 111 153 or 113 016 017 042 or 061 147 or 107 163 or 123 150 or 110 162 or 122 144 or 104 000 OU 166 or 126 165 or 125 041 or 071 055 or 053 042 or 070 073 or 054 000 033 040 156 or 112 157 or 117 154 or 114 051 or 035 145 or 105 000 023 072 or 056 156 or 116 172 or 132 000 174 or 066 077 or 121 010 027 or or or or or or 6D or 4D 78 or 58 26 or 30 79 or 59 3E or 37 28 or 5B 0D 0A 3C or 33 5F or 46 77 or 57 155 or 115 170 or 130 045 or 060 171 or 131 076 or 067 050 or 133 015 012 074 or 063 137 or 106 167 or 127 or or \ or I ' or K or or or or or or U + \s j4 ; or or or or or or space Control Character null null null null shift out5 shift in§ null horizontal tabulate null escape o or <=> or □ or ) or e or or or or or or or or or or or or or or or null null null backspace end transmission block8 carriage return line feed •^■^v A-46 60499500 R TABLE A-18. APL CHARACTER CODE TRANSLATIONS, CORRESPONDENCE CODE CONSOLES IN TERMINAL CLASS 4 (2741) (Contd) Terminal Correspondence Code Network ASCII (Normalized Mode Use) Octal Codet Correspondence Code APL Graphictt 76 79 7A 7C 7F 00 00 00 00 3D 3D 3D 3D 3D 3D 166 171 172 174 177 000 000 000 000 075 075 075 075 075 075 1 or B oc or A 0 or C 3D 3D 3D 075 075 075 IL or IDLE or NULl|| IL or IDLE or NULL88 IL or IDLE or NULL§§ 10 12 14 thru 16 020 022 024 thru 026 3D 075 IL or IDLE or NULL8^ 18 thru IF 030 thru 037 Hex Codet Control Character EOT DEL space§§ space§§ space§§ space§§ IL IL IL IL IL IL or IDLE or NULL8§ or IDLE or NULLff or IDLE or NULL88 or IDLE or NULL8*8" or IDLE or NULL§§ or IDLE or NULL§§ Hex Codettt 62 61 63 04 18 27 60 7B 7D 01 02 03 05 07 0B or or or or 42 41 43 14 or 7E or 0C Octal Codettt 142 141 143 004 030 047 140 173 175 001 002 003 005 007 013 or 102 or 101 or 103 ASCII-APL Graphic Control Character 1 or B oc or A 0 or C end of transmission8 cancel or 176 or 014 O { } or rstart of header start of text end of text enquire bell vertical tabulate or form feed data link escape device control 2 device control 4, negative acknowledge, or synchronize cancel, end of media, substitute, fi l e s e p a r a t o r, group separator, record separator, or unit separator Tshown with odd parity; odd parity is the default for this terminal class. (Unless PA=N or PA=I, the application program receives the same code as in normalized mode.) "Each input line is assumed to begin in lowercase. Input characters are translated to lowercase ASCII characters unless prefixed by the UCS code. Once a case shift occurs, it remains in effect until another case shift code is received, the page width is reached, or the line is transmitted to the host computer. During output, case is preserved by insertion of case shift codes where needed. 'TTshown with zero parity (eighth or uppermost bit is always zero). "Not transmitted to the host computer after translation during input. " " O u t p u t t r a n s l a t i o n o n l y. J0$^£\ 60499500 S A-47 TABLE A-19. FULL ASCII NORMALIZED MODE APL CHARACTER SET ■128-Character Set -< 96-Character Subset • •M 64-Character Subset ▶ Bits b4 b3 b2 bl | | | | O O O O 0 0 0 1 0 0 0 10 0 11 0 10 0 0 10 1 0 11 0 0 111 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ROW I COLUMN NUL 000 DLE 020 SP 040 060 100 120 140 SOH 001 DC1 021 1 061 A 101 Q 121 oc 041 141 161 STX 002 DC2 022 2 062 B 102 R 122 1 042 142 P 162 ETX 003 DC3 023 043 3 063 C 103 S 123 0 143 r 163 EOT 004 DC4 024 $ 044 4 064 D 104 T 124 L 144 164 ENQ 005 NAK 025 045 5 065 E 105 U 125 e 145 165 ACK 006 SYN 026 046 6 066 F 106 V 126 X 146 U 166 BEL 007 ETB 027 047 7 067 G 107 W 127 7 147 co 167 BS 010 CAN 030 ( 050 8 070 H 110 X 130 A 150 170 HT Oil EM 031 ) 051 9 071 I 111 Y 131 \ 151 t LF 012 SUB 032 072 J 112 Z 132 o 052 152 <= 172 VT 013 ESC 033 + 053 073 K 113 133 153 FF 104 FS 034 054 < 074 L 114 \ 134 D CR 015 G S 035 055 075 M 115 135 S O 016 RS 036 056 > 076 N 116 136 SI 017 US 037 / 057 077 0 117 137 160 I 171 { 173 -H 154 > _ 174 I 155 } 175 T r- 156 176 o 157 DELt 177 ■The graphic 95-character subset does not include DEL; refer to Terminal Transmission Modes in the text. LEGEND: Numbers under characters are the octal values for the 7-bit character codes used within the network. A-48 60499500 R DIAGNOSTIC MESSAGES This appendix lists the following categories of messages concerning network software: Application program execution errors Application program macro assembly errors Postprocessor errors and informative messages where re is a reason code from 01 through 99, with t h e s i g n i fi c a n c e i n d i c a t e d i n t a b l e B - 2 . I f t h e AIP and QTRM routines are loaded from library NETIOD, the same fatal diagnostic message is issued, but a supplementary message explaining the reason code is issued, as shown in the Message column of table B-2. The supplementary message begins with the name of the routine that detected the error. The additional informative message: EXECUTION ERROR MESSAGES When the Network Access c o d e d e t e c t s a n e r r o r, a written in the application diagnostic messages issued betically in table B-l. Method's execution time diagnostic message is p r o g r a m ' s d a y fi l e . T h e by NIP are listed alpha All fatal errors detected by NIP cause the applica tion program to abort without the ability to reprieve itself from the abort. All fatal errors detected by AIP cause the application program to abort and permit the application to reprieve itself from the abort, but no further AIP calls are allowed after the abort occurs. J0^\ The form of diagnostic message used by AIP and/or QTRM is partially determined by the library used to provide the routines for the execution run. If the routines are loaded from library NETIO, the only fatal diagnostic issued is: NETWORK APPLICATION ABORTED, RC=rc. NAM VER. x.y - level is always issued at AIP NETON call processing c o m p l e t i o n . T h e n u m b e r s x , y, a n d l e v e l , r e s p e c t i v e l y, i n d i c a t e t h e v e r s i o n n u m b e r, v a r i a n t , a n d PSR level of the AIP code used. ASSEMBLY ERROR MESSAGES When an application program uses the COMPASS macro version of the AIP calls, the assembly listing can contain the fatal error messages listed in table B-3. These macros are described in section 4. POSTPROCESSOR MESSAGES The debug log process debug can issue the d e b u g l o g fi l e tion 6. file postprocessor l o g fi l e s . D u r i n g messages shown postprocessor is (DLFP) is used to this processing it in table B-4. The described in sec TABLE B-l. APPLICATION PROGRAM DAYFILE NIP DIAGNOSTIC MESSAGES Message S i g n i fi c a n c e Action Issued By ADDRESS OUT OF RANGE The application program specified an address of 0, 1, or a word outside of its field length on a NETPUT or NETGET type AIP call, or an AIP bug exists. Change the address and rerun the job. If an incorrect address cannot be found, con tact a system analyst; a bug e x i s t s i n A I P. NIP APP WORK LIST ADDR=0 AIP has indicated that NIP should write its reply worklist at address 0. NIP cannot use this address. Either an AIP bug exists, or the application program has bypassed or destroyed its copy of AIP. Follow site-defined procedure to report and correct product or system problems. NIP APPLICATION IS NOT ALLOWED TO DO XFR The application attempted a call to the AIP routine NETXFR but is not validated for such a call. Remove the call to NETXFR. Only PTF and QTF are allowed to call NETXFR. AIP 60499500 W B-l TABLE B-l. APPLICATION PROGRAM DAYFILE NIP DIAGNOSTIC MESSAGES (Contd) Message S i g n i fi c a n c e Action Issued By BAD AIP OPCODE AIP has passed an invalid operation code in a worklist sent to NIP. Either an AIP bug exists, or the application program has bypassed or destroyed its copy of AIP. Follow site-defined procedure to report and correct product or system problems. NIP BAD WORD/ENTRY COUNT The number of words or entries in a worklist passed from AIP to NIP exceeded the maximum number permitted. Either an AIP bug exists, or the application program has bypassed or destroyed its copy of AIP. Follow site-defined procedure to report and correct product or system problems. NIP BKSP ERROR ON FILE xxxxxxx - AT=yyB. AIP encountered an I/O error while backspacing the specified file one record; yy is the abnormal termina tion code returned by CIO (nonfatal). Check the abnormal termination code to determine what is wrong with the file and then correct the problem. AIP EXTRA WORKLIST AIP passed a new worklist to NIP while NIP was still processing a previous worklist. Either an AIP bug exists, or the application program has by passed or destroyed its copy of AIP. Follow site-defined procedure to report and correct product or system problems. NIP ILLOGICAL WORKLIST AIP has passed a worklist to NIP that contai ns more than one NETWAIT or NETGET request. Either an AIP bug exists, or the application program has bypassed or destroyed its copy of AIP. Follow site-defined procedure to report and correct product or system problems. NIP INVALID APPLICATION NAME ON NETON The program attempted to access the network with an aname parameter that does not appear in the system validation file and/or COMTNAP. Correct the aname parameter and rerun the job. Check that the system validation file and/or COMTNAP has been updated to include the application's name. NIP INVALID MINACN/MAXACN ON NETON One or both of the indicated parameters was out of the range permitted for the installation. Change the parameters and rerun the job. NIP NONEXISTENT APPLICATION ID NIP has no table entry corresponding to the process number AIP has passed to it to identify the application program. Either an AIP or NAM bug exists, or the application program has bypassed or destroyed its copy o f A I P. Follow site-defined procedure to report and correct product or system problems. NIP NOT YET NETTED ON The application program attempted to use the network's resources before issuing a NETON call. If this message does not occur with the corresponding AIP message, either a bug exists In AIP, or the application program has bypassed or destroyed its copy of AIP. Change the program and rerun the job. NIP OVER 500 SUP MSGS QUEUED FOR APP The application program is not fetch ing the asynchronous supervisory messages queued for it. When the queue in NIP reaches 500 supervisory messages, NIP aborts the application program and this dayfile message a p p e a r s i n t h e a p p l i c a t i o n ' s d a y fi l e . Correct the program and rerun the job. NIP B-2 60499500 W TABLE B-l. APPLICATION PROGRAM DAYFILE NIP DIAGNOSTIC MESSAGES (Contd) /ffS^N Message S i g n i fi c a n c e Issued By Action READ ERROR ON FILE xxxxxxx - AT=yyB. AIP encountered an I/O error while r e a d i n g t h e s p e c i fi e d fi l e ; y y i s the abnormal termination code returned by CIO (nonfatal). Check the abnormal termination code to determine what is wrong with the file and then correct the problem. AIP REWIND ERROR ON FILE xxxxxxx - AT=yyB. AIP encountered an I/O error while r e w i n d i n g t h e s p e c i fi e d fi l e ; y y is the abnormal termination code returned by CIO (nonfatal.). Check the abnormal termination code to determine what is wrong with the file and then correct the problem. AIP ROUTE ERROR ON FILE ZZZZZDN - AT=yyB. AIP encountered an error when it tried to route the ZZZZZDN file to the input queue; yy Is the abnormal termination code returned by DSP (nonfatal). Check the error code to deter mine why the route failed and then correct the problem. AIP SECURITY VIOLATION The application program has attempted to call NETON as a supervisory or validation program (CS, NS, or NVF). Change the program's origin type permission and rerun the job. NIP WRITE ERROR ON FILE xxxxxxx - AT=yyB. AIP encountered an I/O error while w r i t i n g t o t h e s p e c i fi e d fi l e ; y y is the abnormal termination code returned by CIO (nonfatal). None. The file is returned to the system and a new one is created. AIP /$P^H 60499500 W B-2.1/B-2.2 • ^ % ^ n TABLE B-2. APPLICATION PROGRAM DAYFILE AIP AND QTRM DIAGNOSTIC MESSAGES Reason Code Message 01 thru 29 r /0^\ S i g n i fi c a n c e Action Issued By Reserved by CDC. 30 NETON: DUPLICATE NETON REQUEST The application program has called NETON twice. Change the program and rerun the job. AIP 31 NP$GET: REQUEST INVALID BEFORE NETON The application program issued a GET-type call before it issued a NETON call, or after it issued a NETOFF call. Change the program and rerun the job. AIP 32 NP$PUT: REQUEST INVALID BEFORE NETON The application program issued a PUT-type call before it issued a NETON call, or after it issued a NETOFF call. Change the program and rerun the job. AIP 33 NETWAIT: REQUEST INVALID BEFORE NETON The application program issued the indicated call before it issued a NETON call, or after it issued a NETOFF call. Change the program and rerun the job. AIP 34 NETDBG: REQUEST INVALID BEFORE NETON The application program issued the indicated call before it issued a NETON call, or after it issued a NETOFF call. Change the program and rerun the job. AIP Relocate the improperly placed NETON call and rerun the job. AIP 35 thru 39 40 Reserved by CDC. NETON: PREVIOUS REQUEST INCOMPLETE 41 An AIP call other than to NETOFF or NETCHEK cannot be made while the program is in parallel processing mode and a previous AIP call has not been com pleted . Reserved by CDC. 42 NP$GET: PREVIOUS REQUEST INCOMPLETE An AIP call other than to NETOFF or NETCHEK cannot be made while the program is in parallel processing mode and a previous AIP call has not been com pleted. Relocate the improperly placed GET-type call and rerun the job. AIP 43 NP$PUT: PREVIOUS REQUEST INCOMPLETE An AIP call other than to NETOFF or NETCHEK cannot be made while the program is in parallel processing mode and a previous AIP call has not been com pleted. Relocate the improperly placed PUT-type call and rerun the job. AIP 44 NETWAIT: PREVIOUS REQUEST INCOMPLETE An AIP call other than to NETOFF or NETCHEK cannot be made while the program is in parallel processing mode and a previous AIP call has not been com pleted . Relocate the improperly placed NETWAIT call and rerun the job. AIP 60499500 S B-3 I TABLE B-2. APPLICATION PROGRAM DAYFILE AIP AND QTRM DIAGNOSTIC MESSAGES (Contd) Reason Code 45 Message NETOFF: NETOFF DURING FILE TRANSFER 46 thru 48 S i g n i fi c a n c e Application NETOFF while t h e r e ' i s a fi l e t r a n s f e r still in progress. Action Issued By Relocate the improperly placed OFF-type call and rerun the job. AIP Reserved by CDC. 49 NP$L0C: NO ENTRY WITH MATCHING ACN N o e n try i n fil e tra n sfe r ring table matching this ACN. Rerun the job. AIP 50 NP$ON: INVALID PROCESS NUMBER A bug exists in the oper ating system or NAM. The process number assigned to the application program during processing of its NETON call was out of range. F o l l o w s i t e - d e fi n e d procedure to report and correct product or system problems. AIP 51 NP$XFER: NWL HAS OVERFLOWED The debug option code in AIP detected an error con dition not caused by an application program AIP call. F o l l o w s i t e - d e fi n e d procedure to report and correct product or system problems. AIP 52 thru 66 Reserved by CDC. 67 NP$XFER: NIP NOT AVAILABLE AT A SCP The application program reprieved itself after being aborted, but NIP has also aborted. The only AIP call that can be i8sued after NIP aborts is a NETOFF. Change the application program reprieve procedure and rerun the job. AIP 68 FETCH ILLEGAL FIELD MNEMONIC Either the field or value parameter in the indicated call was not found. Correct the call and rerun the job. AIP 69 STORE ILLEGAL FIELD MNEMONIC Either the field or value parameter in the indicated call was not found. Correct the call and rerun the job. AIP 70 QTENDT: REQUEST INVALID BEFORE QTOPEN A QTENDT call is Illegal before a QTOPEN call or after a QTCLOSE call. Correct the statement sequence and rerun the job. QTRM 71 QTGET: REQUEST INVALID BEFORE QTOPEN A QTGET call is illegal before a QTOPEN call or after a QTCLOSE call. Correct the statement sequence and rerun the job. QTRM 72 QTPUT: REQUEST INVALID BEFORE QTOPEN A QTPUT call is illegal before a QTOPEN call or after a QTCLOSE call. Correct the statement sequence and rerun the job. QTRM 73 QTLINK: REQUEST INVALID BEFORE QTOPEN A QTLINK call is illegal before a QTOPEN call or after a QTCLOSE call. Correct the statement sequence and rerun the job. QTRM B-4 60499500 S TABLE B-2. APPLICATION PROGRAM DAYFILE AIP AND QTRM DIAGNOSTIC MESSAGES (Contd) Reason Code 74 Message QTTIP: REQUEST INVALID BEFORE QTOPEN 75 thru 79 S i g n i fi c a n c e A QTTIP call is illegal before a QTOPEN call or after a QTCLOSE call. Action Issued By Correct the statement sequence and rerun the job. QTRM Reserved by CDC. 80 QTOPEN: DUPLICATE QTOPEN The application program attempted to perform QTOPEN a second time. Remove the extra QTOPEN statement and rerun the job. QTRM 81 QTOPEN: NIT NUM-CONNS FIELD IS ZERO The num-conns field in the network information table was zero when QTOPEN was called. Correct the table and rerun the job. QTRM 82 QTOPEN: NETON REJECTED The application program was not allowed to access the network. Either another application with the same name has accessed the network or the host operator has disabled the application from accessing the network. Rerun the job after contacting the host o p e r a t o r. QTRM 83 QTOPEN: NETWORK NOT AVAILABLE The network is not running or it temporarily does not have enough resources to allow this application to access the network. Rerun the job later. QTRM 84 thru 94 95 Reserved by CDC. QTLINK: NO A-TO-A 96 thru 98 99 The application program requested connection to another application pro gram when the A-to-A fi e l d i s n o t s e t . Change the program to set t h e A - t o - A fi e l d b e f o r e the call to QTOPEN and rerun the job. Reserved by CDC. QTGET: NETWORK LOGICAL ERROR, TYPE n NAM has sent a logical error supervisory message to the application pro gram; n is the reason code from the logical error supervisory message. The l o g i c a l e r r o r i s d u e to a QTPUT call with bad parameters stored in the network information table. Correct the parameter fields before issuing the QUPUT call. QTRM /S^N 60499500 R B-5 TABLE B-3. AIP MACRO ASSEMBLY LISTING DIAGNOSTIC MESSAGES Message S i g n i fi c a n c e Action Issued By ERR FIRST PARAMETER MISSING At least one parameter is required in the AIP call that caused the error. Correct the call and reassemble the job. AIP ERR MUST BE LIST= A parameter is required after LIST= in the second calling format by the AIP call that caused the error. Correct the call and reassemble the job. AIP ERR NSUP ADDRESS MISSING Address of nsup word is not p r o v i d e d i n t h e fi r s t o r t h i r d calling format by the NETON AIP call that caused the error. Correct the call and reassemble the job. AIP ERR STATUS ADDRESS MISSING Address of status word is not p r o v i d e d i n t h e fi r s t o r t h i r d calling format by the NETON AIP call that caused the error. Correct the call and reassemble the job. AIP ERR MINACN ADDRESS MISSING Address of MINACN word is not p r o v i d e d i n t h e fi r s t o r t h i r d calling format by the NETON AIP call that caused the error. Correct the call and reassemble the job. AIP ERR MAXACN ADDRESS MISSING Address of MAXACN word is not p r o v i d e d i n t h e fi r s t o r t h i r d calling format by the NETON AIP call that caused the error. Correct the call and reassemble the job. AIP ERR HEADER AREA ADDRESS MISSING Address of application block header is not provided in first or third calling format by the NETGET, NETGETF, NETGETL, or NETGTFL AIP call that caused t h e e r r o r. Correct the call and reassemble the job. AIP ERR TEXT AREA ADDRESS MISSING Address of text area is not p r o v i d e d i n t h e fi r s t o r t h i r d calling format by the NETGET, NETGETF, NETGETL, or NETGTFL AIP call that caused the error. Correct the call and reassemble the job. AIP ERR TEXT LIMIT IS MISSING Address of text limit of block acceptable is not provided in t h e fi r s t o r t h i r d c a l l i n g f o r mat by the NETGET, NETGETF, NETGETL, or NETGTFL AIP call that caused the error. Correct the call and reassemble the job. AIP ERR SECOND PARAMETER MISSING Second parameter is not pro v i d e d i n t h e fi r s t o r t h i r d calling format by the NETPUT, NETREL, NETSETF, NETSTC, NETWAIT, NETPUTF, or NETDBG AIP call that caused the error. Correct the call and reassemble the job. AIP ERR THIRD PARAMETER MISSING Third parameter is not pro v i d e d i n t h e fi r s t o r t h i r d calling format by the NETPUTF or NETDBG AIP call that caused t h e e r r o r. Correct the call and reassemble the job. AIP B-6 60499500 R TABLE B-3. AIP MACRO ASSEMBLY LISTING DIAGNOSTIC MESSAGES (Contd) Message S i g n i fi c a n c e Action Issued By ERR PARAMETER MISSING The parameter is not provided in the NETSETP AIP call that caused the error. Correct the call and reassemble the job. AIP ERR field ERROR IN 1ST PARAMETER The first parameter provided in the NFETCH or NSTORE call that caused the error is not v a l i d . T h e fi e l d p a r a m e t e r i n d i c a t e s t h e fi e l d i n w h i c h the error occurs. Correct the call and reassemble the job. AIP ERR field ERROR IN FIELD MNEMONICS The second parameter provided in the NFETCH or NSTORE call that caused the error is not a valid symbolic field name. The field parameter indicates the fi e l d i n w h i c h th e e r r o r occurs. Correct the call and reassemble the job. AIP ERR field ILLEGAL REGISTER NAME The third parameter provided in the NFETCH call that caused the error is not a valid regis t e r. T h e fi e l d p a r a m e t e r i n d i c a t e s t h e fi e l d i n w h i c h the error occurs. Correct the call and reassemble the job. AIP ERR field ERROR IN BRD PARAMETER The third parameter provided in the NSTORE call that caused the error is not a valid regis t e r. T h e fi e l d p a r a m e t e r i n d i c a t e s t h e fi e l d i n w h i c h the error occurs. Correct the call and reassemble the job. AIP TABLE B-4. DLFP DAYFILE, ERROR, AND INFORMATIVE MESSAGES Message S i g n i fi c a n c e Action Issued By /PS^ BAD DEBUG LOG FILE DLFP did not process the debug log file because the content of the file was bad. Correct and rerun. DLFP BAD DIRECTIVE TABLE ENTRY DLFP detected an error in its internal tables. F o l l o w s i t e - d e fi n e d p r o cedure to report and correct product or system problems. DLFP DLFP COMPLETE DLFP completed processing the d e b u g l o g fi l e , i f a n y. None. DLFP DUPLICATE FILE NAME The same file name was used on more than one parameter on the DLFP command. Correct and rerun. DLFP EMPTY DEBUG LOG FILE The debug log file was empty. None. DLFP ERROR IN B DIRECTIVE B directive is not followed by keyword operator. Correct and rerun. DLFP 60499500 R B-7 TABLE B-4. DLFP DAYFILE, ERROR, AND INFORMATIVE MESSAGES (Contd) Message S i g n i fi c a n c e Action Issued By ERROR IN BD= DIRECTIVE Date is invalid or missing. Correct and rerun. DLFP ERROR IN BT= DIRECTIVE Time is invalid or missing. Correct and rerun. DLFP ERROR IN C DIRECTIVE C directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN CN= DIRECTIVE Connection number is invalid or missing. Correct and rerun. DLFP ERROR IN DN= DIRECTIVE DN directive used incorrectly. Correct and rerun. DLFP ERROR IN E DIRECTIVE E directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN ED= DIRECTIVE Date is invalid or missing. Correct and rerun. DLFP ERROR IN ET= DIRECTIVE Time is invalid or missing. Correct and rerun. DLFP ERROR IN F DIRECTIVE F directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN LE= DIRECTIVE Length is an invalid value or missing. Correct and rerun. DLFP ERROR IN N DIRECTIVE N directive is not followed by a keyword separator. Correct and rerun. DLFP ERROR IN NM= DIRECTIVE Number is invalid or missing. Correct and rerun. DLFP ERROR IN P DIRECTIVE P directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN PF= DIRECTIVE Hexadecimal number is invalid, not two digits, or missing. ' Correct and rerun. DLFP ERROR IN PS= DIRECTIVE Hexadecimal number is invalid, not four digits, or missing. Correct and rerun. DLFP ERROR IN R DIRECTIVE R directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN SM= DIRECTIVE Number is invalid or missing. Correct and rerun. DLFP ERROR IN SN= DIRECTIVE SN directive used incorrectly. Correct and rerun. DLFP ERROR IN T DIRECTIVE T directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN U DIRECTIVE U directive is not followed by keyword separator. Correct and rerun. DLFP ERROR IN X DIRECTIVE X directive is not followed by keyword separator. Correct and rerun. DLFP ILLEGAL CHARACTER The directive record contains a c h a r a c t e r t h a t i s n o t a l e t t e r, a digit, an equal sign, a comma, or a blank. Correct and rerun. DLFP ILLEGAL FILE NAME The file name contains characters other than letters and digits or it begins with a number. Correct and rerun. DLFP B-8 60499500 R /0^\ TABLE B-4. DLFP DAYFILE, ERROR, AND INFORMATIVE MESSAGES (Contd) Message S i g n i fi c a n c e Action Issued By ILLEGAL PARAMETER DLFP does not recognize a parameter in the command. Correct and rerun. DLFP LOG FILE NOT CLOSED Debug log file was not closed correctly. Either NETOFF or NETREL was not called before the application terminated. Correct the application pro gram for future executions, if possible. DLFP MULTIPLE COMMAS BETWEEN DIRECTIVES Two or more commas were used with no directive between them. Correct and rerun. DLFP NO MESSAGES FOUND No messages were found with the specified keywords. None. DLFP OVER 10 VALID CHARS BETWEEN KEYWD SEP The string of valid characters between the keyword separators was greater than 10 characters. A v a l i d c h a r a c t e r i s a l e t t e r, a digit, or an equal sign. Correct and rerun. DLFP PARAMETER FORMAT ERROR A parameter on the DLFP command i s n o t f o r m a t t e d c o r r e c t l y. Correct and rerun. DLFP PARAMETER SPECIFIED TWICE A parameter on the DLFP command appears more than once. Correct and rerun. DLFP UNRECOGNIZABLE KEYWORD A nonexistent keyword was used, or the first keyword did not begin in column one. Correct and rerun. DLFP 0!^**. 60499500 R B-9 (*%■ GLOSSARY /fc™^ This appendix contains terms and mnemonics unique to the description of the software presented in this manual. It also contains terms whose inter pretation within this manual is intended to be more constrained or different from that commonly made. Some terms used in other manuals for the network software are included for the reader's convenience when reconciling terminology. Acknowledgment, Block A message returned to the sender confirming the delivery of one block; referred to as BACK in CCP documentation. yfwSr'K Address A location of data (as in the main or micro NPU memory) or of a device (as a peripheral device or terminal). APL A scientific programming language characterized by powerful operators and special graphic sym bols. Application Block Header (ABH) A single 60-bit word description accompanying every block passing between an application pro gram and NAM. Application Block Limit (ABL) The number of unacknowledged blocks a logical connection is allowed to have outstanding (queued by the network) at any one time. Application Block Number (ABN) A fi e l d i n t h e a p p l i c a t i o n b l o c k h e a d e r . A n application-assigned number used to identify a particular network data block. Application Block Type (ABT) A field in the application block header defining the accompanying block as either data or super v i s o r y, n u l l o r n o t n u l l , a n d i n d i c a t i n g w h i c h block is the last block of a message. Application Character Type (ACT) A field in the application block header defining the byte size and packing of text characters. Application Connection Number (ACN) A number assigned by NAM to identify a particu lar logical connection within an application program. Application Interface Program (AIP) A group of routines that reside in the applica t i o n p r o g r a m ' 8 fi e l d l e n g t h . T h e s e r o u t i n e s buffer communication between the application program and the network, using the system con trol point feature of NOS. Application List Number (ALN) An application-program-assigned number used to identify a particular group of logical connec tions belonging to the application program. Application Name (ANAME) U p t o s e v e n 6 - b i t l e t t e r s o r d i g i t s ( t h e fi r s t must be a letter) used to identify an applica tion program. It is used by another application program, by a terminal operator when connection to the application is requested, and by the host operator to give commands. Application Program A program resident in a host computer that pro vides an information storage, retrieval, and/or p r o c e s s i n g s e r v i c e v i a t h e d a t a communication network and the Network Access Method. Appli cation programs always use the system control point feature of NOS to communicate with the Network Access Method. In the context of net work software, an application program is not an interactive job, but rather a terminal servicing f a c i l i t y. A t e r m i n a l s e r v i c i n g f a c i l i t y p r o vides terminal users with a specific processing capability such as remote job entry from batch terminals, transaction processing, entry and execution of interactive jobs, and so forth. For example, the standard CDC interactive facility IAF makes terminal input and output appear the same to an executing program as file input and output; IAF is a network application program, but the executing program using IAF is an interactive job. Archetype Terminal T h e s p e c i fi c t e r m i n a l e q u i p m e n t p o s s e s s i n g a l l of the attributes used as defaults for the d e fi n i t i o n o f o n e t e r m i n a l c l a s s . E a c h t e r m i n a l class has a corresponding archetype terminal. Asynchronous A transmission in which each information char acter is individually synchronized by the use of start and stop bits. The gap between each c h a r a c t e r i s n o t n e c e s s a r i l y o f fi x e d l e n g t h . Asynchronous Protocol The protocol used by asynchronous, t e l e t y p e w r i t e r - l i k e d e v i c e s . F o r C C P, t h e protocol is actually the set of protocols for eight types of real terminals. The NPU/ terminal interface Is handled by the ASYNC TIP. Automatic Input An output mode that prefixes up to 20 characters of the output message to the input reply. Automatic Login The process whereby one or more of the Network Va l i d a t i o n F a c i l i t y l o g i n d i a l o g p a r a m e t e r s i s s u p p l i e d t o N V F f r o m t h e l o c a l c o n fi g u r a t i o n fi l e . P a r a m e t e r s s u p p l i e d t h r o u g h a u t o m a t i c l o g i n c o n fi g u r a t i o n o f a t e r m i n a l s u p p r e s s prompting for the corresponding dialog entries and override any entries made from the terminal. y^P^N 60499500 R C-l Automatic Recognition T h e p r o c e s s w h e r e b y t h e Te r m i n a l I n t e r f a c e P r o g r a m i d e n t i fi e s c h a r a c t e r i s t i c s o f a t e r m i n a l when the terminal's communication line becomes a c t i v e . T h e Te r m i n a l I n t e r f a c e P r o g r a m d e t e r mines sub-TIP type and terminal class (and, for mode 4 terminals, the cluster and terminal addresses) by various methods for lines config ured for automatic recognition. The Communi cations Supervisor then matches these parameters a g a i n s t t h e d e s c r i p t i o n s o f s p e c i fi c t e r m i n a l s i n t h e n e t w o r k c o n fi g u r a t i o n fi l e ; t h e t e r m i n a l with the closest match to the empirically determined parameters is automatically recog nized as the terminal on the communication line. Base System Software The relatively invariant set of programs in CCP t h a t s u p p l i e s t h e m o n i t o r, t i m i n g , i n t e r r u p t handling, and multiplexing functions for the NPU. Base software also includes common areas, diagnostics, and debugging utilities. Batch Device A device that is capable of conducting input only or output only operations. Card readers, line printers, and plotters are examples of batch devices* Batch devices are sometimes referred to as passive devices. Binary Synchronous Communications (BSC) A communications protocol supported by the BSC TIP. This protocol connects IBM 2780 or 3780 terminals to the NPU using half-duplex synchro nous transmissions in a point-to-point mode. The terminals have batch devices which use EBCDIC code . Tr a n s p a r e n t d a t a e x c h a n g e s a r e p e r m i t t e d . T h e t e r m i n a l s a r e c o n fi g u r e d t o have a virtual console (interactive device). This is composed of a card reader for input and a printer for output. Block In the context of network communications, a portion or all of va message. A message is divided into blocks of one or more words (2 b y t e s / w o r d i n t h e N P U ) t o f a c i l i t a t e b u ff e r i n g , transmission, error detection and correction of variable length data streams. Differing block protocols apply to the host/NPU and the NPU/ terminal interfaces. Block Acknowledgment See Acknowledgment, Block. Block Header See Application Block Header. Block Limit The number of message blocks that can be awaiting delivery at any one time in either the host-to-NPU direction or the NPU-to-host direc tion for a single device. Block Type See Application Block Type. Break A method employed by a terminal operator to interrupt output or input in progress. C-2 Buffering The process of collecting data together in buf f e r s . O r d i n a r i l y, n o a c t i o n o n t h e d a t a i s t a k e n u n t i l t h e b u f f e r i s fi l l e d . F i l l e d b u f fers include the case where data is terminated before the end of the buffer and the remaining s p a c e i s fi l l e d w i t h i r r e l e v a n t c o d e s . Byte A g r o u p o f c o n t i g u o u s b i t s . U n l e s s p r e fi x e d (for example, a 6-bit byte), the term implies 8-bit groups. When used for encoding character data, a byte represents a single character. Cassette The magnetic tape device in an NPU used for bootstrap loading of off-line diagnostics and (in remote NPUs) the bootstrap load/dump oper ation. CE Error Message A message containing information concerning hardware and/or software malfunctions. Character A coded byte of data, such as a 6-bit display code or 7-bit ASCII code. Terminals use a wide range of codes. Network products are respon sible for translating between terminal codes a n d h o s t c o d e s . U n l e s s o t h e r w i s e s p e c i fi e d , references to characters in this manual are to ASCII 7-bit byte characters. Character Type See Application Character Type. Cluster Mode 4 devices grouped by a common cluster address. Synonymous with terminal. Cluster Address T h e h a r d w a r e a d d r e s s o f a c l u s t e r. T h i s t e r m is used in several ways within mode 4 communi cations documentation, as shown in table C-l. TABLE C-l. MODE 4 NOMENCLATURE EQUIVALENCE Networks Nomenclature Mode 4A Nomenclature Mode 4C Nomenclature Network processing unit Data source Control station Cluster address Site address Station address Cluster controller Equipment controller Station Terminal address Station addres8 Device address Terminal Equipment controller Station Device Equipment Device 60499500 R Communication Element Any entity that constitutes a point of input to, or output from, the data communication net work. This includes terminal devices, communi cation lines, and application programs. Communication Line A complete communication circuit between a terminal and its network processing unit. Communication Network The portion of the total network comprising the linked network processing units. The communi cation network excludes the host computer and terminals. Communications Control Program (CCP) A portion of the network software that resides in a 255x Series network processing unit. This set of modules performs the tasks delegated to the NPU in the network. This software can include such routines as the Terminal Interface Program. Communications Supervisor (CS) A portion of the network software, written as an application program; the Communications S u p e r v i s o r c o n fi g u r e s a n d c o n t r o l s t h e s t a t u s of NPUs and all their communication lines and terminals. C o n fi g u r a t i o n See Network Configuration. Connection See Logical Connection. Connection Number (CN) A unique number assigned to each active device on a logical link. Constant Carrier A communication line with a transmission carrier signal that remains on continuously; failure is reported if the carrier signal received remains off for a period of time that equals or exceeds a f a i l u r e v e r i fi c a t i o n p e r i o d . Contention The state that exists in a bidirectional trans mission line when both ends of the line try to use the line for transmission at the same time. All protocols contain logic to resolve the contention situation. Control Blocks ( 1 ) Th e ty p e s o f b l o c k s u s e d t o t r a n s m i t c o n trol (as opposed to data) information; (2) B l o c k s a s s i g n e d f o r s p e c i a l c o n fi g u r a t i o n / status purposes in the NPU. The major blocks are line control blocks (LCB), logical link control blocks (LLCB), logical channel control blocks (LCCB), terminal control blocks (TCB), queue control blocks (QCB), buffer maintenance control blocks (BCB), multiplexer line control blocks (MLCB), text processing control blocks (TPCB), and diagnostics control blocks (DCB). 0O^>\ Controlled Carrier A communication line with a transmission carrier signal that is raised and lowered with each block transmitted; failure is reported if the c a r r i e r s i g n a l r e c e i v e d d o e s n o t fl u c t u a t e i n a similar fashion. 60499500 R Controlled Terminal A terminal whose input can be started and stopped by the network software. When a ter minal places data on a communication line only in response to a poll, the maximum input rate can be controlled by controlling the polling rate. Mode 4 terminals are controlled. Coupler A hardware module resident in a front-end net work processing unit. That coupler links the n e t w o r k p r o c e s s i n g u n i t t o a h o s t c o m p u t e r. Tr a n s m i s s i o n s a c r o s s t h e c o u p l e r u s e b l o c k protocol. Cross T h e s o f t w a r e s u p p o r t s y s t e m f o r C C P. T h e s e programs, which are run on the host, support source code programming in PASCAL, macroassem b l e r, a n d m i c r o a s s e m b l e r l a n g u a g e s . T h e c o m piled or assembled output of the Cross programs are in object code format on host computer fi l e s . T h e o b j e c t c o d e fi l e s a r e p r o c e s s e d b y other Cross programs and host installation pro grams into a downline load file for an NPU. Cyclic Redundancy Check (CRC) A check code transmitted with blocks/frames of d a t a . I t i s u s e d b y s e v e r a l p r o t o cols. Data Any portion of a message created by the source, exclusive of any information used to accomplish transmission of such a message. Debugging The process of altering a program to rid it of anomalies. Dedicated Line A communication line that is permanently con nected between a terminal and a network proc essing unit. Contrast with Switched Line. DEFINE An NDL statement that provides the macro-like c a p a b i l i t y o f s u b s t i t u t i n g a n i d e n t i fi e r i n c o d i n g f o r a m o r e c o m p l e x e n t i t y. W h e n t h e c o d i n g i s p r o c e s s e d , t h e i d e n t i fi e r i s i n t e r preted as if it had been replaced by the complex e n t i t y. A l s o , a N O S c o m m a n d t h a t c r e a t e s p e r m a n e n t fi l e s . Destination The device or application program designated to receive the message. Destination Node (DN) The NPU node that directly interfaces to the destination of a data block. For instance, the DN of an upline block may be the host process which passes the block to the application pro gram responsible for processing the block. Device A separately addressable portion or all of a terminal. This term is used in various ways within mode 4 communications documentation, as shown in table C-l. Diagnostics Software programs or combinations of programs or tables which aid the troubleshooter in iso lating problems. C-3 Direct Access File In the context of NOS permanent files, a direct a c c e s s fi l e i s a fi l e t h a t i s a c c e s s e d a n d m o d i fi e d d i r e c t l y. Front-End NPU A network processing unit that directly inter faces to one or more hosts. Synonymous with local NPU. Downline T h e d i r e c t i o n o f o u t p u t i n f o r m a t i o n fl o w, f r o m a host computer application program. Full Duplex (FDX) Two-way simultaneous transmission on a communi cation line. Dump In the context of CCP, the process of transfer r i n g t h e c o n t e n t s o f t h e N P U m a i n m e m o r y, r e g i s t e r s , a n d fi l e 1 r e g i s t e r s t o t h e h o s t . The dump can be processed by the Network Dump Analyzer in the host to produce a listing of the dumped information. Function Codes Codes used by the service module to designate the type of function (command or status) being t r a n s m i t t e d . Tw o c o d e s a r e d e fi n e d : p r i m a r y function code (PFC) and secondary function code (SFC). Function codes are also used between NAM and the application programs in all supervisory messages. Echo The process of displaying a keystroke on a con sole. Echoing can be done from the TIP, from a modem, or from the terminal itself. Half Duplex (HDX) Two-way alternating transmission on a communi cation line. Normally a single set of data lines carry input, output, and part of the con trol information. Contention for use is possi ble in HDX mode and must be resolved by the protocol governing line transfers. Echoplex The process of returning received characters on a full-duplex line. Not all terminals on fullduplex communication lines are capable of echo plex operation. File A unit of batch data. Files are transferred b e tw e e n a p p l i c a t i o n p r o g r a m s a n d t e r m i n a l s b y using PRUBs on the NPU's host side and trans mission blocks on the NPU's terminal side. A fi l e c o n t a i n s o n e o r m o r e r e c o r d s . E x a m p l e : a c a r d r e a d e r j o b c o n s i s t s o f a fi l e c o n t a i n i n g the card image records of all the cards in the job deck. Format Effectors (FE) Characters in an output data stream that deter mine the appearance of data at the console. A format effector usually takes the form of a single character in the output line. For printing devices, the character is translated by the output side of the TIP into a combination of carriage returns, line feeds, or spaces. S i m i l a r l y, F E s f o r d i s p l a y s c a n c o m m a n d n e w lines, screen clearing, or cursor positioning. Frame A frame is a block of data sent across a high speed link. It is composed of control bytes, a CRC sum, and (in some cases) data bytes in subblock sequence. A sub-block can be a network data block or a part of a block. The frame is the basic communications unit used in trunk (NPU to NPU) communications and provides highdata density in bit-serial format over datagrade lines, as well as data assurance. Frames are transmitted as a sequence of bytes through the multiplex subsystem which uses a hardware-controlled frame on the input and out put multiplex loops. Free-Wheeling Terminal When a terminal can input at the discretion of the terminal user and has an input rate that c a n n o t b e c o n t r o l l e d d i r e c t l y. A s y n c h r o n o u s terminals are free-wheeling. Contrast with Controlled Te r m i n a l . C-4 Halt Codes Codes generated by the NPU when it is stopped by its software. These codes, which indicate the cause of the stoppage, are contained in a CCP dump. HASP A protocol based on the BSC protocol; it is used by HASP workstations. A workstation has both interactive and batch devices. The standard code of all HASP devices is EBCDIC; however, transparent batch data exchanges with the host are also permitted. The HASP TIP converts interactive HASP data from EBCDIC transmission blocks to ASCII IVT blocks; it converts batch HASP data from EBCDIC transmission blocks to display code PRU blocks. Header The portion or portions of a block holding information about the block source, destination, and type. During network movement, a block can acquire several headers. For example, during movement of a block from a terminal to the host over an X.25 network, the block acquires the following headers: one at the terminal (also a trailer), one for the frame, one for the packet, and another for the host application program. Headers are discarded by the appropriate stage of processing, so that in this example, the host sees only the application program block header. Conversely, headers are generated and discarded as needed downline, so that the terminal sees only the terminal header (and trailer). Header Area (HA) An area, usually one 60-bit word, within the application program containing the application block header for a NETPUT or NETPUTF call, or the area to receive the header for a NETGET, NETGETL, NETGETF, or NETGTFL call. High-Speed Synchronous Line A data transmission line operating at or above 19200 b/s. These lines are normally used for local LIP/remote LIP transfers and for X.25 and HASP network transfers. 60499500 R /&~"$®$>\ Host The computer that controls the network and con tains the application programs that process network blocks. Host Interface Package (HIP) The CCP p r o g r a m t h a t h a n d l e s b l o c k t r a n s f e r s across the host/local NPU interface. The HIP transfers control blocks and data blocks (IVT blocks or PRU blocks). Host Node The node ID number of the NPU coupler that directly interfaces with a host computer. Host Operator (HOP) The operator who resides at the system console, initiates NAM, controls NPUs and networkrelated host elements. The HOP may do all NPU operator functions as well as those functions unique to the HOP despite the existance of NPU o p e r a t o r s . T h e r e c a n b e o n l y o n e H O P. C o n trast with NPU operator. Initialization The process of loading an NPU and optionally dumping the NPU contents. After downline load ing from the host, the NPU network-oriented t a b l e s a r e c o n fi g u r e d b y t h e h o s t s o t h a t a l l network processors have the same IDs for all network terminals, lines, trunks, etc. Input Information flowing upline from terminal to host computer. Input Parameter A parameter in an AIP call that provides Input to the AIP routine. An input parameter can be a constant, an expression, or a symbolic address for such values. Input parameters are not altered by the completion of AIP processing. Interactive Device Any device capable of conducting both input and output, making it capable of dialog with the N e t w o r k Va l i d a t i o n F a c i l i t y. A l s o k n o w n a s a console device. An interactive device is serv iced by an application program using the inter active virtual terminal interface. Contrast with Passive Device. I n t e r a c t i v e Vi r t u a l Te r m i n a l ( I V T ) A block protocol format for interactive con soles. CCP TIPs convert all upline interactive blocks to this format (exception: no trans formations are made to transparent data except to put the data into block format). By this method, application programs in the host need only to be able to process interactive data in IVT format rather than in the multiplicity of formats that real terminals use. Downline mes sages from the host to interactive devices are converted from IVT to real terminal format. IVT processing is controlled by the TIPs; the TIPs use some common IVT modules. Level For logical records, an octal number 0 through 17 in the system-supplied 48-bit marker that terminates a short or zero-length PRU. 60499500 R Line A connection between an NPU and a terminal, or a group of terminals. Link A connection between two NPUs or an NPU and a host. Link Interface Package (LIP) The CCP program that handles frame transfers across a trunk; that is, across the connection between a local and a remote NPU. A LIP uses CDCCP protocol and interfaces on the local NPU side to the HIP. On the remote NPU side, the L I P i n t e r f a c e s w i t h t h e a p p r o p r i a t e T I P. I n both local and remote NPUs, the LIP interfaces with the multiplexer subsystem for transfer across the trunk. List A group of logical connections with the same a p p l i c a t i o n l i s t n u m b e r, w h i c h a r e l i n k e d together by NAM and treated as a single entity in NETGETL or NETGTFL calls. List Number See Application List Number. Load The process of moving programs downline from the host and storing them in the NPU main and micromemory. Loading of a remote NPU is accom plished by the host through the use of the LIP in the local NPU. Local Configuration File (LCF) A fi l e i n t h e h o s t c o m p u t e r s y s t e m , c o n t a i n i n g information on the logical relationships among t h e s e r v i c e e l e m e n t s i n t h e n e t w o r k . T h e fi l e contains a list of the application programs a v a i l a b l e f o r e x e c u t i o n i n t h e h o s t c o m p u t e r, and the users that require automatic login to them. This is a NOS direct access permanent fi l e . Local NPU An NPU that is connected to the host via a coupler. A local NPU always contains a HIP for processing block protocol transfers across the host/local NPU interface. Synonymous with front-end NPU. Contrast with remote NPU. Logical Connection A logical message path established between two application programs or between a network terminal and an application program. Until terminated, the logical connection allows mes sages to pass between the two entities. Logical Line The basic message See Physical Line. unit of a console device. Logical Link (LL) T h e p o r t i o n o f a l o g i c a l c o n n e c t i o n d e fi n e d b y host node and terminal node ID numbers. A logical link is an error-free path across the network over which many separate logical con nections are multiplexed. A logical link cannot traverse more than two NPUs. C-5 Logical Record Under NOS, a data grouping that consists of one or more PRUs terminated by a short PRU or zerolength PRU. Equivalent to a system-logicalrecord under NOS/BE. Loop Multiplexer (LM) The hardware that interfaces the CLAs (which convert data between bit-serial digital and bit-parallel digital character format) and the input and output loops. Low/Medimum-Speed Voice-Grade Line A line that operates at bit transmission rates at or below 19200 b/s. These lines character istically connect individual terminals to an NPU or to an X.25 PAD service. Macromemory The portion of 255x Series network processing unit memory that contains code involved in data c o m m u n i c a t i o n , s u c h a s t h e Te r m i n a l I n t e r f a c e Program. It is partly dedicated to programs and common areas; the remainder is buffer area used for data and overlay programs. Word size is 16 data bits plus three additional bits for parity and program protection. Memory is pack aged in 16K and 32K word increments. Message A logical unit of information, as processed by an application program. When transmitted over a network, a message can consist of one or more blocks. Micromemory The micro portion of the NPU memory. This con sists of 8192 words of 64-bit length. 1024 words are Read Only Memory (ROM); the remaining words are Random Access Memory (RAM) and are alterable. The ROM memory contains the emulator microprogram that allows use of assembly lan guage. Microprocessor The portion of the NPU that processes the pro grams. Mode 4 A communication line transmission protocol that requires the polling of sources for input to the data communication network. Control Data defines two types of mode 4 equipment, mode 4A and mode 4C. Mode 4A equipment is polled through the hardware address of the console device, regardless of how many devices interface to the network. Mode 4C equipment is polled through separate hardware addresses, depending on the point each device uses to interface with the network. Modem A hardware device for converting analog levels t o d i g i t a l s i g n a l s a n d t h e c o n v e r s e . Te l e p h o n e lines interface to digital equipment via modems. Modem is synonymous with data set. Module See Program. C-6 Monitor The portion of the CCP base system software responsible for time and space allocation with in the computer. The principal monitor program is 0PSM0N, which executes OPS level programs by scanning a table of programs that have pending tasks. Multiplex Loop Interface Adapter (MLIA) The hardware portion of the multiplex subsystem that controls the multiplexing loops (input and output) as well as the interface between the NPU and the multiplexing subsystem. Multiplex Subsystem The portion of the base NPU software that per forms multiplexing tasks for upline and downline data, and also demultiplexes upline data from the CIB and places the data in line-oriented i n p u t d a t a b u ff e r s . Neighbor NPUs Two NPUs connected to one another by means of a trunk. Network An interconnected set of network processing units, hosts, and terminal devices. Network Access Method (NAM) A software package that provides a generalized method of using a communication network for s w i t c h i n g , b u ff e r i n g , q u e u i n g , a n d t r a n s m i t t i n g d a t a . N A M i s a s e t o f i n t e r f a c e r o u t i n es used by a terminal servicing facility for shared access to a network of terminals and other application programs, so that the facility program does not need to support the physical structures and protocols of a private communi cation network. Network Address The address used by block protocol to establish routing for the message. It consists of three parts; DN - the destination node, SN - the source node, and CN - the connection number. Network Configuration The process of setting tables and variables throughout the network to assign lines, links, terminals, etc., so that all elements of the network recognize a uniform addressing scheme. A f t e r c o n fi g u r a t i o n , n e t w o r k e l e m e n t s a c c e p t all data commands directed to/through themselves and reject all other data and commands. Network Configuration File (NCF) A n e t w o r k d e fi n i t i o n fi l e i n t h e h o s t c o m p u t e r, containing information on the network elements and permissible linkages between them. The s t a t u s o f t h e e l e m e n t s d e s c r i b e d i n t h i s fi l e i s m o d i fi e d b y t h e n e t w o r k o p e r a t o r i n t h e course of managing the network through the Communications Supervisor. This is a NOS direct access permanent file. N e t w o r k D e fi n i t i o n F i l e Either of the two types of NDL program output fi l e s t h a t d e t e r m i n e t h e c o n fi g u r a t i o n o f t h e n e t w o r k . T h i s c a n b e a n e t w o r k c o n fi g u r a t i o n fi l e o r a l o c a l c o n fi g u r a t i o n fi l e . 60499500 R JPN Network Definition Language (NDL) The compiler-level language used to define the n e t w o r k c o n fi g u r a t i o n fi l e a n d l o c a l c o n fi g u r a t i o n fi l e c o n t e n t s . Network Definition Language Processor (NDLP) The network software module that processes an NDL program as an off-line batch job to create the network definition files and other NDL pro gram output. Network Element Any configurable entity supervised or loaded by the Network Supervisor. A network element con sists of any entity in the total network that is not a communication element; this term is usually applied to the data communication net work entities comprising the NPUs and their linkages. Network Logical Address See Network Address. Network Processing Unit The collection of switches, buffers, terminals and host (NPU) hardware and software that and transmits data between computers. Network Supervisor (NS) A portion of the network software, written as a NAM application program. The Network Supervisor dumps and loads the NPUs in the communication network. Node A hardware or software entity that creates, absorbs, switches, and/or buffers message blocks. NPUs and host couplers are communi cation nodes of the network. NPU Operator The network operator who resides at a terminal and controls network elements such as NPUs, trunks, logical links, lines, and terminals. Contrast with Host Operator. Also, an operator using the offnet NPU console. Off-Line Diagnostics Optional diagnostics for the NPU that require the NPU to be disconnected from the network. On-Line Diagnostics Optional diagnostics for the NPU that can be executed while the NPU is connected to, and operating as a part of the network. Individual l i n e s b e i n g t e s t e d m u s t , h o w e v e r, b e d i s c o n nected from the network. These diagnostics are provided if the user purchases a network main tenance contract. OPS Monitor The NPU monitor. See Monitor. Output Information flowing downline from the host. Output Buffer Any buffer that is used to hold a downline mes sage from the host. 60499500 R Packet A group of binary digits, including data and call control signals, which is switched as a single unit. The data, control signals, and error-control information are arranged in a s p e c i fi c f o r m a t . Packet Assembly/Disassembly Service (PAD) A definition of the procedures for the operation of an asynchronous terminal through a packetswitching network (PSN). Assembly: The accumulation of characters from an asynchronous device into data blocks for transmission via a PSN. Disassembly: The encoding of blocks for transmission to an asynchronous terminal. Packet-Switching Network (PSN) A network that provides data communication service between various terminal and computer systems or networks. The PSN is usually licensed as a common carrier. Te r m i n a l i n t e r f a c e t o a P S N i s d e fi n e d b y t h e packet assembly/disassembly (PAD) service. PSN interface with a NOS network is defined by the X.25 protocol. PAD SubTIP A subTIP of the X.25 TIP that allows asynchro nous ASCII terminals to communicate over a packet-switching network. Paging (Screen) The process of filling a CRT display with data and holding additional data for subsequent dis plays. Changing the paged display is terminal operator controlled if the page wait option is selected. Parity A type of data assurance. The most common parity is character parity; that is, the sup plying of one extra bit per character so that the sum of all the bits in the character (including the parity bit) is always an even (even parity) or odd (odd parity) number. Pascal A high level programming language used for CCP programs. Almost all CCP programs are written in the Pascal language. Passive Device — Any device incapable of conducting both input and output and therefore incapable of dialog w i t h t h e N e t w o r k Va l i d a t i o n F a c i l i t y. B a t c h unit record peripherals are typical examples of passive devices. Also known as a nonconsole device. Contrast with Interactive Device. Password A parameter in the terminal operator's login procedure type-in, used for additional access s e c u r i t y b y t h e N e t w o r k Va l i d a t i o n F a c i l i t y. This parameter does not appear in any super visory messages. C-7 Peripheral Processor Unit (PPU) The hardware unit within the host computer that performs physical input and output through the computer'8 data channels. Physical Line A string of data that is determined by the ter minal's physical characteristics (page width or line feed). Contrast with logical line, which is determined by a carriage return or other forwarding signal. Physical Link A connection between two major network nodes such as neighboring nodes. Messages can be transmitted over active physical links. Physical Record Unit (PRU) Under NOS, the amount of information trans mitted by a single physical operation of a specified device. The size of a PRU depends on the device, as shown in table C-2. A PRU that is not full of user data is called a short PRU; a P R U t h a t h a s a l e v e l t e r m i n a t o r but no user data is called a zero-length PRU. TABLE C-2. PRU SIZE Device Size in Number of 60-Bit Words Mass storage 64 Tape in SI format with binary data 512 Tape in I format 512 Tape in other format Undefined Polling The process of requesting input from hardware or software that only provides input on request. Polling is a concept of several network proto cols and is used to avoid input contention. Mode 4 terminals are polled for input by the Te r m i n a l I n t e r f a c e P r o g r a m s e r v i c i n g t h e m ; a n application program polls all logical connec tions for input, whether the logical connections are with controlled mode 4 terminals or free wheeling asynchronous terminals. Port The physical connection in the NPU through which data is transferred to/from the NPU. Each port is numbered and supports a single line. Subports are possible but not used In the current version of CCP. t r a f fi c . Te r m i n a l s w i t h p r i o r i t y a r e t h e l a s t d e v i c e s f o r w h i c h n e t w o r k t r a f fi c i s s u s p e n d e d when traffic must be temporarily stopped because t h e n e t w o r k i s o p e r a t i n g a t c a p a c i t y. D e v i c e s with priority receive preferential treatment of their input or output. '"^\ Program Initiation Control Block (PICB) A program initiation control block consisting of a sequence of commands that control NPU load or dump operations for a specific NPU variant. Several PICB's may exist on the network load fi l e , e a c h a s a s e p a r a t e r e c o r d w i t h a u n i q u e NPU variant name as its record name. Protocol A set of standardized conventions that must be used to achieve complete communication between elements in a network. A protocol can be a set o f p r e d e fi n e d c o d i n g s e q u e n c e s , s u c h a s t h e control byte envelopes added to or removed from data exchanged with a terminal; a set of data addressing and division methods, such as the block mechanism used between an application program and the Network Access Method; or a set of procedures used to control communication, such as the supervisory message sequences used between an application program and the Network Access Method. PRU Block (PRUB) Physical record unit block. A block format for batch devices that is compatible with the host's P R U ( b a t c h fi l e ) h a n d l i n g c a p a b i l i t i e s . C C P TIPs convert all upline batch data to this format (exception: no transformations are made to transparent data except to put the messages into PRUBs). By this method, application pro grams in the host need only to be able to process batch data in PRU format rather than in the multiplicity of formats that real terminals use. Downline messages from the host to real batch devices are converted from PRUB to real terminal format. PRUB processing is controlled by the TIPs with the help of the BIP. PRU Device Under NOS, a mass storage device or a tape in SI or I format, so called because records on these devices are written in PRUs. Public Data Network (PDN) A network that supports the interface described in the CCITT protocol X.25. Queues Sequences of blocks, tables, messages, etc. Most network queues are maintained by leaving the queued elements in place and using tables of pointers to the next queued element. Most q u e u e s o p e r a t e o n a fi r s t - i n - fi r s t - o u t b a s i s . A series of worklist entries for a TIP is an example of an NPU queue. Primary Function Code (PFC) See Function Codes. Priority The condition w h e n tr a ffi c th r o u g h th e n e tw o r k is maintained preferentially for one or more devices out of all devices producing network Random File In the context of the NOS operating system, a fi l e w i t h t h e r a n d o m b i t s e t i n t h e fi l e e n v i ronment table; individual records are accessed by their relative PRU numbers. ,>*^?\ C-8 60499500 S Record ( 1 ) A d a t a u n i t d e fi n e d f o r t h e h o s t r e c o r d manager; (2) a data unit defined for HASP work stations. In either case, a record contains space for at least one character of data and normally has a header associated with it. HASP records can be composed of subrecords. Regulation The process of making an NPU or a host progres sively less available to accept various classes of input data. The host has one regulation scheme; the host and multiplex interfaces of a local NPU have another scheme; and the multiplex interface to a neighbor NPU has a third regula tion scheme. Some types of terminals (for instance, HASP workstations) may also regulate d a t a . M e s s a g e s a r e c l a s s i fi e d a s s u p e r v i s o r y or service (highest priority) priority data and nonpriority data. Priority of data is estab lished on a device-by-device basis through the PRI classification in NDL. Remote NPU A network processing unit linked indirectly to a host computer through other network processing units. Contrast with Local NPU. zi^x Response Messages A subclass of supervisory or service messages that is a response to a supervisory or service message of the originator. Response messages normally contain the requested information or indicate that the requested task has been started or performed. Error or abnormal responses are sent when the responder cannot d e l i ve r th e i n f o r m a t i o n o r s t a r t t h e t a s k . Return Parameter A parameter in an AIP call that provides as i n p u t t o t h e A I P r o u t i n e t h e i d e n t i fi c a t i o n o f a location to which AIP should transfer infor mation. This location is within the application p r o g r a m ' s fi e l d l e n g t h a n d o u t s i d e o f t h e A I P p o r t i o n o f t h a t fi e l d l e n g t h . A r e t u r n p a r a m eter cannot be a constant or a value in itself. Return parameters are always symbolic addresses. The time at which transfer of information from AIP occurs depends on whether the program is operating i n p a r a l l e l m o d e a n d w h e th e r u s e o f the parameter is global to all AIP routines or local to the call in which it is used. Routing The process of sending data/commands through the network to its destination (for instance, a terminal). The network logical address (DN, SN, CN) is the primary criterion for routing. In the NPU, directories are used to accomplish the routing function. Sequential A file orga n i z a t i o n i n w h i c h r e c o r d s a r e s t o r e d in the order in which they are generated. Service Channel The network logical connection used for service message transmission. For this channel, the connection number is 0. The channel is always configured, even at load time. 60499500 R Service Message (SM) The network method of transmitting most command and status information to/from the NPU. Service messages use CMD blocks in the block protocol. Service Module (SVM) The set of NPU programs responsible for proc essing service messages. SVM is a part of the BIP. Short PRU A PRU as the system NOS, a that does not contain as much user data PRU can hold, and is terminated by a t e r m i n a t o r w i t h a l e v e l n u m b e r. U n d e r short PRU defines EOR. Source The terminal or host computer program that creates a message. Source Node (SN) The node that interfaces directly to the source of a network data block. String A unit of information transmission. One or more strings compose a record. A string can be com posed of different characters or contiguous identical characters. Subfunction Code (SFC) See Function Codes. Subport One of several addresses in a port. In this release of CCP, subport is always equal to 0. Supervisory Message A message block in the host not directly involved with the transmission of data, but w h i c h p r o v i d e s i n fo r m a ti o n fo r e s tablishing and maintaining an environment for the communication of data, between the application program and NAM, and through the network to a destination or from a source. Supervisory messages may be transmitted to an NPU in the format of a service message. Switched Line A communication line connected with one network processing unit but able to be connected to any one of several terminals via a switching mecha nism, such as a dialed telephone line. Switching T h e p r o c e s s o f r o u t i n g a m e s s a g e o r b l o ck to t h e s p e c i fi e d i n t e r n a l p r o g r a m o r e x t e r n a l destination. Symbolic Address T h e a b s t r a c t i d e n t i fi c a t i o n o f a n e n t i t y s e r v i n g as a location from which or to which informa tion can be transferred. A symbolic address can contain information, but does not constitute information. A symbolic address is an identi fi e r r e p r e s e n t e d i n c h a r a c t e r f o r m b y t h e programmer and is equivalent to the concept of a variable in the terminology of some program ming languages. In FORTRAN or ALGOL programs, typical symbolic addresses include array names, C-9 array element names, and variable names. In COMPASS, a symbolic address is equivalent to a l a b e l i n a s o u r c e c o d e l o c a t i o n fi e l d ; a r e l a tive address cannot be used as a symbolic address. In COBOL, a symbolic address is equivalent to a level 01 Data Description entry. In SYMPL, a symbolic address is equivalent to the name of an array or scalar item in a data declaration. Synchronous A transmission in which character synchro nization is achieved by recognition of a prede fined sync character that precedes the block of da ta. Terminal A n e n t i t y, e x t e r n a l t o t h e d a t a c o m m u n i c a t i o n network but connected to it via a communication line, that supplies input to, and/or accepts output from, an application program. In the context of this manual, a terminal is each separately addressable group of devices com prising a physical terminal or station. Terminal Address The hardware address of a mode 4 console, a mode 4C printer or a 3780 card punch. This term is used in various ways within mode 4 com munications documentation, as shown in table C-l. Terminal Class (TC) An NDL parameter value describing group of similar archetype terminal and supervisory message field the physical attributes of a terminals, in terms of an for the group. Terminal Control Block (TCB) A c o n t r o l b l o c k w i t h i n C C P c o n t a i n i n g c o n fi g u ration and status information for an active terminal. TCBs are dynamically assigned. Terminal Definition Commands A group of commands that allow the operator at the terminal or a host application program to control some of the IVT transforms made by a TIP. Terminal Interface Program (TIP) A portion of the Communications Control Program that provides an interface for terminals con nected to a 255x Series network processing unit. The TIP performs character conversion to and from 7-bit ASCII, limited editing of the input and output stream, parity checking, and so forth. Terminal Name (TNAME) A name of up to seven letters and digits known to the network and used to identify a device to the network operator. Terminal Node The node number associated interfaces with a t e r m i n a l . with an NPU that Terminal Operator The person operating the controls of a terminal. Contrast with User. C-10 Te r m i n a l S e r v i c i n g F a c i l i t y See Application Program. Test Utility Program (TUP) A debugging utility that supports breakpoint debugging of CCP as well as other utility type operations such as loading and dumping. Text Area (TA) The area within the application program that receives the message block text from a NETGET, NETGETF, NETGTFL, or NETGETL call, or contains the message block text for a NETPUT or NETPUTF call. Text Length in Characters (TLC) A fi e l d i n t h e a p p l i c a t i o n b l o c k h e a d e r s p e c ifying the number of character bytes of text in the message block. Text Length Maximum (TLMAX) Maximum length in host central memory words of the supervisory message or network data block that the application program will accept for processing. Timing Services The subset of base system programs within CCP which provide timeout processing and clock times for messages, status, etc. Timing services provide the drivers for the real-time clock. Trailer - • Control information appended to the end of a message unit. A trailer contains the end-ofdata control signals. Trailers can be generated by the terminal or by an intermediate device such as a frame generator. Not all headers are matched with trailers, although some devices split their control information between a header a n d a t r a i l e r. T h e t r a i l e r u s u a l l y c o n t a i n s a d a t a a s s u r a n c e fi e l d s u c h a s a C R C - 1 6 o r a checksum. Like headers, trailers are generated and discarded at various stages along a data block's path. Transparent Mode A software feature provided by the Network Access Method and the network processing unit TIP. When transparent mode transmission occurs between an application program and a terminal, the Network Access Method does not convert data to or from display code, and the TIP does not edit the character stream or convert the char acters to or from 7-bit ASCII code. When no p a r i t y i s i n e ff e c t f o r t h e t e r m i n a l a n d t r a n s parent mode transmission occurs, all eight bits of the character byte can be used to represent characters in 256-character sets (such as EBCDIC). Trunk The dedicated communication line connecting two network processing units. Trunk Protocol The protocol used for communicating between neighboring NPUs. It is modified CDCCP proto col that uses the frame as the basic communica tions element. 60499500 R Typeahead (Terminal) The ability of a terminal to enter input data at all times. The ASYNC TIP supports typeahead; the X.25 TIP supports typeahead if it is pro vided by the PSN. MNEMONICS Upline The direction of input flow to a host computer application program. ABH Application Block Header ABL Application Block Limit User That person or group of people who are the preparers and/or recipients of messages com municated with an application program via the network. A user may interface with one or more terminals, or with no terminals. Contrast with t e r m i n a l o p e r a t o r. ABN Application Block Number ABT Application Block Type ACN Application Connection Number ACT Application Character Type User Name T h e N O S v a l i d a t i o n fi l e p a r a m e t e r e n t e r e d b y t h e t e r m i n a l o p e r a t o r d u r i n g t h e N e t w o r k Va l i dation Facility log-in procedure. AIP Application Interface Program ALN Application List Number ANAME Application Name APL A Programming Language ASCII American Standard Code for Info Interchange ASYNC Asynchronous BCD Binary Coded Decimal BIP Block Interface Package BLK Message Block BRK Break Block BSC Binary Synchronous Communication BT Block Type Bl, B2 User-defined breaks CA Cluster Address CCITT Comite Consultif International p h o n i q u e e t Te l e g r a p h i q u e ( a n i n t e r national communications standards organization) Virtual Channel (X.25/PAD) A c h a n n e l d e fi n e d f o r m o v i n g d a t a b e t w e e n a terminal and a host. Virtual channels are defined for the length of time that the terminal is connected to the PSN. Word The basic storage and processing element of a c o m p u t e r. T h e N P U u s e s 1 6 - b i t w o r d s ( m a i n memory) and 32-bit word (internal to the micro processor only). All interfaces are 16-bit word (DMA) or in character format (multiplex loop interface). Characters are stored in main memory two per word. Hosts (CYBER series) use 60-bit words but a 12-bit byte interface to the NPU. Some terminals such as a HASP workstation can use any word size but must communicate to the NPU in character format. Therefore, workstation word size is transparent to the NPU. Worklist Processor Within CCP, the base system programs responsible for creating and queuing worklist entries. Worklists W i t h i n C C P, p a c k e t s o f i n f o r m a t i o n c o n t a i n i n g the parameters for a ' task to be performed. Programs use worklists to request tasks of OPS l e v e l p r o g r a m s . Wo r k l i s t e n t r i e s a r e q u e u e d t o the called program. Entries are one to six words long, and a given program always has entries of the same size. X.25 Protocol A CCITT protocol used by the packet-switching network. It is characterized by high-speed, framed data transfers over links. A PSN requires a PAD access for attaching asynchronous terminals. X.25 TIP The CCP TIP that interfaces an NPU to a packetswitching network. Zero-Length PRU A PRU that contains system information but no user data. Under NOS, a zero-length PRU defines EOF. Following is a list of mnemonics used in this manual. CCP Communications Control Program CDCCP CDC Communications Control Procedure C D T C o n v e r s a t i o n a l D i s p l a y Te r m i n a l CE Customer CIB Circular Engineer Input Buffer CLA Communications Line Adapter CMD Command Block CR Carriage Return CRC Cyclic Redundancy Check CRT Cathode Ray Tube CS Communications Supervisor /ggSsy 60499500 R C-ll DBC Data Block Clarifier (for blocks/SVM) ICT Input Character Type DBZ Downline Block Size INITN Initialization Block Acknowledgment DEL Delete character INITR Initialization Block Request DLFP Debug Log File Postprocessor utility ISO International Standards Organization DN Destination Node IVT I n t e r a c t i v e V i r t u a l Te r m i n a l DSR Data Set Ready LCF Local Configuration File DT Device Type LF Line Feed EBCDIC Extended Binary Coded Decimal Inter change Code LFG Load File Generator LIP Link Interface Package EC Error Code LP Line printer EOF End of File MCS Message Control System EOI End of Information MLIA Multiplex Loop Interface Adapter EOJ End of Job MPLINK The Pascal link editor EOM End of Message MSG End-of-message block EOR End of Record MTI EOT End of Transmission Message Type Indicators (Mode 4 pro tocol) ETB End of Transmission Block NAK Negative Acknowledgment Block ETX End of Text NAM Network Access Method FD NCB Forward Data (block protocol) Network Configuration Block FDX NCF Network Configuration File Full Duplex FE Format Effector NDA Network Dump Analyzer FET NDLP File Environment Table Network Definition Language Processor FF NIP Network Interface Program Form Feed FN NLF Network Load File Field Number Forward Supervision (block protocol) NOP FS Network Operator NPU FV Network Processing Unit Field Value HA NS Network Supervisor program Header Area NVF Houston Automatic Spooling Protocol N e t w o r k Va l i d a t i o n F a c i l i t y HASP ODD Output Data Demand (Multiplex sub system) Program HDLC High-level Data Link Control PA Parity HDX Half Duplex PAD Packet Assembly/Disassembly HIP Host Interface Package PDN Public Data Network H O Host Ordinal PFC Primary Function Code HOP Host Operator PIP Peripheral Interface Program IAF Interactive Facility program PL Page Length (IVT) I CMD Interrupt Command PPU Peripheral Processing Unit ICMDR Interrupt Command Response PRU Physical Record Unit C-12 60499500 S ,<^!\ PRUB Physical Record Unit Block TC PSN Packet Switching Network T C B Te r m i n a l C o n t r o l B l o c k PW Page Width T I P Te r m i n a l I n t e r f a c e P r o g r a m QDEBUG PASCAL Debugging package T L C Te x t L e n g t h i n C h a r a c t e r s QTRM Queued Terminal Record Manager T L M A X Te x t L e n g t h M a x i m u m RAM Random Access Memory T N A M E Te r m i n a l N a m e RBF Remote Batch Facility program TO RC Reason Code TTY RCB Record Control Byte (HASP protocol) TUP ROM Read Only Memory TVF RR Receive Ready (trunk or X.25 protocol) RS Reverse Supervision (block protocol) UA Unnumbered Acknowledgment (trunk or X.25 protocol) RST Reset Block RTS Request to Send SAM-P System Autostart Module Program UI Unnumbered Information frame (trunk or X.25 protocol) SARM Set Asynchronous Mode (trunk or X.25 protocol) US SCB String Control Byte (HASP protocol) SFC Secondary Function Code S-Frame Supervisory Frame (trunk or X.25 pro tocol) UBZ Te r m i n a l Class Timeout Te l e t y p e w r i t e r Te s t Utility Te r m i n a l Upline Program V e r i fi c a t i o n Block Facility Size U-Frame Unnumbered Frame (see UA and UI) Unit Separator XBZ Transmission Block Size X-OFF Stop character (ASYNC protocol) X-ON Start character (ASYNC protocol) XPT Transparent SRCB Subrecord Control Byte (HASP protocol) STX S t a r t o f Te x t X.3 CCITT protocol for asynchronous ter minal access to a packet-switching network SVM Service Module (for processing service messages) X.25 CCITT protocol for packet-switching networks SYNC Synchronizing Element TAA Text Area Array X.28 CCITT protocol for terminal access to PSN/PAD TAF Tr a n s a c t i o n F a c i l i t y / ^ ^ X.29 CCITT protocol PSN/PAD for host access to yfH^'S 60499500 R C-13 APPLICATION PROGRAM CALL STATEMENT SUMMARY This appendix summarizes the formats of calls to AIP and QTRM routines. The general format of each routine is listed alphabetically without description opposite the page number where the routine is com pletely described. COMPILER LEVEL (NETIO-RESIDENT OR NETIOD-RESIDENT) Call CALL Format Call Format Page ENTER FORTRAN-X QTOPEN USING net-info-table 8-10 ENTER FORTRAN-X QTPUT USING ta-out-acn^ 8-11 ENTER FORTRAN-X QTTIP USING 8-14 I ta-out-acn^ page NETCHEK 5_16 CALL NETDBG(dbugsup,dbugdat,avail) 6-7 ASSEMBLY LANGUAGE LEVEL (NETTEXT-RESIDENT) CALL NETDMB(dumpid,ecs) 6-9 Call Format Page CALL NETGET(acn,ha,ta.tlmax) 5-4 [label] NETCHEK 5-16 CALL NETGETF(acn,ha,na,taa) 5-6 [label] NETDBG dbugsup,dbugdat, avail 6-7 label2 NETDBG dbugsup,dbugdat, avail,LIST 6-7 (LIST=label2 \LIST-register name 6-7 CALL NETGETL(aln,ha,ta,tlmax) 5-10 CALL NETGTFL(aln,ha,na,taa) 5-12 CALL NETLGS(address,size) 6-15 [label1] NETDBG CALL NETLOG(address,size,format) 6-9 CALL NETOFF 5-4 CALL NET0N(aname,nsup,status,minacn, 5-1 maxacn) CALL NETPUT(ha.ta) 5-7 CALL NETPUTF(ha,na,taa) 5-8 CALL NETREL(lfn,msglth,nrewind) 6-7 CALL N E T S E T F ( fl u s h , f e t a d r ) 6-8 CALL NETSETP(option) 5-15 CALL NETSTC(onoff.avail) 6-15 CALL N E T W A I T ( t i m e . fl a g ) 5-14 C A L L N S T O R E ( a r r a y , fi e I d , v a l u e ) 4 - 1 1 [label] NETDMB dumpid,ecs 6-9 label2 NETDMB dumpid,ecs,LIST 6-9 [label1] NETDMB fLIST=label2 lLIST=regi8ter name 6-9 [label] NETGET acn,ha,ta,tlmax 5-4 label2 NETGET acn,ha,ta,tlmax, LIST 5-4 (LIST=label2 \LIST°regi8ter name 5-4 [label1] NETGET [label] NETGETF acn,ha,na,taa 5-6 label2 NETGETF acn,ha,na,taa,LISI 5-6 /LIST=label2 \ LIST=register name 5-6 [label1] NETGETF [ i v a l u e » ] N F E T C H ( a r r a y, f i e l d ) 4-12 [label] NETGETL aln,ha,ta,tlmax 5-10 ENTER QTCLOSE 8-15 labe!2 NETGETL aln,ha,ta,tlmax,LIST 5-10 QTENDT 8-14 [label1] NETGETL ENTER FORTRAN-X QTGET USING 8-13 ta-in JLIST=»label2 I 5-10 (LIST=register name/ [label] NETGTFL aln,ha,na,taa 5-12 ENTER label2 NETGTFL aln,ha,na,taa,LIST 5-12 ENTER 60499500 S FORTRAN-X FORTRAN-X FORTRAN-X QTLINK 8-14 D-l Call Format [labell] NETGTFL (LIST=label2 \ lLIST=regIster name J Page Call Format 5-12 label2 NETREL [labell] NETREL [label] NETLGS address,size 6-15 label2 NETLGS address,size,LIST 6-15 |LIST=label2 \ \LIST=regi8ter name) 6-15 [labell] NETLGS [label] NETLOG address,size,format 6-9 label2 NETLOG address,size,format, LIST 6-9 [labell] NETLOG (LIST=label2 ) \LIST=regi8ter name) 5-4 [label] NETOFF [label] NETON label2 NETON [labell] NETON 6-9 aname,nsup,s tatus, minacn,maxacn 5-1 aname,nsup,status, minacn,maxacn,LIST 5-1 (LIST=label2 \ tLIST=register name) 5-1 Page 6-7 lfn,msglth, nrewind,LIST (LIST=label2 1 \LIST=register name/ 6-7 [label] NETSETF fl u s h , f e t a d r 6-8 label2 NETSETF fl u s h , f e t a d r, L I S T 6-8
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No Page Count : 356 Creator : ScanSnap Manager Producer : Mac OS X 10.5.8 Quartz PDFContext Create Date : 2009:10:20 08:00:26Z Modify Date : 2009:10:20 08:00:26ZEXIF Metadata provided by EXIF.tools