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 PDF.
Page Count: 356

DownloadNetwork_Access_Method_Ver_1_Host_Application_Programming_Ref_Man_60499500W_Apr87 Network Access Method Ver 1 Host Application Programming Ref Man 60499500W Apr87
Open PDF In BrowserView 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

The  symbol 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 83A/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:26Z
EXIF Metadata provided by EXIF.tools

Navigation menu