Silicon Graphics SNA SERVER Programming Guide
Reklama
Reklama
Front.doc Black 1
IRIS SNA SERVER Programming Guide
Document Number 007-0871-020
Front.doc Black 2
Contributors
Engineering contributions by Jay Lan
© Copyright 1992, Silicon Graphics, Inc.— All Rights Reserved
This document contains proprietary and confidential information of Silicon Graphics,
Inc. The contents of this document may not be disclosed to third parties, copied, or duplicated in any form, in whole or in part, without the prior written permission of
Silicon Graphics, Inc.
Restricted Rights Legend
Use, duplication, or disclosure of the technical data contained in this document by the
Government is subject to restrictions as set forth in subdivision (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 52.227-7013 and/or in similar or successor clauses in the FAR, or in the DOD or NASA FAR Supplement.
Unpublished rights reserved under the Copyright Laws of the United States.
Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd., Mountain
View, CA 94039-7311.
IRIS SNA SERVER Programming Guide
Document Number 007-0871-020
Silicon Graphics, Inc.
Mountain View, California
Silicon Graphics and IRIS are registered trademarks and IRIX is a trademark of Silicon
Graphics, Inc. FrameMaker is a registered trademark of Frame technology, Inc. IBM is a registered trademark of International Business Machines Corporation. UNIX is a registered trademark of UNIX System Laboratories.
Contents
Introduction
...................................................................................................ix
1.
Before You Begin
....................................................................................... I-1
1.1
Setting Run-Time Variables......................................................... I-2
1.2
IRIS SNA SERVER Verbs ............................................................. I-2
1.2.1
Implementation-specific Verbs ................................. I-2
1.3
1.2.2
1.2.3
Configuration Verbs ................................................... I-3
Node Operator Verbs ................................................. I-4
PI Verb Catalog.............................................................................. I-5
2.
Programming with the SNA SERVER Verbs
......................................2-1
2.1
API Overview ................................................................................2-1
2.1.1
2.1.2
Verb Categories ...........................................................2-2
Verb Library.................................................................2-3
2.1.3
2.1.4
2.1.5
2.1.6
Header Files .................................................................2-3
Data Type Definitions.................................................2-4
Data Structures ............................................................2-4
Global Variables ..........................................................2-5
2.2
Implementation-specific Verbs ...................................................2-7
2.2.1
Transaction Program Connection Verbs..................2-7
2.2.2
Transaction Program Utility Functions ...................2-8
iii
iv
2.3
2.4
2.5
Configuration Verbs .....................................................................2-9
2.3.1
Define Verbs.................................................................2-9
2.3.2
Display Verbs.............................................................2-12
Node Operator Verbs .................................................................2-16
Operation Diagnostics ................................................................2-17
3.
Programming with the LU 0-3 Verbs
....................................................3-1
3.1
SNA Formats and Protocols ........................................................3-1
3.1.1
3.1.2
Managing the Session .................................................3-2
Program vs. IRIS SNA Scheduler..............................3-2
3.2
3.3
3.4
Verb Execution ..............................................................................3-2
Verb Library...................................................................................3-3
Verb Completion ...........................................................................3-3
3.4.1
Execute Locally............................................................3-4
3.5
3.6
3.7
3.8
3.4.2
3.4.3
Send, No Reply ............................................................3-5
Send, Reply ..................................................................3-8
Receiving Data and the naustat Variable .................................3-11
Session Management ..................................................................3-12
PU and LU Structure ..................................................................3-13
Integration with Other Verb Boundaries.................................3-13
3.9
Data Types....................................................................................3-14
3.10
Data Structures ............................................................................3-14
A.
Major and Minor Return Codes
.............................................................A-1
B.
Supported SNA Request Units
.............................................................. B-1
B.1
B.2
Sending RUs.................................................................................. B-1
Receiving RUs............................................................................... B-3
C.
Notification Events
...................................................................................C-1
C.1
C.2
Valid Notifications .......................................................................C-2
Layout of the rcvru Verb.............................................................C-3
D.
LU Finite-State Machines
......................................................................D-1
E.
PU Finite-State Machines
....................................................................... E-1
F.
State Definition
.......................................................................................... F-1
F.1
Naustat: LU Services................................................................... F-3
F.2
Naustat: PU Services................................................................... F-6
G.
API Verb Catalog
.......................................................................................G-1
H.
Man Pages
................................................................................................. H-1
Index
.............................................................................................................. I-1
v
vi
Tables
Table 1-1
Table 1-2
Table 1-3
Table 1-4
Table 2-1
Table 2-2
Table 2-3
Table 2-4
Table 2-5
Table 2-6
Table 2-7
Table 2-8
Table 2-9
Table 2-10
Table 2-11
Table 3-1
Table 3-2
Table 3-3
Table 3-4
Table A-1
Table A-2
Table A-3
Transaction Program Connection Verbs..................................1-3
Configuration Verbs ...................................................................1-4
Node Operator Verbs .................................................................1-5
LU 0-3 PI Verbs............................................................................1-6
Major Return Codes....................................................................2-6
Transaction Program Connection Verbs..................................2-8
Transaction Program Utility Functions ...................................2-8
Define Verbs...............................................................................2-10
Parameter Constants for Node Define Verbs........................2-11
Parameter Constants for LU Define Verbs ............................2-12
Display Verbs.............................................................................2-13
Display Verb Parameter Constants for the Node.................2-14
Display Verb Parameter Constants for the LU .....................2-15
Node Operator Verbs ...............................................................2-16
Operation Diagnostics ..............................................................2-17
Locally Executed Verbs ..............................................................3-5
Send, No Reply Verbs and Parameters ....................................3-7
Send, Reply Verbs and Parameters ........................................3-10
Data Types..................................................................................3-14
Major Code 00 (S2_OK): Function Completed
Normally .....................................................................................A-2
Major Code 01 (S2_USAGE): Function Aborted, Usage
Error .............................................................................................A-3
Major Code 02 (S2_UNSUC): Completed
Unsuccessfully ..........................................................................A-30
vii
viii
Table A-4
Table A-5
Table A-6
Table A-7
Table A-8
Table B-1
Table B-2
Table C-1
Table F-1
Table F-2
Major Code 03 (S2_STATE): Function Aborted, State
Error ...........................................................................................A-30
Major Code 05 (S2_ALCER): Allocation Error.....................A-31
Major Code 07 (S2_PGMER): Program Error.......................A-33
Major Code 09 (S2_DEALC): Deallocated ............................A-34
Major Code 11 (S2_NPERR): Node Operator
Error ...........................................................................................A-37 ru_cmd and ru Parameters for Sending RUs ......................... B-2
The ru_cmd and wht_rcv Parameters for Sending
RUs ............................................................................................... B-3
Valid Notifications .....................................................................C-2
Valid States for LU Services...................................................... F-2
Valid States for PU Services...................................................... F-2
Introduction
This guide is designed for application programmers who write programs that utilize IRIS
®
SNA LU 0-3 from Silicon Graphics
®
. IRIS SNA LU 0-3, which is included and shipped with the IRIS SNA SERVER, provides an interface to the services available in Systems Network Architecture (SNA) Logical Unit (LU)
Types 0, 1, 2, and 3.
This guide focuses only on those aspects of the SNA product that pertain to
LU 0-3 and should be used in conjunction with the IRIS SNA SERVER
Administration Guide, which covers such topics as the graphical user interface network management tool (IRIS SNAView) and configuring and operating the
IRIS SNA SERVER.
Using This Guide
The IRIS SNA SERVER Programming Guide contains the following chapters and appendices:
Chapter 1
Chapter 2
“Before You Begin” describes how to set the run-time variables and provides an overview of the verbs used to implement IRIS SNA LU 0-3. Detailed verb documentation is also provided in Appendix H, “Man Pages,” of this guide.
“Programming with the SNA SERVER Verbs” describes the
Application Programmers Interface (API), or verb functions, which are provided separately as manual pages in Appendix
H. A diagnostic guide for applications is also included.
ix
x
Chapter 3 “Programming with the LU 0-3 Verbs” presents an overview to the Programmable Interface (PI), or verb functions for the
Logical Unit Types 0, 1, 2, and 3.
Appendix A “Major and Minor Return Codes” lists the major and minor error codes returned by the API verbs (that is, the SNA SERV-
ER, LU 6.2, and LU 0-3 verbs).
Appendix B “Supported SNA Request Units” lists RUs that can be sent or received by a transaction program using IRIS SNA LU 0-3.
Appendix C “Notification Events” presents the valid notifications reported in the ru_cmd parameter of the rcvru verb and the layout of the rcvru verb for each valid event.
Appendix D “LU Finite-State Machines” describes the members contained in the LU finite-state machine structure, fsm_lu.
Appendix E “PU Finite-State Machines” describes the members contained in the PU finite-state machine structure, fsm_pu.
Appendix F “State Definition” describes valid states for LU and PU services and provides a recommended action for each state.
Appendix G “Verb Catalog” provides an index to all API verbs.
Appendix H “Man Pages” contains the category (3) IRIS SNA SERVER and
LU 0-3-related man pages.
Conventions
Within text, file names, parameters, commands, and command arguments are shown in italics. Machine names are shown in bold italics.
Command syntax descriptions and examples appear in
typewriter font
.
User input and keyboard commands appear in
bold typewriter font
.
API verb names are shown in bold face.
Related Documentation
This guide is part of a three-volume set that includes:
•
IRIS SNA SERVER Administration Guide
• IRIS SNA SERVER VT100 Interface Guide
In addition, the following reference materials from Silicon Graphics and IBM
® provide supplementary information on topics covered in this guide.
Silicon Graphics, Inc.
Token Ring Administration Guide
IRIS SNA LU 6.2 Programming Guide
IRIS SNA 3270 Administrator's Guide
IRIS SNA 3770 Administrator's Guide
International Business Machines
(IBM order numbers follow title)
Systems Network Architecture Concepts and Products (GC30-3072)
Systems Network Architecture Technical Overview (GC30-3073)
An Introduction to Advanced Program-to-Program Communication (GG24-1584)
Systems Network Architecture Transaction Programmer's Reference Manual for
LU Type 6.2 (GC30-3084)
Systems Network Architecture Format and Protocol Reference Manual: Architecture
Logic for LU Type 6.2 (SC30-3269)
Systems Network Architecture Network Product Formats (LY43-0081)
Synchronous Data Link Control Concepts (GA27-3093)
Systems Network Architecture Reference Summary (GA27-3136)
Token Ring Network Architecture Reference (SC30-3374)
xi
xii
Product Support
Silicon Graphics provides a comprehensive product support and maintenance program for IRIS products. For further information, contact the Technical
Assistance Center.
Chapter 1
Before You Begin
This chapter contains preliminary information for the application programmer who writes transaction programs that use the IRIS SNA LU 0-3 Programmable
Interface (PI) verbs.
After describing how to set the run-time variables, the chapter identifies the
IRIS SNA SERVER verbs used with the LU 0-3 Programmable Interface verbs.
When used together, the IRIS SNA SERVER verbs and the LU 0-3 PI verbs make up the Application Program Interface, or API. Information about these verbs is presented in Appendix H, “Man Pages,” of this guide. The programmer needs access to the verb man pages in order to write transaction programs. Appendix G,”API Verb Catalog,” contains a catalog of all verbs and the location of their man pages in the IRIS SNA SERVER manual set.
This chapter introduces the PI verbs, outlines the programmer’s responsibilities and describes verb execution and completion, the naustat variable, session management, PU and LU structures, verb-boundary integration, and data types.
IRIS SNA SERVER Programming Guide
1-1
1.1
Setting Run-Time Variables
If your programs are to be executed on a system that does not have the IRIS
SNA SERVER installed, you must set the run-time variable SNAHOST to the system ID of the IRIS SNA SERVER system before your start your SNA API programs.
1.2
IRIS SNA SERVER Verbs
This section describes functions provided by the IRIS SNA SERVER that are of interest to the programmer using LU 0-3 Programmable Interface
(PI) verbs or programmers using the LU 6.2 API verbs. Outlined below are three categories of IRIS SNA SERVER verbs.
• Implementation-specific verbs
• Configuration verbs
• Node Operator verbs
1.2.1
Implementation-specific Verbs
Implementation-specific verbs, while not a part of the IBM SNA, are required for the IRIS SNA SERVER. These verbs perform specific functions, such as opening and closing the connection between the transaction program and the
IRIS SNA Scheduler.
Transaction Program Connection Verbs
Before a program can issue any conversation, control operator, or node operator function, it must establish a connection with the IRIS SNA Scheduler.
Establishing this connection is called “attaching.” For the conversation verbs and the control operator verbs, this is done by specifying the name of the configuration and the local LU that the transaction program wants to use. The names specified in the attach request are called the “context” of the attach.
Since a program can issue verbs to more than one configuration or LU, the program can issue multiple attach requests. Each of these “attaches” creates a
1-2
Before You Begin
new logical instance of the program. The setctx verb is used to switch from one instance to the other before issuing verbs to the different LUs.
Transaction Program Connection verbs establish or break the connection between the transaction program and the IRIS SNA Scheduler. Consequently, they are the first and last verbs issued by the program. All applications must use the attach and detach verbs. The setctx verb is optional.
The man pages for these Transaction Program Connection verbs are included in Appendix H. Table 1-1 summarizes these verbs.
Verb attach detach setctx
Full Name
Attach
Detach
Set Context
Table 1-1
Transaction Program Connection Verbs
Function
Initiates communication between the local program and the IRIS SNA
Scheduler.
Detaches the current context from the IRIS SNA
Scheduler.
Establishes the current context under which subsequent verbs are issued.
1.2.2
Configuration Verbs
IRIS SNA SERVER Configuration verbs, used to define and display the resources of the node and logical unit, are divided into two groups: define verbs and display verbs. The Define and Display verbs listed in the Table 1-2 are of interest to the programmer using the LU 0-3 Programmable Interface
(PI) verbs.
IRIS SNA SERVER Programming Guide
1-3
1-4
Verb Full Name dfncp dfnline dfnllu dfnnode dfnrlu dfnslu dfnsta dfntp dspcp dspcph dspline dspllu dspnode dsprlu dspslu dspsta dsptp
Define Control Point
Define Line
Define Local LU
Define Node
Define Remote LU
Define Secondary Logical Unit
Define Station
Define Transaction Program
Display Control Point
Display Host Status
Display Line
Display Local LU
Display Node
Display Remote LU
Display Secondary Logical Unit
Display Station
Display Transaction Program
Table 1-2
Configuration Verbs
1.2.3
Node Operator Verbs
The Node Operator verbs in Table 1-3 activate, deactivate, and supervise the configured local resources of the IRIS SNA SERVER. These verbs control the links.
Before You Begin
Verb Full Name actline actlu actpu actsta chgmsgq dctline dctlu dctpu dctsta dspmsgq rtvnmsg
Activate Line
Activate Logical Unit
Activate Physical Unit
Activate Station
Change Message Queue
Deactivate Line
Deactivate Logical Unit
Deactivate Physical Unit
Deactivate Station
Display Message Queue
Retrieve Node Message
Table 1-3
Node Operator Verbs
1.3
PI Verb Catalog
The PI verbs provide a function-call interface to the services available in a
Logical Unit Type 0, 1, 2, or 3, or the Configuration Management Services component of the Physical Unit (PU). This interface is not used for Logical Unit
Type 6.2.
Table 1-4 identifies the LU 0-3 PI verbs, provides the full name of the verb, and briefly describes the verbs function. See the man pages in Appendix H for detailed information on the verbs.
IRIS SNA SERVER Programming Guide
1-5
1-6
Verb Full Name Function accru alnau dalnau gfsm gsync
Accept Request Unit
Allocate NAU
Deallocate NAU
Accepts an outbound RU chain that has been successfully received by the program.
Allocates a network addressable unit (NAU) for the transaction program. An LU 0, LU 1,
LU 2, LU 3, or the
Management Services of the PU can be allocated.
Deallocates an allocated
NAU.
Get Finite-State Machines Returns status information of the NAU. This information includes most of the Data Flow
Control and Transmission
Control finite-state machine values.
Get Sync Point Retrieves the current syncpoint information for the session.
Table 1-4
LU 0-3 PI Verbs
Before You Begin
Verb initpi rcvru rejru sndru ssync
Full Name
Initialize Verb Data
Structures
Receive Request Unit
Reject Request Unit
Send Request Unit
Set Sync Point
Function
Initializes the data structures used by the other PI verbs.
Receives data from the
IRIS SNA SERVER
Scheduler. Data can be
SNA RUs from the session or notifications from the scheduler.
Rejects an RU chain or part of an RU chain received by the program.
Sends an RU chain according to the specifications supplied by the program.
Sets the sync-point sequence numbers in the
IRIS SNA Scheduler.
Table 1-4 (continued)
LU 0-3 PI Verbs
These verb functions must be loaded with the LU 0-3 verb library liblu03.a.
IRIS SNA SERVER Programming Guide
1-7
1-8
Before You Begin
Chapter 2
Programming with the SNA SERVER Verbs
This chapter contains information to help you write transaction programs using the verb library functions and to help diagnose application errors should they arise. The material in this chapter provides an introduction and overview of the verbs. Appendix A lists the major and minor codes returned by the verb functions. Appendix C describes messages displayed during normal system activity or when errors are detected. Appendix G, “API Verb Catalog,” lists all of the API verbs in alphabetical order, giving their full names and verb types.
Some of the verbs presented in this chapter are relevant to users of IRIS SNA
LU 6.2. See the IRIS SNA LU 6.2 Programming Guide for information about these verbs.
2.1
API Overview
The Application Program Interface (API) is a library of verb functions and header files that define the structures and variables needed by applications that call the verb functions. In the Silicon Graphics implementation, these verbs take the form of C-language function calls. The API supplied by the IRIS
SNA SERVER also contains the verbs needed by other related Silicon Graphics
SNA products such as IRIS SNA LU 6.2, IRIS SNA 3770, and IRIS SNA 3270.
The API library for the IRIS SNA SERVER is installed as /usr/lib/libsna.a and
/usr/lib/liblu03.a.
IRIS SNA SERVER Programming Guide
2-1
2-2
2.1.1
Verb Categories
The IRIS SNA SERVER verbs are divided into three categories according to their function:
• Implementation-specific verbs
• Configuration verbs
• Node Operator verbs
Implementation-specific Verbs
Implementation-specific verbs are not specified in the IBM SNA Transaction
Programmer’s Reference Manual for LU Type 6.2 (referred to subsequently in this guide as TPRM) but are defined and implemented in Silicon Graphics SNA products. These verbs are divided into two groups:
• Transaction program connection verbs
• Transaction program utility functions
The connection verbs establish or break the connection between a transaction program and the IRIS SNA Scheduler. The utility functions, while not true verbs, provide routines that APPC transaction programs commonly need, such as ASCII-to-EBCDIC translation.
Configuration Verbs
Configuration verbs define and display the resources of the node and logical unit. They are divided into two groups:
• Define verbs
• Display verbs
The first group contains both LU define and node define verbs. The LU define verbs configure information about LUs, modes, and transaction programs. The node define verbs configure PU 2.1 components. The second group, the display verbs, provide information about the configured LUs and PU 2.1
components.
Programming with the SNA SERVER Verbs
Node Operator Verbs
Node operator verbs activate and deactivate PU 2.1 components. These verbs are not specified in IBM's TPRM, but are Silicon Graphics-defined.
2.1.2
Verb Library
Verb functions, and functions called by the verb, are archived in
/usr/lib/libsna.a. Programs that use verb functions must be linked against this library. Under most compilers, this is accomplished by using the -l option; for example: cc sample.c -L/usr/lib/sna -lsna.a
Note the case-specific use of the letter l in the example. See your compiler documentation for instructions on linking against product libraries.
2.1.3
Header Files
The structures and variables used in the SNA verbs are defined in header files located in /usr/include/sna. Here are some of the header files you can include in your application:
global.h
imp.h
Contains the definitions of the global variables used by all of the verb types.
Contains the definitions of the verb parameter structures for the implementation-specific verbs.
ludef.h
Contains the definitions of the verb parameter structures for the LU define verbs.
msgdef.h
Contains the definitions of the structures used to retrieve and parse node messages.
noop.h
Contains the definitions of the verb parameter structures for the node operator verbs.
uadef.h
Contains the definitions of the verb parameter structures for the node define verbs.
IRIS SNA SERVER Programming Guide
2-3
2-4
In addition to these header files, /usr/include/sna contains several files that contain the type definitions and constant values used by the SNA verbs. They do not need to be explicitly included; examine them for their contents.
ddhvtyp.h
ddhverr.h
ddhvicn.h
ddhviex.h
Contains the type definitions for the SNA verbs.
Contains constants for the major and minor return codes.
Contains the constants used for the verb parameter values.
Contains external variable declarations.
2.1.4
Data Type Definitions
The verb parameter structures use data types defined in the header file
ddhvtyp.h. Several of these data types may not be familiar to you:
• typedef unsigned char hex
Used for strings or bytes where all bits are significant
• typedef unsigned short shex
Used for values that must be two bytes long
• typedef unsigned long lhex
Used for values that must be four bytes long
2.1.5
Data Structures
Each member (referred to as both parameter and field) of the data structure is described as being Supplied, Returned, or Supplied/Returned.
• Supplied parameters are set by the application program.
• Returned parameters are set automatically by the successful operation of the verb.
• Supplied/Returned parameters are set by the application program when the verb is issued, but their value can change after the successful operation of the verb.
Programming with the SNA SERVER Verbs
Initialization of every member of the structure is the responsibility of the application. This is especially true of pointers, which must be set to null if not set to a specific address.
Note:
For the character-string parameters in the display and get attribute verbs, Returned and Supplied have a slightly different meaning. These verbs require the application program to allocate space for names and other strings that are to be returned. If the pointer is nulled, the name is not returned.
Even though the value in a name field is returned by the verb, the pointer must still be supplied by the application program. A display verb with a name parameter listed as Supplied/Returned can return a different name in that space after the successful completion of the verb.
Supplied parameters are further specified as Required, Conditional, or
Optional.
• Required parameters must be set by the application program.
• Conditional parameters can have a value required, depending on the setting of another parameter.
• Optional parameters need not be set.
2.1.6
Global Variables
Information on the state of the conversation and feedback on the execution of verb calls are returned in three global variables. These variables are defined in the header file global.h. This file must be included in each program that uses functions described in the IRIS SNA SERVER API. Routines that query the values of these variables can refer to them as external variables.
After a verb function is executed, return information is placed in global variables snamaj and snamin. The values carried here correspond to the verb return-code parameters defined in the TPRM. If the function completed normally (return code of “OK”), the function returns 0 and the major and minor codes are also 0. If a return code was set in the major or minor fields, the verb function returns -1. In general, the major code is sufficient for controlling program logic.
IRIS SNA SERVER Programming Guide
2-5
2-6
Table 2-1 describes the major codes used. (For a complete list of the major and minor return codes, see Appendix A.)
Major Code Description
S2_OK (0)
S2_USAGE (1)
S2_UNSUC (2)
S2_STATE (3)
S2_ALCER (5)
S2_PGMER (7)
S2_DEALC (9)
S2_COERR (10)
S2_NPERR (11)
Function completed successfully.
Function aborted, usage error.
The function was not performed because a parameter was in error or requested a function that was not supported. Most of the minor codes provide specific information on usage errors.
Function completed unsuccessfully.
Set when a function, such as “Receive Immediate” or
“Test,” completes normally but does not return data.
Function aborted, state error.
The function was not performed because it is not allowed in the current conversation state.
Allocation error.
The program could not allocate a conversation for the reason specified in the minor code. The conversation is in deallocated state when an allocation error occurs.
Program error.
The partner program has issued an error indication. If the conversation was in send state, it is now in receive state.
Deallocation indication.
The conversation has been deallocated, normally or abnormally, for the reason specified in the minor code.
The conversation is in deallocated state.
Control operator function error.
A control operator function has ended abnormally.
Since the control operator verb may not have been using a conversation, the conversation state does not apply.
Node-operator function error.
A node-operator function was not accepted. Since node operator verbs do not use conversations, the conversation state does not apply.
Table 2-1
Major Return Codes
Programming with the SNA SERVER Verbs
2.2
Implementation-specific Verbs
Although the implementation-specific verbs are not part of the IBM SNA, they are required for the IRIS SNA SERVER. These verbs perform specific functions, such as opening and closing the connection between the transaction program and the IRIS SNA Scheduler.
The implementation-specific verbs are divided into two groups: transaction program connection verbs and transaction program utility functions. Each of these groups is described on the following pages. The verb structures and variables are in /usr/include/sna/imp.h.
2.2.1
Transaction Program Connection Verbs
Before a program can issue any conversation, control-operator, or nodeoperator functions, it establishes a connection with the IRIS SNA Scheduler.
Establishing this connection is called attaching. Conversation verbs and control operator verbs attach by specifying the name of the configuration and the local
LU that the transaction program wants to use. Node operator verbs require only the configuration. The names specified in the attach request are called the
context of the attach. Since a program can issue verbs to more than one configuration or LU, the program can issue multiple attach requests. Each of these attaches creates a new logical instance of the program. The setctx verb switches from one instance to the other before issuing verbs to the different
LUs.
Because transaction program connection verbs establish or break the connection between the transaction program and the IRIS SNA Scheduler, they are the first and last verbs the program issues.
Table 2-2 shows the supported transaction program connection verbs.
IRIS SNA SERVER Programming Guide
2-7
2-8
Verb Function attach detach rattach setctx
Initiates communication between the local program and the IRIS SNA Scheduler.
Detaches the current context from the IRIS SNA
Scheduler.
Initiates communication between a remotely invoked transaction program and the IRIS SNA Scheduler.
Sets the current context under which subsequent verbs are issued.
Table 2-2
Transaction Program Connection Verbs
2.2.2
Transaction Program Utility Functions
The transaction program utility functions shown in Table 2-3 are not considered verbs because they do not set snastat, snamaj, or snamin. Rather, they provide useful routines for writing APPC applications.
Utility Function
atoe etoa dspmaj dspmin prtnmsg
Translates an ASCII string into EBCDIC for partner programs running on IBM computers so they may receive application-specific information.
Translates an EBCDIC string into ASCII so partner programs running on IBM machines can send application-specific information.
Formats major return code messages.
Formats minor return code messages.
Prints a formatted message from the message structure returned by the rtvnmsg verb.
Table 2-3
Transaction Program Utility Functions
Programming with the SNA SERVER Verbs
2.3
Configuration Verbs
Configuration verbs are divided into two categories: define verbs and display verbs. The define verbs include LU define verbs, which configure local and remote LUs, modes, and transaction programs; and node define verbs, which define the components of the PU 2.1 node. (Display verbs display information about LUs, modes, transaction programs, and PU 2.1 node components.)
The verb functions, and functions called by the verb, are archived in
/usr/lib/libsna.a. Programs that use verb functions are linked against this library.
LU define verb data structures are in /usr/include/sna/ludef.h. Data structures for the node define verbs are in /usr/include/sna/noop.h. The global variables are defined in header file /usr/include/sna/global.h.
Each verb has an associated data structure that contains the verb’s parameters.
These data structures are more complex than those for the conversation verbs.
To simplify their use, two special verbs are provided—initcbu for the node and initcbl for the LU—to initialize the values in the structure members. Each pointer within the structure is nulled. All other fields are set to the constant value, indicating that the parameter is not being specified.
As stated earlier, each member of the data structure is described as being
Supplied, Returned, or Supplied/Returned. For more information on these parameter qualifiers, see Section 2.1.5, “Data Structures.” For the characterstring parameters in the display verbs, Returned and Supplied have a slightly different meaning. These verbs require the application program to allocate space for names and other strings that are to be returned. If the pointer is nulled, the name is not returned. Even though the value in a name field is returned by the verb, the pointer must still be supplied by the application program. A name parameter listed as Supplied/Returned in a display verb means a different name can be returned in the same space after the successful completion of the verb.
2.3.1
Define Verbs
Define verbs define the configuration elements of the LU (the local LU, remote
LU, modes, and transaction programs) and the PU 2.1 node (the lines, stations, control points, and the node itself). Table 2-4 lists the define verbs that are provided.
IRIS SNA SERVER Programming Guide
2-9
2-10
Verb Function dfncp dfnline dfnllu dfnmode dfnnode dfnrlu dfnslu dfnsta dfntp dltcbl dltcbu initcbl initcbu
Defines the addressing information for the control point at the remote node.
Defines line name, line type, and line characteristics.
Initializes or modifies parameter values that control the operation of the local LU.
Initializes or modifies parameter values that control the operation of the local LU in conjunction with a group of sessions (identified by a mode name) with a remote LU.
Defines the system-wide operating parameters for an instance of the SNA node.
Initializes or modifies parameter values that control the operation of the local LU in conjunction with a remote LU.
Defines a secondary LU.
Defines the station name and other parameters that pertain to the adjacent link station.
Initializes or modifies parameter values that control the operation of the local LU in conjunction with a local transaction program.
Deletes the operating parameters for the local LU that were set by the define verbs.
Deletes control blocks defined by the node define verbs.
Initializes a define verb structure.
Initializes a define verb structure of the type specified in the
stype
parameter.
Table 2-4
Define Verbs
The node define verbs use the parameter constants listed in Table 2-5.
Programming with the SNA SERVER Verbs
Constant Description
IGN_VAR
SUPPORT
NOT_SUP
Ignore this parameter.
Specifies that an optional parameter is to be ignored. Use the current or default value for this parameter.
Function is supported.
Indicates the specific function is supported.
Function is not supported.
Indicates the specific function is not supported.
Table 2-5
Parameter Constants for Node Define Verbs
These parameter constants and the data structures are defined in the header file uadef.h.
Note:
Some of the node define verb parameter constants listed in Table
2-5 and Table 2-6 have the same underlying values. Specifically,
NOT_SUP, ADD_VAR, and RPL_VAR have a value of 0.
DEL_VAR and SUPPORT have a value of 1. IGN_VAR has a value of -1. Use only the documented constants for any parameter value since these equivalencies can change in later releases.
The LU define verbs use the parameter constants listed in Table 2-6.
IRIS SNA SERVER Programming Guide
2-11
2-12
Constant Description
IGN_VAR
SUPPORT
NOT_SUP
RPL_VAR
DEL_VAR
ADD_VAR
Ignore this parameter.
Specifies that an optional parameter is to be ignored. The current or default value for this parameter is to be used.
Function is supported.
Indicates the specific function is supported.
Function is not supported.
Indicates the specific function is not supported.
Replace parameter.
Specifies that a related field (such as a network name) is to replace the existing value on the control block.
Delete parameter.
Specifies that a related field (such as a network name) is to be deleted from a control block.
Add parameter.
Specifies that a related field (such as an user ID) is to be added to a control block.
Table 2-6
Parameter Constants for LU Define Verbs
These parameter constants and the data structures are defined in the header file ludef.h.
Note:
Before issuing a define or display verb, the transaction program uses the attach verb to establish a connection to s2_schd, the IRIS
SNA SERVER.
The verbs return 0 if the control block was successfully defined or displayed and -1 if an error occurred. For errors, the global variables snamaj and snamin are set to the major code and minor code of the error. Use the verbs dspmaj and
dspmin
to translate these codes into printed error messages. (For a list of the major and minor codes, see Appendix A.)
2.3.2
Display Verbs
Display verbs return information about configuration elements for 6.2 LUs
(the local LU, remote LU, modes, and transaction programs), secondary LUs,
Programming with the SNA SERVER Verbs
and the PU 2.0/PU 2.1 node (the lines, stations, control points, and the node itself). Table 2-7 lists the display verbs.
Verb Function dspcp dspcph dspline dspllu dspmode dspnode dsprlu dspses dspslu dspsta dsptp
Returns addressing information for a control point defined with the dfncp verb.
Returns data describing the current status of sessions with a host-type control point.
Returns information about a line defined with the dfnline verb.
Returns parameter values that control Local LU operation.
Returns parameter values that control the operation of the local
LU in conjunction with a group of sessions (identified by a mode name) with a remote LU.
Returns information stored in the Node Control Block.
Returns parameter values that control the operation of the local
LU in conjunction with the remote LU.
Returns information about sessions between local and remote
LUs.
Returns information about a secondary LU.
Returns information about a station defined with the dfnsta verb.
Returns parameter values that control the operation of the local
LU in conjunction with a local transaction program.
Table 2-7
Display Verbs
Display verbs for the node use the parameter constants listed in Table 2-8.
IRIS SNA SERVER Programming Guide
2-13
2-14
Constant Description
IGN_VAR
SUPPORT
NOT_SUP
NEXT
Ignore this parameter.
Specifies that an optional parameter is to be ignored. The current or default value for this parameter is to be used.
Function is supported.
Indicates the specific function is supported.
Function is not supported.
Indicates the specific function is not supported.
Display information on the next control block.
The Display Verbs can return information on a specific block or the next block so that you can step through all of the blocks of a specific type. If a block is named and the next parameter is set to
IGN_VAR, the information for that block is returned. If next is set to NEXT, information for the next block is returned.
Table 2-8
Display Verb Parameter Constants for the Node
These parameter constants and the data structures are defined in the header file uadef.h.
Note:
Some of these widely used constants have the same underlying values. Specifically, NOT_SUP and NEXT have a value of 0.
SUPPORT has a value of 1. IGN_VAR has a value of -1. Use only the documented constants for any parameter value since these equivalencies can change in later releases.
Programming with the SNA SERVER Verbs
Display verbs for the LU use the parameter constants listed in Table 2-9.
Constant Description
IGN_VAR
SUPPORT
NOT_SUP
NEXT
Ignore this parameter.
Specifies that an optional parameter is to be ignored. The current or default value for this parameter is to be used.
Function is supported.
Indicates the specific function is supported.
Function is not supported.
Indicates the specific function is not supported.
Display information on the next control block.
Table 2-9
Display Verb Parameter Constants for the LU
These parameter constants and data structures are defined in the header file
ludef.h.
Note:
Some of these widely used constants have the same underlying values. Specifically, NOT_SUP, ADD_VAR, RPL_VAR, and NEXT all have a value of 0. DEL_VAR and SUPPORT have a value of 1.
IGN_VAR has a value of -1. Use only the documented constants for any parameter value since these equivalencies can change in later releases.
The verbs return 0 if the control block was successfully defined or displayed and -1 if an error occurred. If there was an error, the global variables snamaj and snamin are set to the major code and minor code of the error. Use the verbs
dspmaj
and dspmin, described in “Transaction Program Utility Functions,” to translate these codes into printed error messages. (For a list of the major and minor codes, see Appendix A.)
Note:
Before issuing a define or display verb, the transaction program uses the attach verb to establish a connection to the IRIS SNA
SERVER, s2_schd.
IRIS SNA SERVER Programming Guide
2-15
2.4
Node Operator Verbs
Node operator verbs activate lines, stations, LUs, and the local PU and control the node logging and message facilities. While their format is not determined by IBM, their function is implied.
The Node Operator verb function is archived in /usr/lib/libsna.a. Programs that use verb functions must be linked against this library. The data structures used in these verbs are in /usr/include/sna/noop.h. The global variables are defined in the header file /usr/include/sna/global.h.
Table 2-10 lists the node operator verbs provided.
Verb Function actline actlu actpu actsta chgmsgq dctline dctlu dctpu dctsta dspmsgq rtvnmsg
Activates the line.
Activates the LU locally.
Activates the node’s physical unit locally.
Instructs the node to enable the link connection to a particular remote node.
Instructs the node to change the status parameters of a message queue.
Deactivates the named line from use.
Terminates the use of the named LU.
Terminates the use of the PU.
Instructs the node to issue the proper commands to disable the link connection to a particular remote node.
Instructs the node to display the status parameters of a message queue.
Retrieves a message from the named message queue.
Table 2-10
Node Operator Verbs
The activation and deactivation requests issue a message to the Node Operator message queue indicating whether the activation or deactivation was successful. Each of these requests returns a correlation number used to retrieve the completion message from the queue.
2-16
Programming with the SNA SERVER Verbs
2.5
Operation Diagnostics
Table 2-11 provides information to help you locate and solve a problem if you encounter trouble using the IRIS SNA SERVER.
Problem
The line is active but the station is pending-active, even after the partner activates its side.
“Link Inoperative” message received.
“Link Inoperative” message received (“too many aborts”)
Primary is polling; secondary is responding.
Line drops immediately after activation.
The message ends with
“CNOS allocation error.”
Solution
Check that the SDLC address in the station definition block matches your partner’s. If it does not and the problem persists, check for a defective cable between the system and the modem.
Deactivate the line, then reactivate it.
Consult Appendix C in the IRIS
SNA Administration Guide
for specific information about the condition that caused the line to drop.
The duplex, NRZI, and line speed settings re ceived must match. If they do not, reconfigure and try again. Also, check the modem's duplex setting.
The duplex, NRZI, and line speed settings must match. If they do not, reconfigure and try again. Also, check you modem's
duplex setting.
Check the log. It is likely that the exchange IDs were not recognized. Contact your partner and exchange exchange IDs.
Update the local node or remote node block, regenerate the configuration, and retry.
Partner needs to initialize session limits.
Table 2-11
Operation Diagnostics
IRIS SNA SERVER Programming Guide
2-17
Problem
The message states that the LU was not recognized.
No sessions are activated.
Solution
Your configuration does not match your partner’s mode. Modify the resource definition blocks, regenerate the configuration, and try again.
If you specified 0 auto-initiated sessions in the mode definition block, sessions are not activateed until needed by an application. If you did specify auto-initiated sessions, check the log for session-failure messages. Usually this problem is a mismatch of the mode parameters for
CNOS support and re-initialization.
Table 2-11 (continued)
Operation Diagnostics
2-18
Programming with the SNA SERVER Verbs
Chapter 3
Programming with the LU 0-3 Verbs
The LU 0-3 PI interface is designed to support the protocols of Logical Unit
Types 0, 1, 2, and 3. Since the protocols vary greatly among these LU types, the interface provides only basic session-level support, and leaves the specifics of the Presentation Services as a program responsibility. The interface assumes the programmer is responsible for:
• Understanding SNA formats and protocols
• Managing the session
• Understanding the relationship between the program and the IRIS SNA
Scheduler
3.1
SNA Formats and Protocols
The programmer must be able to:
• Format the RUs correctly
• Understand such matters as the bracket, contention, and chaining protocols so that the RH can be correctly set
• Know how to bring up and take down sessions
Note:
This guide makes no attempt to serve as an introductory tutorial in SNA programming. Programmers needing such information can refer to the IBM manuals listed in the Related Documentation section of the “Introduction” to this guide.
IRIS SNA SERVER Programming Guide
3-1
3.1.1
Managing the Session
The interface leaves the initiation, takedown, and cleanup of LU-LU sessions as a responsibility of the program. Session management is discussed in more detail later in this section.
3.1.2
Program vs. IRIS SNA Scheduler
The program runs as a separate process from the IRIS SNA Scheduler. The interface has been designed to address the problems of timing and performance that arise because of this separation. In order to write effective programs, the programmer needs to know how this distribution of function is accomplished. For a more detailed description, see the “Verb Execution” and
“Verb Completion” sections of this chapter.
3.2
Verb Execution
The verbs provide the only interface into the IRIS SNA Scheduler. Each verb accepts valid parameters, executes to completion, and returns control to the program. There is no concept of interrupting and resuming a verb's execution.
Each verb has been designed, however, so that it can execute in a non-blocking fashion. Blocking is optional on the accru, alnau, sndru, rcvru, rejru, gsync, and ssync verbs; the other verbs do not block.
Each verb returns a return code and the global variables snamaj, snamin,
snamsg, and snastat. The return code is set to OK if the verb executed successfully, and to NOT OK if it did not. If the return code is NOT OK, snamaj and snamin contain codes describing the error.
The snamsg variable indicates if a message from the IRIS SNA Scheduler is queued within the PI verbs. Any time a PI verb is issued that reads messages from the scheduler, it is possible that other messages are received that are not returned on the current verb call.
For instance, a rcvru verb that returns a message for the requested NAU can have read messages for other allocated NAUs before reading the desired message. If this has occurred, the messages are queued within the PI layer, and
snamsg is set. In general, the programmer should not let messages remain in
3-2
Programming with the LU 0-3 Verbs
the PI layer, as there is a finite amount of data space that PI will use before it no longer can receive messages from the scheduler.
The snastat variable is set to show which verbs can be issued at which time. It is a simple state, showing whether the NAU is not allocated, pending allocation, or allocated. When the NAU is pending allocation, only the rcvru and dalnau verbs can be issued. When snastat is set, any verb for the allocated
NAU can be issued, except another alnau.
3.3
Verb Library
Verb functions, and any functions called by the verb, are archived in
/usr/sna/lib/liblu03.a. Programs that use verb functions must be linked against this library. In addition, link programs that use SNA LU 0-3 verb functions must be linked against two other archival libraries: /usr/sna/lib/libsna.a, which includes the IRIS SNA verb functions provided by the IRIS SNA SERVER, and
/usr/lib/libbsd.a, which provides required TCP/IP support. Under most compilers, this is done with the -l option, for example: cc sample.c -L/usr/sna/lib -llu03 -lsna -lbsd
Consult your compiler documentation for instructions on linking against the product’s library.
3.4
Verb Completion
The program operates as a process separate from the IRIS SNA Scheduler. The verbs communicate with the scheduler by exchanging messages over an interprocess communication channel, the nature of which varies from implementation to implementation. Verbs either execute locally, send messages to the IRIS SNA Scheduler, or send messages and expect a reply from the scheduler. Because some applications have a need to service events from sources other than the IRIS SNA Scheduler, verbs that send messages to the scheduler can execute in either a blocking or non-blocking fashion.
The following describes how verbs complete, in either the blocking or nonblocking manner. The blocking execution is easier to use, and is recommended for most applications. The non-blocking style is more complex, but is
IRIS SNA SERVER Programming Guide
3-3
3-4
necessary for applications that service multiple sources of events. The programmer should determine which style of verb execution is appropriate to the application.
3.4.1
Execute Locally
The gfsm, initpi, and rcvru verbs execute locally. They do not send any message to the IRIS SNA Scheduler and return control to the application in the following manner:
•
Local
All processing occurs within the application. Control returns to the application immediately.
•
Receive Nowait
A message, if previously sent by the IRIS SNA Scheduler, is retrieved.
Control returns to the application immediately, whether data is present or not.
•
Receive Wait
A message, if previously sent by the IRIS SNA Scheduler, is received.
If not, the program will wait until the message is sent by the scheduler, or until the timer expires. Control returns to the application when a message is received or the timer expires.
Programming with the LU 0-3 Verbs
Table 3-1 illustrates the parameter settings that control verb execution.
Verb Parameter Verb Completion
Receive
Nowait
Type
Receive
Wait
gfsm initpi
wait
- - -
- - -
Local
X
X
rcvru
timeout value
P_NOWAIT
P_WAIT
X
X
X
Table 3-1
Locally Executed Verbs
Note:
The wait parameter, present only on the rcvru verb, can be set to a timeout value in seconds, to constant P_NOWAIT, or to P_WAIT.
3.4.2
Send, No Reply
The accru, rejru, and sndru verbs can execute by sending a message to the IRIS
SNA Scheduler without expecting a reply from the scheduler. The accru and
rejru
verbs always operate in this way. The sndru verb operates this way if certain parameter values are set. Cases when sndru generates a reply from the scheduler are covered in the next section, “Send, Reply.”
These verbs can execute in a blocking or non-blocking fashion. If blocking, the verb returns control to the program when the message is accepted by the transport channel. If the transport channel is not immediately available due to congestion, the verb will wait until the congestion is cleared. The program need not concern itself with retry logic. If non-blocking, the verb completes successfully, providing the transport channel can accept the message immediately. If the transport channel cannot do this, the verb returns immediately, with an indication that the transmission should be retried.
IRIS SNA SERVER Programming Guide
3-5
3-6
There are two types of retry conditions requiring different recovery logic. The first is that the flow-control window with the IRIS SNA Scheduler has been exhausted. In this case, the program must issue a rcvru specifying P_PACE on the loc_pac parameter to receive the pacing response from the scheduler. No data can be sent to the scheduler until this response is received. In the second case, the flow control window is large enough for the request, but the transport channel itself is temporarily full. In this case, reissue the verb.
An application using the blocking options is simpler in operation, but must wait occasionally for verbs to complete. An application using the nonblocking options is exposed to retry conditions, but can always remain free to service other events.
These verbs return control to the application in the following manner:
•
Send No Block
A message is sent to the IRIS SNA Scheduler. Control returns to the application immediately. The verb completes successfully if the transport channel accepted the message. The verb completes unsuccessfully if the transport channel was not able to accept the message; the minor code gives the reason for the failure.
•
Send Block
A message is sent to the IRIS SNA Scheduler. The verb completes successfully when the transport channel accepts the message. The verb handles any retry logic required.
Programming with the LU 0-3 Verbs
Table 3-2 illustrates the parameter settings that control verb execution.
Verb Parameters
block when
accru
P_BLOCK - - -
P_NBLOCK - - -
rejru
P_BLOCK - - -
P_NBLOCK - - -
Send
rh_ind
- - -
- - -
- - -
- - -
Verb Completion Type
X
X
X
X
Send
No Block Block
sndru
P_BLOCK
P_BLOCK
P_BLOCK - - -
P_NONE LIC,RQE
P_NONE
P_NBLOCK - - -
LIC,RQD
P_NBLOCK P_NONE
P_NBLOCK P_NONE
LIC,RQE
LIC,RQD
!LIC
LIC
X
X
X
X
X
X
Table 3-2
Send, No Reply Verbs and Parameters
The block parameter is present on the accru, rejru, and sndru verbs.
The when parameter is present only on the sndru verb. It indicates to the scheduler when to construct a reply to this verb. The value P_NONE indicates that no reply should be constructed. When the message is not last in chain
(LIC), the parameter is not applicable.
The rh_ind parameter is present only on the sndru verb. It contains the RH indicators for the RU. LIC means last in chain, RQD means request definite response, and ! represents not. When the when parameter is set to P_NONE, and the chain is marked RQD, the scheduler does not create a reply of its own.
The application must issue a rcvru verb to read the response sent to a chain marked RQD.
IRIS SNA SERVER Programming Guide
3-7
3-8
3.4.3
Send, Reply
The alnau, gsync, sndru, and ssync verbs generate replies from the IRIS SNA
Scheduler. The alnau, gsync, and ssync verbs always operate in this way. The
sndru
verb operates in this way if certain parameter values are set. (The cases when the sndru verb does not generate a reply from the scheduler were covered in the previous section, “Send, No Reply.”)
The scheduler generates the reply to the gsync and ssync verbs as soon as it receives the request. The reply to the alnau verb can be constructed as soon as the scheduler receives the request, or the reply can be generated when the requested NAU is free. The when parameter controls this. The reply to the
sndru
verb is constructed according to the when parameter and the RH indicator settings. If the when parameter is P_NONE, or the RU is not last in chain (LIC), no reply is generated. If the when parameter is P_WHEN, and the chain is marked RQE, the reply is generated as soon as the scheduler has assigned the TH sequence number to the RU. If the chain is marked RQD, the scheduler waits until the response arrives from the partner half-session before constructing the reply. In this case, the reply contains not only the TH sequence number assigned, but the value of the response from the partner half-session.
Blocking has a meaning for these verbs in addition to the considerations described in the previous section. When blocking these verbs, wait for the reply from the scheduler before returning control to the application. The values on the reply are returned to the application as returned parameters on the verb. If the verb executes non-blocking, the verb does not wait for the reply before returning control. The application must issue a rcvru verb to read the reply.
Note:
The blocking parameter on the alnau and sndru verbs is independent of the parameters that indicate when the reply is constructed.
Programming with the LU 0-3 Verbs
These verbs return control to the application in the following manner:
•
Send No Block
A message is sent to the IRIS SNA Scheduler. Control returns to the application immediately. The verb completes successfully if the transport channel accepted the message. The verb completes unsuccessfully if the transport channel was not able to accept the message; the minor code gives the reason for the failure. An rcvru verb must be issued to read the reply.
•
Send Block Short
A message is sent to the IRIS SNA Scheduler. The verb handles any retry logic required to send the request. The IRIS SNA Scheduler constructs the reply as soon as the request is received in a relatively short period. The verb completes when the reply is received from the scheduler. The values on the reply are presented to the program as return parameters on the verb.
•
Send Block Long
A message is sent to the IRIS SNA Scheduler. The verb handles any retry logic required to send the request. The IRIS SNA Scheduler constructs the reply as directed, either when the requested NAU is free (alnau) or when the response is received from the partner halfsession (sndru). The time required to complete is indefinite. The verb completes when the reply is received from the scheduler. The values on the reply are presented to the program as return parameters on the verb.
IRIS SNA SERVER Programming Guide
3-9
3-10
Table 3-3 illustrates the parameter settings that control verb execution.
Verb Parameters Verb Completion Type
block when rh_ind
alnau
P_BLOCK P_IMMED - - -
P_BLOCK P_WHEN - - -
P_NBLOCK P_IMMED - - -
P_NBLOCK P_WHEN - - -
gsync
P_BLOCK - - -
P_NBLOCK - - -
ssync
P_BLOCK - - -
P_NBLOCK - - -
- - -
- - -
- - -
- - -
X
X
sndru
P_BLOCK
P_BLOCK
P_WHEN LIC,RQE
P_WHEN LIC,RQD
P_NBLOCK P_WHEN LIC,RQE
P_NBLOCK P_WHEN LIC,RQD
X
X
X
X
Send
No
Block
Send
Block
Short
X
X
X
X
Send
Block
Long
X
X
Table 3-3
Send, Reply Verbs and Parameters
The block parameter is present on the alnau, gsync, ssync, and sndru verbs.
The when parameter is present only on the alnau and sndru verbs. On the
alnau
verb, P_IMMED means that the IRIS SNA Scheduler should reply as soon as it receives the request. Either the NAU is allocated or it is not available.
P_WHEN means that the scheduler should queue the request until the NAU is available. On the sndru verb, P_WHEN indicates that the reply should be generated according to the settings on the rh_ind parameter.
The rh_ind parameter, present only on the sndru verb, contains the RH indicators for the RU. LIC means last in chain, RQE means request exception response, and RQD means request definite response. When the chain is marked RQE, the reply is generated when the TH sequence number is assigned. When the chain is marked RQD, the scheduler waits for the response from the partner half-session before constructing a reply.
Programming with the LU 0-3 Verbs
3.5
Receiving Data and the naustat Variable
The IRIS SNA Scheduler sends unsolicited messages to the program. These messages are of two types: either SNA RUs from the session, or notification of an event within the IRIS SNA Scheduler. There are three varieties of notification:
• The IRIS SNA Scheduler has already responded to an SNA request and is telling the program that it has done so.
• The program is told of a non-session flow event, such as an allocation succeeding or a send check error.
• The IRIS SNA Scheduler is responding to a verb issued with the block parameter specified as P_NBLOCK.
Appendix B, “Supported SNA Request Units,” lists the SNA RUs and notes whether the IRIS SNA Scheduler passes them up to the program unaffected or whether the Scheduler responds to them itself and sends a notification.
Appendix C, “Notification Events,” lists all the potential notifications that can be generated by the IRIS SNA Scheduler. Throughout the documentation, the term “receive data” is used when either an SNA RU or a notification can be received.
Whenever the scheduler sends these RUs or notifications to the program, it appends to the message an image of the states of the FSMs (finite-state machines) of the NAU. This image is the state of the FSMs immediately after the notification or RU in question has been processed by the scheduler. When the
rcvru
verb is executed, the notification or RU is returned to the program, and the FSM states that accompanied that message are displayed in a composite form in the naustat variable. The intention is to provide a simple method for a programmer to control the application in most cases.
Appendix F, “State Definition,” gives a complete listing of the various states of the naustat variable with suggested actions. If the programmer needs to see the complete set of FSM values, the gfsm verb displays those values. Note that the
gfsm
verb displays the complete image of the FSM states of the last notification or RU received via the rcvru verb. The naustat value is initially returned by the
alnau
verb, and is updated whenever a rcvru verb returns with data.
If the program issues verbs without intervening rcvru verbs, it is possible that the state of the session can change without the program being aware of it. For example, the program can be issuing sndru verbs with the RUs marked not
IRIS SNA SERVER Programming Guide
3-11
LIC, so that no reply is coming from the scheduler. The link, meanwhile, may have become inoperative, and session-outage procedures would have brought the session down. If the program then issues a sndru verb marked LIC and
P_NOWAIT, it sees the session-outage notification (SON) on the subsequent
rcvru
. If the program issues the sndru marked LIC and WAIT, however, the verb returns unsuccessfully, with a sense code indicating the error. The program, as part of its standard error recovery, should then issue rcvru verbs to read all the notifications and RUs that may have been sent by the scheduler.
After all the messages from the scheduler have been read, the state values are re-established to reflect the correct state of the session.
3.6
Session Management
Although the program is notified of the activation and deactivation of the
SSCP-PU and SSCP-LU sessions, there is no management action for these sessions that the program can initiate via the PI verbs. The program can, however, use the node operator verbs to activate the link. After the link is active, it is the host's responsibility to issue the actpu and actlu verbs. A program can terminate all sessions on the link by issuing a Node Operator verb to deactivate the link. On a host connection, the Node Operator verb to deactivate a link issues a REQDISCONT, which causes the host to bring down the sessions in an orderly fashion. If the link should fail, the IRIS SNA
Scheduler initiates session-outage procedures, bringing down the sessions.
Programs are notified when this occurs.
The program is responsible for managing the LU-LU session when allocating an LU. If a BIND request arrives, it is a program's responsibility to reply to it.
A program has the capability to initiate session activation by sending a formatted or character-coded login to the SSCP, and responds to the subsequent flows. A program can deactivate the session by sending an
RSHUTD, TERMSELF, or an UNBIND. In addition, session management can be shared among several cooperating programs. This is because deallocating an LU does not cause the session to deactivate; the session, in fact, is not affected in any way if the program deallocates the LU. This enables several programs to share the same session serially, without having to activate the session each time. This feature provides a performance boost, but the programs using this feature need to account for the state of the session when allocating the LU.
3-12
Programming with the LU 0-3 Verbs
3.7
PU and LU Structure
Because the IRIS SNA Scheduler provides integrated support for PU 2.1 peer connections as well as PU 2.0 host connections, there are some differences in the way PUs are structured.
The IRIS SNA Scheduler is organized as a PU 2.1 node, which appears as a PU
2.0 node when seen from the host. As a PU 2.1 node, it can support multiple links, and, therefore, multiple SSCP-PU sessions. In this documentation, the term “PU” refers to one of these SSCP-PU sessions. When a PU is allocated, it means that the use of one of these sessions is allocated, and nothing more. Each of these PUs operates independently of the other. For instance, a dctpu verb received on one of these sessions resets all the LUs active on that link, but does not affect any other LU running in the IRIS SNA Scheduler.
When an LU is configured, the SSCP that controls it must be named. The DAF address for the LU must be unique for that SSCP’s LUs, but need not be unique node-wide. The local names of each LU and LU pool, however, must be unique node-wide.
An LU can also be designated as a member of a pool, a group of LUs that has been combined for use on the alnau verb. When a pool name is requested on the alnau verb, an IRIS SNA Scheduler selects one of the free LUs in the pool.
The system imposes no restriction on how LUs can be grouped into pools. The consideration should be that a user would not care which LU out of the pool was allocated when a pool name was requested on the alnau verb.
3.8
Integration with Other Verb Boundaries
A single program can issue verbs from all the verb types, if necessary. That is, a single program can allocate an LU to issue PI verbs, and it can also allocate and use LU 6.2 conversations. There are no particular restrictions involved in doing this. The program needs only to be aware of which resource type it is working on, and to issue the correct verbs for it.
IRIS SNA SERVER Programming Guide
3-13
3.9
Data Types
In the man pages, most of the parameters are defined as hex, shex, or lhex.
These data types are used so that the valid values for each parameter are always the same, regardless of the actual integer size of the particular machine.
Table 3-4 defines these three data types.
Data Type Definition
hex shex lhex num
An unsigned integer, ranging from 0x00 to 0xFF
An unsigned integer, ranging from 0x0000 to 0xFFFF
An unsigned integer, from 0x00000000 to 0xFFFFFFFF
A signed integer in the range of -32,768 to 32,767
Table 3-4
Data Types
The file ddityp.h contains the actual typed statement for each of these types.
This file is automatically included in the application when pgmin.h is included.
3.10
Data Structures
Each member (referred to in the following documentation as both parameter and field) of the data structure can be Supplied, Returned, or
Supplied/Returned.
• Supplied parameters are set by the application program.
• Returned parameters are set automatically by the successful operation of the verb.
• Supplied/Returned parameters are set by the application program when the verb is issued, but their value can change after the successful operation of the verb.
Initialization of every member of the structure is the responsibility of the application. This is particularly true of pointers, which must be set to null if they are not set to a specific address.
3-14
Programming with the LU 0-3 Verbs
Supplied parameters are further specified as Required, Conditional, or Optional.
• Required parameters must be set by the application program.
• Conditional parameters can have a value required, depending on the setting of another parameter.
• Optional parameters need not be set.
IRIS SNA SERVER Programming Guide
3-15
3-16
Programming with the LU 0-3 Verbs
Appendix A
Major and Minor Return Codes
This appendix lists and defines the return codes that may be displayed in the message line area of the Information Panel in the IRIS SNAView main window.
Table A-1 lists return codes for functions that complete normally. Table A-2 lists return codes for functions that are aborted. Table A-3 lists return codes for functions that do not complete normally. Table A-4 lists return codes for functions that terminate abnormally with state errors. Table A-5 lists return codes for allocation errors. Table A-6 lists return codes for program errors.
Table A-7 lists return codes for deallocation errors. Table A-8 lists return codes for node operator errors.
IRIS SNA SERVER Programming Guide
A-1
A-2
Major Minor Code
Code Code Meaning
00 0000 Completed normally.
Function completed normally.
00
00
0001 Completed as negotiated.
Function completed as negotiated.
0003 Data available. Returned by test conversation if data has arrived on the posted conversation.
00 0004 Control information available.
Returned by test conversation if control information has arrived on the posted conversation.
00 0086 Logic error.
Table A-1
Major Code 00 (S2_OK): Function Completed Normally
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
01 0001 Program not attached.
The transaction issued another verb before issuing an attach verb. The program must attach before calling other verbs.
01
01
0002 Duplicate attach attempted.
After a previous attach verb and before a detach verb, the transaction program attempted to reissue the attach verb.
0003 Invalid conversation ID (rsrc unknown).
The conversation specified in the cnvid parameter is not a valid conversation.
01
01
01
01
0004 Context not set.
0009 Null structure pointer parameter passed.
A verb was called with a null structure pointer as a parameter.
0010 Attach: path is a required parameter.
The configuration file path is required for attach and rattach.
0011 Attach: LU name is a required parameter.
The LU name is required for attach type AT_LU(0).
01 0012 Attach: Invalid attach type parameter.
Valid attach types for a transaction program are AT_LU(0)
AT_NODE(1).
Table A-2
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-3
A-4
Major Minor Code
Code Code Meaning
01 0013 Attach: LU unknown.
The specified LU is not configured.
01
01
0014 Attach: LU not available, limits reached.
The LU specified in the attach is not activated, or has already reached the configured limit of attached transaction programs.
0015 Attached: TP name is not configured.
The transaction program name specified in the request is not configured.
01
01
01
01
0016 Attach, rattach: Configuration file not authorized or invalid.
Cannot authorize attach.
The attach failed because the transaction program process does not have access permission to the node, the node is not active, or the attach verb configuration file parameter was incorrect.
0017 Rattach: Conversation ID required.
Conversation ID required for remote attach.
0018 Rattach: Invalid conversation ID for rattach.
The conversation specified in the remote attach is invalid or cannot be remotely attached.
0019 Attach, rattach: Invalid wait-time parameter.
Invalid wait-time. Valid wait parameters are 0, 1, 2, ..., or -1 to specify no maximum wait time.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
Major Minor Code
Code Code Meaning
01 0020 Attach: Not enough space. Attach rejected.
Not enough space to support the transaction program.
01 0021 Attach: SNA Scheduler TP limit reached. Attach rejected.
The SNA Scheduler process limit has been reached.
01
01
0022
0023
Attach: Not enough space in TP.
Attach: Pathname is too long.
0030 Alcnv: Partner (rlu) is a required parameter.
Remote LU name is required.
0031 Alcnv: Mode name is a required parameter.
Mode name is required.
0032 Alcnv: Program name (tpn) is a required parameter.
Remote transaction program name is required.
01
01
0033 Alcnv: Partner LU (rlu) not found. Remote LU unknown.
The specified remote LU is not configured for the attached LU.
0034 Alcnv: Mode not found. Mode unknown.
The specified mode is not configured between the remote LU and the attached LU.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-5
A-6
Major Minor Code
Code Code Meaning
01 0035 Alcnv: Invalid parameter (type).
Invalid alcnv type. Valid conversation types for alcnv are 0 for basic conversation and 1 for mapped conversation.
01
01
0036 Alcnv: Mapped verb interface not allowed. Mapped conversations not available.
Either the attached LU or the remote LU is not configured to support mapped conversations, or the transaction program name specified in the previous attach is not configured to support mapped conversations.
0037 Alcnv: Basic verb interface not allowed. Basic conversations not available.
The transaction program name specified in the previous attach is not configured to support basic conversations.
01
01
0038 Alcnv: Invalid parameter (when).
Invalid session allocation parameter. Valid session allocation parameters for alcnv are AC_WHEN(0), AC_DELAY(1), and
AC_IMMED(2).
0039 Alcnv: Delayed allocation not allowed. No delayed session allocation.
The attached LU is not configured to support delayed session allocation.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
01 0040 Alcnv: Immediate allocation not allowed. No immediate session allocation.
The attached LU is not configured to support delayed session allocation.
01
01
0041 Alcnv: Invalid parameter (sync).
Invalid sync-level parameter. Valid sync level parameters for
alcnv
are 0 for NONE and 1 for CONFIRM processing.
0042 Alcnv: Requested sync level not allowed. Requested sync level not available.
The requested sync-level support must be configured for the requested mode and for the transaction program name specified in the previous attach request.
01
01
01
0043
0044
Alcnv: PIP not allowed. No PIP data.
PIP data-support must be configured for the transaction program name specified in the previous attach request.
Alcnv: Invalid PIP length. PIP data too large.
Too many PIP parameters were passed in the PIP data, or the
PIP data exceeds the maximum length.
0045 Alcnv: Invalid parameter (sec).
Invalid security-level parameter. Valid security-level parameters are SEC_NONE(0), SEC_SAME(1), and
SEC_PGM(2).
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-7
A-8
01
01
01
Major Minor Code
Code Code Meaning
01 0046 Alcnv: Requested security not allowed. Requested security level not available.
The requested security-level support is not configured.
SEC_SAME(1) must be configured for the attached LU and the remote LU. SEC_PGM(2) must be configured for the attached
LU, the remote LU, and for the transaction program name specified in the previous attach request.
0047 Alcnv: Invalid format for user parameter.
0048 Alcnv: Invalid format for password parameter.
01
0049 Invalid mode name. Mode name SNASVCMG cannot be specified when using a mapped conversation.
0060 Cnfrm, cnfrmed: Conflict with conversation sync level.
Sync level conflict. A cnfrm or cnfrmed verb was attempted on a conversation that was allocated sync level NONE.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
01 0070 Dalcnv: Invalid parameter (type).
Invalid dalcnv type. Valid dalcnv types are:
DC_SYNC(1)
DC_FLUSH(2)
DC_AB_PGM(3)
DC_AB_SVC(4)
DC_AB_TMR(5)
DC_LOCAL(6)
DC_CNFRM(7)
Invalid mdalcnv types are:
DC_AB_PGM(3)
DC_AB_SVC(4)
DC_AB_TMR(5)
Valid mdalcnv types are:
DC_SYNC(1)
DC_FLUSH(2)
DC_LOCAL(6)
DC_CNFRM(7)
DC_ABEND(8)
01 0080 Prprcv: Invalid parameter (type).
Invalid prprcv type. Valid prprcv types are 0 for FLUSH and 1 for SYNC.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-9
A-10
01
01
01
Major Minor Code
Code Code Meaning
01 0081 Prprcv: Invalid parameter (lock).
Invalid prprcv lock parameter. Valid prprcv lock parameters are 0 for Short lock, and 1 for Long lock. This parameter is significant for prprcv type SYNC.
01 0090 Rcvwt, pstrct: Invalid parameter (fill).
Invalid fill parameters for rcvwt and pstrct are RW_BUFF(0) and RW_LL(1).
01
01
0091 Invalid parameter (length) cannot be negative.
Negative length is invalid. The length parameter is negative.
0100 Snddta: Invalid LL.
Invalid LL field. The data passed to snddta contains an invalid
LL field of 0x0000, 0x8000, or 0x8001.
01 0101 Snddta: Invalid LL within the data stream. PS headers not supported.
The data passed to snddta contains an LL field of 0x0001, which indicates a PS header. This is not supported.
0102 Mapping Error: Map name not found.
0103 Mapping Error: Map execution failure.
0104 Mapping Error: Duplicate map name.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
Major Minor Code
Code Code Meaning
01 0110 Snderr: Invalid parameter (type).
Invalid snderr type. Valid snderr types for transaction programs are SE_PGM(1) and SE_SVC(0).
0111 Snderr: SE_ALC(2) is reserved.
01
0120 Waitcv: Negative count value is invalid.
Negative waitcv count is invalid.
0121 Waitcv: Invalid conversation ID on list. Invalid conversation for waitcv.
The list parameter passed to waitcv contained an invalid conversation ID.
0122 Waitcv: Listed conversation ID does not have posting active.
01
0123 Waitcv: No conversation with posting is active.
If a list of conversations was passed to waitcv, none of the conversations had posting active. If no list was passed, then no conversations for the TP had posting active.
0124 Waitcv: List size (count) must be positive. Waitcv requires list
when non-zero count specified.
When the waitcv request specifies one or more conversations in the count parameter, those conversations must be passed in the list parameter. No list parameter was passed.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-11
A-12
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 0125 Waitcv: List size (count) too large. Waitcv list too large.
The number of conversations specified in the waitcv request exceeds the ability of the verb interface layer to process the request.
0130 Testcv: Invalid parameter (type).
0131 Testcv: Posting not active for conversation.
0140
0141
0300
0301
Setctx: Path required if tcbid is supplied.
Setctx: Requested context not found.
Not authorized to CO verbs. TP not authorized to the type of
Control Operator verb issued.
Requested limits are invalid.
Limits requested in CNOS verb are invalid.
01
01
01
0302 Service Manager Mode not initialized.
CNOS verb issued before service manager mode is initialized.
0310 Session limit of 0 is invalid.
Session limit must be greater than 0.
0311 Responsible value invalid.
Invalid responsible parameter.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 0312 C_maxs must be greater than c_minf + c_minb.
Sum of the minimum first-speaker sessions and the minimum bidder sessions cannot exceed session limit.
0313 Dctses: Invalid parameter (immediate).
0314 Rstsl: Invalid parameter (dtrg).
0315
0316
Rstsl: Invalid parameter (dsrc).
Rstsl: Invalid parameter (force).
01
0320
0321
Next session identifier not found.
Invalid session identifier.
0400
0401
Name must be less than 20 characters. Node Operator: String parameter too long.
Maximum name length is 20 characters.
Line is a required parameter. Node Operator: Line name is required.
01
01
0402 LU is a required parameter. Node Operator: LU name is required.
0403 PU is a required parameter. Node Operator: PU name is required.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-13
A-14
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 0404 Actsta: Invalid parameter (dial). Node Operator: Invalid dial parameter.
Valid dial parameters are 0, 1, 2.
01 0410 Rspque must be NULL. Node Operator: Response queue name unsupported this release.
0411 Chgmsgq: Severity must be between 0 and 99.
01
0501 Invalid local LU.
The fully qualified LU name of the local LU specified on the
dfnllu
is invalid.
0502 Invalid remote LU.
The value specified in the local LU session-limit parameter of the dfnllu verb is less than the sum of the currently defined LU mode session limits.
0503 Invalid mode.
0504 Invalid ALS.
0505 Invalid Send Pacing Window.
0506 Invalid Receive Pacing Window.
0507 Invalid Max RU Upper Bound.
0508 Invalid Max RU Lower Bound.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0509 Invalid Sync Level option.
0510 Invalid Single Session Reinitialization option.
0511 Invalid Cryptography option.
01
0512 Invalid Maximum Number Sessions.
Parallel-session support (YES) is specified on the dfnrlu verb but the local LU session limit is 1.
0513 Invalid Minimum Number First Speaker.
Parallel-session support (YES) and CNOS support (NO) are specified on the dfnrlu verb.
01 0514 Invalid Minimum Number First Prebound.
CNOS support (YES) and parallel-session support (NO) is not specified on the dfnrlu verb.
0516 Invalid Blank Mode option.
0517 Invalid Network Name operator.
0518
0519
0520
0521
Invalid Network Qualifier operator.
Invalid Network Name.
Invalid Network Qualifier.
Invalid Init Type.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-15
A-16
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 0522 Invalid Parallel Session option.
The fully qualified LU name of the remote LU specified on the
dfnmode
verb is not currently defined for the local LU.
0523
0524
Invalid CNOS ALS.
Invalid LU Password.
0525
0526
0527
0528
Invalid Security Acceptance option.
Invalid Password operation.
Invalid LU Session Limits.
Invalid Conversation Security.
0529
0530
0531
0532
0533
0534
Invalid Security operation.
Invalid User ID.
Invalid Password.
Invalid Profile.
Invalid Wait.
Invalid Max Number of TPs.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0535 Invalid LU ID Number.
0536 Invalid TP Name.
0537 Invalid Status.
0538 Invalid Conversation Type.
0539
0540
Invalid Security Required.
Invalid PIP option.
0541 Invalid PIP Number.
0542 Invalid PIP check.
0543 Invalid Data Mapping.
0544 Invalid FMH.
0545
0546
0550
0551
Invalid Privilege.
Invalid LUW Indicator.
Invalid LU.
Invalid Partner.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-17
A-18
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0552 Invalid ALS.
0553 Not enough space to complete operation.
0554 Invalid Remote PU.
0555 Invalid Line.
0556
0557
Logic error: LSCB not found.
Dfnsta: Associated Line not inactive.
0558 Logic error: ALCB not found.
0560 Dfnmode: Invalid Parameter.
0561 Dfnmode: Lower Bound exceeds Upper Bound.
0562 Dfnmode: Single Session Reinit not compatible with Partner.
0564
0565
0566
0567
Defend: Minf cannot be greater than maxs.
Dfnmode: Minpf cannot be greater than minf.
Dfnmode: Maxs not compatible with partner.
Dfnmode: Blank mode already exists.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0570 Dfnrlu: Cnosals and parallel session support not compatible.
0571 Dfnrlu: Parallel session support not compatible with maxs.
0574 Dfnrlu: Invalid reinit option for parallel-session support.
0575 Dfnrlu: CNOS also unknown.
0576
0577
Dfnrlu: Null net name already exists.
Dfnrlu: Parallel support not compatible with PU type.
0580 Logic error: drcb for local PU does not exist.
0581 Dfnllu: Session limits exceed LU session limits specified.
0582 Dfnllu: Network name specified after initsl.
0583 Dfnllu: Security parameters to be deleted not found.
0584
0585
0586
Dfnllu: LU ID already specified.
Dfnllu: LU ID must be specified when lucb is initialized.
Dfnllu: LU ID cannot be updated when session limit initialized.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-19
A-20
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 0590 Dfnllu: Security access parameters conflict with security required.
0591 Dfnllu: Security parameters to be deleted not found.
0600 Too many resources defined—no internal address available.
0601
0602
Invalid Exchange ID.
Invalid Master Device.
0603 Invalid Monitor Timer.
0604 Invalid NOOP Messages.
0605 Invalid LOG Messages.
0606 Invalid Debug Messages.
0607
0608
0609
0610
Invalid PU Name.
Invalid CPU ID.
Invalid Line Name.
Invalid Line Type.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0611 Invalid Device Name.
0612 Invalid SDLC Role.
0613 Invalid Connection Type.
0614 Invalid NRZI.
0615 Invalid Half-duplex.
0616 Invalid Max BTU.
0617 Invalid Max Retries.
0618 Invalid Idle.
0619 Invalid Nonprod Rcv Time.
0620 Invalid Max I-Frames.
0621 Invalid Rate.
0622 Invalid SDLC Address.
0623 Invalid Phone Name.
0624 Dfnsta: Exceeded maximum number of stations (8).
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-21
A-22
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0626 Dfnline: Multidrop specified and role not primary.
0627 Dfnsta: One station already defined for leased line.
0628 Dfnline: Line already exists.
0630 Dfnsta: Line not specified.
0631
0632
Dfnsta: PU not specified.
Dfnsta: Station already exists.
0634 Dspline: Invalid line name.
0635 Dspline: End of line list.
0636 Dspline: No lines defined.
0637 Dspcp: Invalid control point name.
0638
0639
0640
0641
Dspcp: End of PU list.
Dspcp: No PUs defined.
Dltcbl: Mode unknown.
Dltcbl: TP Name unknown.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0642 Dltcbl: Object is in use.
0646 Dltcbl: Local LU name not specified.
0647 Dltcbl: Remote LU name not specified.
0648 Dltcbl: No parameters specified.
0650
0651
Dfnrpu: Neither XID or CPID specified.
Dfnrpu: Both XID and CPID specified.
0659 Control point is not a host.
0660 Dspllu: Userid invalid.
0661 Dspllu: End of security list.
0662 No userid found.
0663
0664
0665
Dspllu: Invalid profile.
Dspllu: Invalid LU name.
Dspllu: End of LU list.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-23
A-24
01
01
01
01
01
01
01
01
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0666 Dspllu: No LU defined.
0667 Dsprlu: Invalid Remote LU name.
0668 Dsprlu: No more Remote LUs.
0669 Dsprlu: No Remote LUs defined.
0670
0671
Dspmode: Invalid mode name.
Dspmode: End of mode list.
0672 Dspmode: No modes defined.
0673 Dsptp: Invalid TP name.
0674 Dsptp: End of TP list.
0675 Dsptp: No TP defined.
0676
0677
0691
0692
Dsptp: No Network Name.
Invalid NEXT parameter value.
Control point name is required.
No more remote LUs or secondary LUs.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
01
01
01
01
Major Minor Code
Code Code Meaning
0693 LU_ID value does not match any LU.
0830 User crash code not described.
01
01
0850 s2_schd is not active.
The SNA Scheduler is not active.
0860 s2_schd has terminated abnormally.
The SNA Scheduler is no longer active. The transaction program has been detached.
01
01
0870
0880
0890
0900
Time out—request not recovered.
Time out—request recovered.
Time out—message queue full.
Verb logic error.
An internal logic error occurred while processing the verb.
0901 Duplicate s2_tpi.
Duplicate TPI attach attempted.
1000 Invalid NAU name.
The NAU must be no greater than eight characters and all characters must be of symbol-string Type A.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-25
A-26
01
01
01
01
01
Major Minor Code
Code Code Meaning
01 1001 Invalid NAU type.
Valid values are P_PU and P_LU.
01
01
1002 Invalid when parameter.
Valid values for sndru are P_WHEN and P_NONE. Valid values for alnau are P_WHEN and P_IMMED.
1003 Invalid block parameter.
Valid values are P_BLOCK and P_NBLOCK.
01 1004 Invalid bind parameter.
Buffer length is greater than zero and no bind pointer supplied.
1005 Resources temporarily unavailable. Retry.
1006 Not enough TP space to allocate another NAU.
1008 Not enough resources.
An attempt was made to send an RU that exceeds the maximum send size when sndru is issued in non-blocking mode.
1009 Null structure pointer supplied to a PI verb.
1010 Invalid structure type supplied for initpi.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
01
01
Major Minor Code
Code Code Meaning
01 1011 NAU identifier invalid.
The NAU identifier supplied on the verb call is not the nauid of a currently allocated NAU.
01
01
01
1012 Specified NAU not allocated.
An attempt was made to use the nauid of an NAU that is pending allocation.
1013 Invalid svcid.
Service identifier is not one of the valid values or is inconsistent with the NAU type specified on the alnau verb.
1014 The pointer to the pru structure is NULL.
This is a required field.
01
01
1015 The RU command is zero.
1016 The pointer to the RU buffer is NULL.
In this verb call, the RU buffer is required.
1017 The pointer to the ufsm structure is NULL.
This is a required field for the gfsm verb.
1018 RU sense data is required.
Zero is an invalid value.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-27
A-28
Major Minor Code
Code Code Meaning
01 1019 The flow parameter of the ssync verb is invalid.
Valid values are P_SND, P_RCV, and P_FLOW.
01
01
1020 The wait parameter is invalid.
Valid values are P_WAIT, P_NOWAIT, or a positive numeric value representing the time, in seconds, that the verb should wait.
1021 The loc_pac parameter is invalid.
This is an optional field, but if specified, valid values are
P_PACE and P_NPACE.
01
01
01
01
1022 Required UFSM pointer is NULL.
The pointer to the ufsm structure is NULL.
This field is required on the rcvru verb and on the alnau verb issued with block = P_BLOCK.
1023 svcid inconsistent with NAU type.
The svcid parameter is compatible with the nau type of the specified NAU.
1024 The dfnslu verb was issued while LU 0-3 was not configured by the configuration manager.
1025 LU not defined.
A secondary LU with the name specified in naunm is not currently defined.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
01 1026 LU not available.
The LU specified on the alnau verb is already allocated.
01
01
1027 PU not defined.
A PU with the name specified in naunm is not currently defined.
1028 PU not available.
The PU specified on the alnau verb is already allocated.
01
01
01
01
01
1030 Attach type is not specified.
The Transaction Program that issued the verb did not attach with attach type AT_ANODE or AT_ALU.
1031 Send check.
The reply to the sndru verb received from the SNA Scheduler indicated a send check.
1032 Negative response.
The reply to the sndru verb received from the SNA Scheduler indicated a negative response.
1033 Receive check.
The reply to the sndru verb received from the SNA Scheduler indicated a receive check.
1034 Session lost.
Table A-2 (continued)
Major Code 01 (S2_USAGE): Function Aborted, Usage Error
IRIS SNA SERVER Programming Guide
A-29
A-30
02
02
Major Minor Code
Code Code Meaning
0001 No information for conversation.
0002 Conversation not posted.
02 0003 Request-to-send not received.
Table A-3
Major Code 02 (S2_UNSUC): Completed Unsuccessfully
Major Minor Code
Code Code Meaning
03 0001 Conversation State error.
Request is illegal in the current conversation state.
03
03
0002 Logical Record State error.
Request is illegal because the current logical record has not been completed.
0003 Conv for waitcv not S2_RECV.
A conversation specified in the waitcv request is not in receive state.
Table A-4
Major Code 03 (S2_STATE): Function Aborted, State Error
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
05 0001 Remote TP not available—no retry.
The transaction program could not be started on the remote system because of a lack of resources, which is not temporary.
Retry is not suggested.
05 0002 Remote TP not available—retry.
The transaction program could not be started on the remote system because of a temporary resource shortage. Retry is suggested.
05
05
05
0003 Remote LU does not support conversation type.
The remote LU does not support the requested conversation type.
0004 PIP data not supported by remote.
Program initialization data is not supported by the remote LU.
0005 PIP specification error.
Program initialization data was specified incorrectly.
05 0006 Invalid access security information.
Security information was not specified correctly.
0007 Remote program does not support requested sync level.
05
05 0008 Remote TP not recognized by remote LU.
The transaction program requested was not recognized at the remote LU.
05 0009 Allocation failure—no retry.
Table A-5
Major Code 05 (S2_ALCER): Allocation Error
IRIS SNA SERVER Programming Guide
A-31
A-32
05
05
05
05
05
05
Major Minor Code
Code Code Meaning
0010 Allocation failure—retry.
0011 First Speaker session not available.
The session is not immediately available.
0012 Local resource allocation failure.
0013 Cannot authorize security access.
0022
0099
Allocation rejected by Resource Manager.
Unknown sense code data received.
Table A-5 (continued)
Major Code 05 (S2_ALCER): Allocation Error
Major and Minor Return Codes
Major Minor Code
Code Code Meaning
07 0001 Program Error: Current logical record not truncated.
Partner has reported a program error; the current logical record was not truncated.
07
07
0002 Program Error: Current logical record truncated.
Partner has reported a program error; current logical record was truncated.
0003 Program Error: Data may have been purged.
Partner has reported a program error; current logical record may have been purged.
07 0011 Service Error: Current logical record not truncated.
Service Transaction Program has reported an error; current logical record was not truncated.
07
07
0012 Service Error: Current logical record was truncated.
Service Transaction Program has reported an error; current logical record was truncated.
0013 Service Error: Data may have been purged.
Service transaction program has reported a program error; current logical record may have been purged.
0020 Mapping Error: FMH not supported.
07
07 0021 Mapping Error: Mapping not supported.
Table A-6
Major Code 07 (S2_PGMER): Program Error
IRIS SNA SERVER Programming Guide
A-33
A-34
Major Minor Code
Code Code Meaning
09 0000 Normal deallocation by partner.
Partner has deallocated the conversation.
09 0001 Abnormal deallocation by partner.
Partner has terminated the conversation abnormally.
09
09
0002 Abnormal deallocation by service program.
A service transaction program has terminated the conversation abnormally.
0003 Abnormal deallocation verb time-out.
Time-out has occurred.
09 0004 Abnormal deallocation, Session Failure.
The session has failed.
09 0005 Abnormal deallocation by partner.
Table A-7
Major Code 09 (S2_DEALC): Deallocated
Major and Minor Return Codes
10
10
10
10
10
10
10
10
10
Major Minor Code
Code Code Meaning
0063 Limits not zero.
0064 Requested limits exceed configuration.
This error should be interpreted as
ACTIVATION_FAILURE_RETRY.
10
10
0065 Sum of minimums exceed maximum session.
The sum of the minimum first-speaker and bidder sessions exceeds the requested maximum.
0066 Invalid SNASVCMG limits.
SNASVCMG limits must be 2: 1 bidder and 1 first speaker.
0067
0068
0069
SNASVCMG mode not initialized.
Mode limits are closed.
Chgsl not valid for this mode.
0070 SNASVCMG mode not reset, other modes still not reset.
SNASVCMG mode cannot be reset because user modes are still open.
0071 CNOS race with remote—remote won.
0072 Partner does not recognize mode.
0073 CNOS is in process locally.
Table A-7 (continued)
Major Code 09 (S2_DEALC): Deallocated
IRIS SNA SERVER Programming Guide
A-35
A-36
10
10
10
10
10
Major Minor Code
Code Code Meaning
0074 CNOS allocation error.
0075 CNOS resource failure.
The SNASVCMG session with the partner LU either could not be started or failed.
0076 Insufficient space for a new session.
0077 Partner LU is not active.
0078 Modes incompatible: session not started.
Table A-7 (continued)
Major Code 09 (S2_DEALC): Deallocated
Major and Minor Return Codes
11
11
11
11
11
11
Major Minor Code
Code Code Meaning
0001 Node operator verb failure.
0002 Node operator verb not recognized.
11 0003 Attach of type AT_NODE.
Transaction Program must attach with type AT_NODE to use node operator verbs.
0010 Link name not recognized.
0011
0012
0013
Adjacent link station not recognized.
Physical unit not recognized.
Earlier request still active.
11
11
11
11
0014
0015
0016
0017
Dial in or dial out required.
Logical unit name not recognized.
Message queue name not recognized.
Message queue not enabled.
11 0018 No message in message queue.
Table A-8
Major Code 11 (S2_NPERR): Node Operator Error
IRIS SNA SERVER Programming Guide
A-37
A-38
11
11
11
11
11
11
Major Minor Code
Code Code Meaning
11 0100 Actpu failure.
0110 Actlu failure.
0120 Dctpu failure.
0130 Dctlu failure.
0140 Chgmsgq failure.
0150 Dspmsgq failure.
0190 Rtvnmsg failure.
Table A-8 (continued)
Major Code 11 (S2_NPERR): Node Operator Error
Major and Minor Return Codes
Appendix B
Supported SNA Request Units
This appendix lists all request units (RUs) that can be sent or received by a transaction program that uses IRIS SNA LU 0-3. The RUs can be sent as requests, positive responses, or negative responses.
In most cases, the value assigned to the constants represent the corresponding
SNA-defined request code. The following constants were assigned different values so that each constant has a unique value: P_NSPE, P_INTSLF,
P_TRMSLF, P_RECFMS, P_REQMS.
B.1
Sending RUs
When sending request RUs, use the sndru verb and if a positive or negative response is sent, use the accru or rejru verb, respectively. Table B-1 shows the
ru_cmd parameter and whether RU is a request or response. The ru parameter is specified as being Required, Not Required, or Optional.
IRIS SNA SERVER Programming Guide
B-1
B-2 ru_cmd ru
P_BID
P_BIND
P_CANCEL
P_CHASE
P_CHASE
P_DAT
P_DAT
P_ECHTST
P_INTSLF
P_LUSTAT
P_NMVT
P_NMVT
P_NOTIFY
P_QC
P_QEC
P_RECFMS
P_RELQ
P_REQECH
P_REQMS
P_RQR
P_RSHUTD
P_RTR
P_SHUTC
P_SIGNAL
P_SIGNAL
P_TRMSLF
P_UNBIND
Response
Response
Request
Request
Response
Response
Request
Response
Request
Request
Request
Response
Request
Request
Request
Request
Request
Request
Response
Request
Request
Request
Request
Request
Response
Request
Request
Table B-1
ru_cmd and ru Parameters for Sending RUs
Not Required
Optional
Not Required
Not Required
Not Required
Not Required
Optional (ru_len=0)
Not Required
Required
Required
Required
Not Required
Required
Not Required
Not Required
Required
Not Required
Required
Not Required
Not Required
Not Required
Not Required
Not Required
Required
Not Required
Required
Not Required
Supported SNA Request Units
B.2
Receiving RUs
The receiving RUs can be requests or responses. The type is indicated in the
r
u_cmd and wht_rcv parameters. Respond to the wht_rcv types of P_FMH,
FMH, P_DATA, and P_SNA by using the accru or rejru verb. The layout of the
wht_rcv type P_NOTIF is found in Appendix C, "Notification Events."
Table B-2 shows the receiving RU parameters.
ru_cmd wht_rcv
P_ACTLU
P_ACTPU
P_BID
P_BIND
P_CANCEL
P_CANCEL
P_CHASE
P_CHASE
P_CLEAR
P_DACTLU
P_DACTPU
P_DAT
P_DAT
P_ECHTST
P_INTSLF
P_LUSTAT
P_LUSTAT
Request
Request
Request
Request
Request
Response
Request
Response
Request
Request
Request
Request
Response
Request
Response
Request
Response
Table B-2
The ru_cmd and wht_rcv Parameters for Sending RUs
P_NOTIF
P_NOTIF
P_SNA
P_SNA
P_NOTIF
P_NRSP/P_PRSP
P_SNA
P_NRSP/P_PRSP
P_NOTIF
P_NOTIF
P_NOTIF
P_DATA/P_FMH
P_NRSP/P_PRSP
P_SNA
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
IRIS SNA SERVER Programming Guide
B-3
B-4 ru_cmd
P_NMVT
P_NMVT
P_NOTIFY
P_NOTIFY
P_NSPE
P_QC
P_QC
P_QEC
P_QEC
P_RECFMS
P_RELQ
P_RELQ
P_REQECH
P_REQMS
P_RQR
P_RSHUTD
P_RTR
P_SDT
P_SHUTC
P_SHUTD
P_SIGNAL
P_SIGNAL
P_STSN
P_TRMSLF
P_UNBIND
P_UNBIND
Request
Response
Request
Response
Request
Request
Response
Request
Response
Response
Request
Response
Response
Request
Response
Response
Response
Request
Response
Request
Request
Response
Request
Response
Request
Response
Table B-2 (continued)
The ru_cmd and wht_rcv Parameters for Sending RUs
wht_rcv
P_SNA
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
P_NOTIF
P_NOTIF
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
P_NRSP/P_PRSP
P_SNA
P_NRSP/P_PRSP
P_NRSP/P_PRSP
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
P_NOTIF
P_SNA
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
P_NOTIF
P_NRSP/P_PRSP
Supported SNA Request Units
Appendix C
Notification Events
An rcvru verb can be completed because of events reported as notifications.
When a notification occurs, the wht_rcv parameter of the rcvru verb is set to
P_NOTIF and the type of notification is reported in the ru_cmd parameter. The notification can be of three types:
• An asynchronous response message to a verb issued by the transaction program
• A special event, such as a P_EN_PRG indication
• An SNA request that has been responded to by the IRIS SNA Scheduler, where only the event is reported
IRIS SNA SERVER Programming Guide
C-1
C.1
Valid Notifications
Valid ru_cmd Description
P_ACTLU
P_ACTPU
P_ALNAU
P_BETB
P_CANCEL
P_CLEAR
P_DACTLU
P_DACTPU
P_EN_PRG
P_GSYNC
P_LUSTAT
P_NOTIFY
P_NSPE
P_QC
P_QEC
P_RCVCHK
P_RELQ
P_SDT
P_SNDCHK
P_SHUTD
P_SNDRU
P_SSYNC
P_STSN
P_UNBIND
An ACTLU RU has been received and responded to.
An ACTPU RU has been received and responded to.
An alnau reply message.
A between-bracket notification.
A CANCEL RU has been received and responded to.
A CLEAR RU has been received and responded to.
A DACTLU RU has been received and responded to.
A DACTPU RU has been received and responded to.
A complete chain has been purged.
A gsync reply message.
An LUSTAT RU has been received and responded to.
A NOTIFY RU has been received and responded to.
An NSPE RU has been received and responded to.
A QC RU has been received and responded to.
A QEC RU has been received and responded to.
The IRIS SNA Scheduler detected a receive check error.
A RELQ RU has been received and responded to.
An SDT RU has been received and responded to.
A send check error was detected by the IRIS SNA
Scheduler.
A SHUTD RU has been received and responded to.
A sndru reply message.
An ssync reply message.
An STSN RU has been received and responded to.
An UNBIND RU has been received and responded to.
Table C-1
Valid Notifications
C-2
Notification Events
C.2
Layout of the rcvru Verb
The layout of the rcvru verb for each valid event follows. Only the pru structure parameters are described.
P_ACTLU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_ACTLU
Not applicable
Sequence number of the RU
Indicators of the ACTLU response
The ACTLU response RU
Meaning: The ACTLU request has been received from the host. If a
"cold" activation is executed, the LU-LU half-session is terminated and the LU enters the P02_NAU state. If an "ERP" activation is executed, the LU-LU half-session is not affected and the LU remains in the current state. Applicable only if LU services are allocated.
IRIS SNA SERVER Programming Guide
C-3
C-4
P_ACTPU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_ACTPU
Not applicable
Sequence number of the RU
Indicators of the ACTPU response
The ACTPU response RU
Meaning: The ACTPU request has been received and responded to and the SSCP-PU half-session is active. Applicable only if PU services are allocated.
P_ALNAU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
Length of information in the ru parameter
P_ALNAU
Not applicable
Not applicable
Not applicable contains: byte 0 snamaj byte 2 snamin byte 4 bind_len (meaningful only if LU services) byte 6 bind (meaningful only if LU services)
Meaning: The asynchronous reply to the allocation request is returned in this notification.
Notification Events
P_BETB
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Not applicable
Not applicable
P_BETB
Not applicable
Not applicable
Not applicable
Not applicable
Meaning: Signals that the session is between brackets.
P_CANCEL
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_CANCEL
Not applicable
Sequence number of the RU
Indicators of the CANCEL response
The CANCEL response RU
Meaning: A CANCEL request has been received and responded to by the IRIS SNA Scheduler. No more RUs of the cancelled RU chain are received after this notification. Applicable only if
LU services are allocated.
IRIS SNA SERVER Programming Guide
C-5
C-6
P_CLEAR
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_CLEAR
Not applicable
Sequence number of the RU
Indicators of the CLEAR response returned
The CLEAR response RU
Meaning: A CLEAR request has been received and responded to. The
LU enters the P05_NAU state. Applicable only if LU services are allocated.
P_DACTLU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_DACTLU
Not applicable
Sequence number of the RU
Indicators of the DACTLU request
The DACTLU request RU
Meaning: The DACTLU request has been received from the host and responded to by the IRIS SNA Scheduler. The LU enters the
P01_NAU state. Applicable only if LU services are allocated.
Notification Events
P_DACTPU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_DACTPU
Not applicable
Sequence number of the RU
Indicators of the DACTPU response
The DACTPU response RU
Meaning: The DACTPU request has been received and responded to and the SSCP-PU half-session is reset. Applicable only if PU services are allocated.
P_EN_PRG
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
0
P_EN_PRG
Not applicable
Not applicable
Not applicable
Not applicable
Meaning: An RU chain that has been rejected by the user has been purged up to the end of the chain by the IRIS SNA Scheduler.
Applicable only if LU services are allocated.
IRIS SNA SERVER Programming Guide
C-7
C-8
P_GSYNC
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
The correlation ID returned on the gsync verb
Supplied parameter
Length of information in ru parameter
P_GSYNC
Not applicable
Not applicable
Not applicable contains: byte 0 snamaj byte 2 snamin byte 4 snd_seq byte 6 snd_res byte 8 snd_upd byte 10 rcv_seq byte 12 rcv_res byte 14 rcv_upd
Meaning: This is the asynchronous reply message to a gsync verb issued with a P_NBLOCK parameter. The sync-point information is returned in the gsync_ds of the ru. Applicable only if LU services are allocated.
Notification Events
P_LUSTAT
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_LUSTAT
Not applicable
Sequence number of the RU
Indicators of the LUSTAT request
The LUSTAT request RU
Meaning: The LUSTAT request has been received and responded to by the IRIS SNA Scheduler. Applicable only if LU services are allocated.
P_NOTIFY
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_NOTIFY
Not applicable
Sequence number of the RU
Indicators of the NOTIFY request
The NOTIFY request RU
Meaning: The NOTIFY request has been received from the host and responded to by the IRIS SNA Scheduler. Applicable only if
LU services are allocated.
IRIS SNA SERVER Programming Guide
C-9
C-10
P_NSPE
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_NSPE
Not applicable
Sequence number of the RU
Indicators of the NSPE request
The NSPE request RU
Meaning: The NSPE request has been received from the host after receipt of a positive INITSELF or TERMSELF response. The
RU has been responded to by the IRIS SNA Scheduler.
Applicable only if LU services are allocated.
P_QC
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_QC
Not applicable
Sequence number of the RU
Indicators of the QC response
The QC response RU
Meaning: The QC request has been received and responded to. The LU enters a state where no more normal flow data is received.
Applicable only if LU services are allocated.
Notification Events
P_QEC
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_QEC
Not applicable
Sequence number of the RU
Indicators of the QEC response
The QEC response RU
Meaning: The QEC request has been received and responded to by the
IRIS SNA Scheduler. The transaction program is asked to stop sending normal flow data at the end of the current RU chain.
Upon completion of the current RU chain, the transaction program should send a QC request. Applicable only if LU services are allocated.
P_RCVCHK
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Correlation ID returned on the accru or rejru verb
Supplied parameter
Length of information in the ru parameter
P_RCVCHK
Receive check
Not applicable
Not applicable snamaj snamin
Meaning: A receive check was detected by the IRIS SNA Scheduler.
IRIS SNA SERVER Programming Guide
C-11
C-12
P_RELQ
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_RELQ
Not applicable
Sequence number of the RU
Indicators of the RELQ response
The RELQ response RU
Meaning: The RELQ request has been received and responded to by the
IRIS SNA Scheduler. The transaction program may start sending normal flow data. Applicable only if LU services are allocated.
P_SDT
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_SDT
Not applicable
Sequence number of the RU
Indicators of the SDT response
The SDT response RU
Meaning: An SDT request has been received and responded to by the
IRIS SNA Scheduler. The LU enters the P16_NAU state.
Applicable only if LU services are allocated.
Notification Events
P_SNDCHK
loc_cor buf_len ru_len ru_cmd sense ru_seq grh_ind ru
Correlation ID returned on the accru, rejru, or sndru verb
Supplied parameter
Length of information in ru parameter
P_SNDCHK
Send check
Not applicable
Not applicable snamaj snamin
Meaning: A send check was detected by the IRIS SNA Scheduler.
P_SHUTD
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_SHUTD
Not applicable
Sequence number of the RU
Indicators of the SHUTD response
The SHUTD response RU
Meaning: A SHUTD request has been received and responded to as the first step in an orderly takedown of the LU-LU half-session.
The transaction program is asked to stop sending normal flow data when convenient and to return a SHUTC request when finished. Applicable only if LU services are allocated.
IRIS SNA SERVER Programming Guide
C-13
C-14
P_SNDRU
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Correlation ID returned on the sndru verb
Supplied parameter
Length of information in the ru parameter
P_SNDRU
Sense code if a negative response is received
Sequence number assigned to the RU sent
Not applicable contains: byte 0 snamaj byte 2 snamin
Meaning: This is the asynchronous reply message to an sndru verb issued with block set to P_NBLOCK and when set to P_WHEN.
P_SSYNC
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Correlation ID returned on the ssync verb
Supplied parameter
Length of information in the ru parameter
P_SSYNC
Not applicable
Not applicable
Not applicable contains: byte 0 snamaj byte 2 snamin
Meaning: This is the asynchronous reply message to an ssync verb issued with block set to P_NBLOCK. Applicable only if LU services are allocated.
Notification Events
P_STSN
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_STSN
Not applicable
Sequence number of the RU
Indicators of the STSN response
The STSN response RU
Meaning: Host-initiated resynchronization of send and receive syncpoint sequence numbers has been executed via the exchange of STSN request and response. The result of the resynchronization may be retrieved via the gsync verb.
Applicable only if LU services are allocated.
P_UNBIND
loc_cor buf_len ru_len ru_cmd sense ru_seq rh_ind ru
Not applicable
Supplied parameter
RU size
P_UNBIND
Not applicable
Sequence number of the RU
Indicators of the UNBIND request
The UNBIND request RU
Meaning: An UNBIND request has been received and responded to by the IRIS SNA Scheduler. The LU-LU half-session is terminated. The LU enters the P02_NAU state. Applicable only if LU services are allocated.
IRIS SNA SERVER Programming Guide
C-15
C-16
Notification Events
Appendix D
LU Finite-State Machines
To be able to fully control the SSCP-LU and LU-LU half-sessions of an LU in all details, the LU finite-state machine fsm_lu may be retrieved by the application via the gfsm verb. The fsm_lu contains most of IBM's FAPLdefined finite-state machines of the Data Flow Control and Transmission
Control layers.
IRIS SNA SERVER Programming Guide
D-1
D-2
The fsm_lu is a structure with the following members: hex
cp_sess
hex hex hex hex hex hex hex hex hex hex hex hex hex
cp_im_s lu_sess chain_r chain_s qec_r qec_s rtr_fsp shutd_r lu_im_s dt_r rqr_s stsn_r pac_s
DFC SSCP-LU session status
DFC SSCP-LU immediate request mode send
DFC LU-LU session status status
DFC LU-LU chain receive
DFC LU-LU chain send
DFC LU-LU quiesce receive
DFC LU-LU quiesce send
DFC LU-LU ready to receive first speaker
DFC LU-LU shutdown receive
DFC LU-LU immediate request mode send
TC LU-LU data traffic receive
TC LU-LU request recovery send
TC LU-LU set and test sequence numbers receive
TC LU-LU pacing send
LU Finite-State Machines
cp_sess
is the finite-state machine used to control the state of the secondary
SSCP-LU half-session. The following states are maintained by this FSM:
P01_CPLU
P02_CPLU
P03_CPLU
P04_CPLU
P05_CPLU
Reset.
An ACTLU has been received but not responded to.
An ACTLU has been positively responded to.
A DACTLU (not SON) has been received but not responded to.
A DACTLU (SON) has been received but not responded to.
cp_im_s
is the finite-state machine used to enforce the immediate request mode protocol for the normal flow of the SSCP-LU session. The following states are maintained by this FSM:
P01_CPIM
P02_CPIM
P03_CPIM
P04_CPIM
P05_CPIM
Not in chain, no definite response required.
Definite response required, CANCEL not sent.
In chain.
Response received while in chain.
Definite response to CANCEL required.
IRIS SNA SERVER Programming Guide
D-3
D-4
lu_sess
is the finite-state machine used to control the state of the secondary
LU-LU half-session. This state and the remainder of the states in this structure refer to the LU_LU session. The following states are maintained by this FSM:
P01_LULU
P02_LULU
P03_LULU
P04_LULU
P05_LULU
P06_LULU
P07_LULU
Reset.
A BIND has been received but not responded to.
A BIND has been positively responded to.
An UNBIND (not SON) has been received but not responded to.
An UNBIND has been sent but not responded to.
An UNBIND has been both sent and received but not responded to.
An UNBIND (SON) has been received but not responded to.
chain_r
is used to enforce the chaining protocol for received chains. The following states are maintained by this FSM:
P01_CHNR
P02_CHNR
P03_CHNR
Between chain.
In chain.
Purge up to end of chain.
chain_s
is used to enforce the chaining protocol for sending chains. The following states are maintained by this FSM:
P01_CHNS
P02_CHNS
Between chain.
In chain.
LU Finite-State Machines
qec_r
is used to enforce the quiesce protocol for the half-session that received the Quiesce-at-End-of-Chain (QEC) request. The following states are maintained by this FSM:
P01_QECR
P02_QECR
P03_QECR
QEC not received or not yet responded to.
Positive response sent to QEC.
QC sent.
qec_s
is used to enforce the quiesce protocol for the half-session that sent the
QEC request. The following states are maintained by this FSM:
P01_QECS
P02_QECS
P03_QECS
QEC not sent or no QEC-response received.
Positive response received to QEC
QC received.
rtr_fsp
is used to enforce the Ready-to-Receive (RTR) portion of the bracket protocol for the first speaker. The following states are maintained by this FSM:
P01_RTRF
P02_RTRF
Transmission of RTR not required.
RTR should be sent.
shutd_r
is used to enforce the shutdown protocol for the half-session that receives the Shutdown (SHUTD). The following states are maintained by this
FSM:
P01_SHDR
P02_SHDR
P03_SHDR
No SHUTD received or no SHUTD-response sent.
Positive response sent to SHUTD.
Positive SHUTC-response received.
IRIS SNA SERVER Programming Guide
D-5
D-6
lu_im_s
is used to enforce the immediate request mode protocol for normal flow. The following states are maintained by this FSM:
P01_LUIM
P02_LUIM
P03_LUIM
P04_LUIM
P05_LUIM
Reset.
Sent RQD, no cancel.
In chain.
In chain, response received.
Sent RQD, cancel.
dt_r
is used to record the ability for data to flow on the LU-LU session. The following states are maintained by this FSM:
P01_DTR
P02_DTR
P03_DTR
P04_DTR
Reset.
An SDT is being processed.
All traffic may flow.
A CLEAR is being processed.
rqr_s
records if a Request Recovery (RQR) request has been sent. The following states are maintained by this FSM:
P01_RQRS
P02_RQRS
No outstanding RQR.
RQR outstanding.
stsn_r
records the receipt of the Set and Test Sequence Numbers (STSN) request. The following states are maintained by this FSM:
P01_STSN
P02_STSN
No outstanding STSN.
STSN outstanding.
pac_s
records the ability to send a session-level pacing request for send pacing.
The following states are maintained by this FSM:
P01_PACS
P02_PACS
A pacing request may be sent.
Pacing request sent but no response received.
LU Finite-State Machines
Appendix E
PU Finite-State Machines
The PU finite-state machines returned by the gfsm verb structure fsm_pu holds the current state of some of the finite-state machines used in the PU.
The fsm_lu is a structure with the following members: hex
sess
SSCP-PU session status hex
im_rq_s
Immediate request mode send
sess
is used to record the secondary SSCP-PU half-session state. The following values are defined:
P01_CPPU
P02_CPPU
P03_CPPU
P04_CPPU
P05_CPPU
Reset.
An ACTPU has been received but not responded to.
An ACTPU has been positively responded to.
A DACTPU (not SON) has been received but not responded to.
A DACTPU (SON) has been received but not responded to.
IRIS SNA SERVER Programming Guide
E-1
im_rq_s
is used to enforce the immediate request mode protocol. The following states are maintained:
P01_IMRQ
P02_IMRQ
P03_IMRQ
P04_IMRQ
P05_IMRQ
Not in chain, no definite response required.
Definite response required, CANCEL not sent.
In chain.
Response received while in chain.
Definite response to CANCEL required.
E-2
PU Finite-State Machines
Appendix F
State Definition
The status of an allocated NAU is maintained in the naustat variable, which contains valid information if the snastat variable indicates that the NAU is allocated. The naustat variable is returned on the alnau, gfsm, and rcvru verbs in the ufsm structure.
The values assigned to the naustat constants are organized in an increasing order that can be used by the application in testing for a specific condition. For example, data traffic on the LU-LU session is not allowed if naustat is less than
P06_NAU. Even though more than one state can be valid at the same time, the state contained in the naustat variable is considered to be the most important of the valid states. The naustat is sufficient for most transaction programs to perform the actions required by SNA protocol.
The information presented in this appendix describes valid states for LU and PU services, depending on which was selected at allocation time.
A recommended action is provided for each state.
Table F-1 lists the valid states for LU services.
IRIS SNA SERVER Programming Guide
F-1
F-2
State Description
P01_NAU
P02_NAU
P03_NAU
P04_NAU
P05_NAU
P06_NAU
P07_NAU
P08_NAU
P09_NAU
P10_NAU
P11_NAU
P12_NAU
P13_NAU
P14_NAU
P15_NAU
P16_NAU
Pending ACTLU
SSCP-LU half-session active
Pending BIND
Pending BIND response
Data traffic reset
Pending UNBIND
Pending QC and receive flow quiesced
Pending QC
Pending SHUTC and send flow quiesced
Pending SHUTC and receive flow quiesced
Pending SHUTC
Send and receive flow quiesced
Send flow quiesced
Receive flow quiesced
Pending RTR
Data traffic allowed
Table F-1
Valid States for LU Services
Table F-2 lists the valid states for PU services.
State Description
P01_NAU
P02_NAU
Pending ACTPU
SSCP-PU half-session active
Table F-2
Valid States for PU Services
State Definition
F.1
Naustat: LU Services
P01_NAU
ACTLU has not been received. Neither the SSCP-LU nor the
LU-LU session is active.
Recommended Action: Wait for the notification of the ACTLU via an rcvru verb.
P02_NAU
The SSCP-LU half-session has been activated by an ACTLU request from the host. The transaction program may send data on the SSCP-LU half-session, and LU-LU session initiation may start. The transaction program may send an
INITSELF request or a character-coded login to activate the
LU-LU half-session, or it may wait for the host to start the session via a BIND request.
Recommended Action: Send an INITSELF RU or charactercoded login to the SSCP via the sndru verb or wait for the
BIND RU via a rcvru verb if automatic login by the host.
Note:
If a previous login has failed, delay the next try to avoid streaming logins to the host.
P03_NAU
The user has initiated the establishment of an LU-LU halfsession by sending an INITSELF request and a positive response has been received from the host. A BIND request is expected from the host that would change the state to
P04_NAU.
Recommended Action: Wait for the BIND RU via an rcvru verb.
IRIS SNA SERVER Programming Guide
F-3
F-4
P04_NAU
A BIND request has been received from the host. If the transaction program sends a positive BIND response, the
LU-LU half-session enters the P05_NAU state. If a negative
BIND response is sent, the P02_NAU state is entered.
Recommended Action: Accept or reject the received BIND RU via the accru or rejru verb. If TS Profile 4 and sync points are used, the sync-point numbers should be set before responding to the BIND. This is done via the ssync verb. When finished, wait for the state to change into data traffic allowed via the
rcvru
verb.
P05_NAU
The LU-LU half-session has been established. This is done when a transaction program sends a positive response to the
BIND request with the accru verb. This state is also entered when a CLEAR request is received from the host.
Recommended Action: Wait for the STSN RU (if TS Profile 4 is used) and the SDT RU notification via the rcvru verb.
P06_NAU
The user has initiated the termination of an LU-LU halfsession by sending a TRMSLF or RSHUTD request. An
UNBIND request is expected from the host that would transfer the LU-LU half-session into the P02_NAU state.
Recommended Action: Wait for the UNBIND RU via the rcvru verb.
P07_NAU
The receive flow is quiesced and a QEC request has been received from the host. The transaction program is asked to stop sending normal-flow requests at end of chain.
Recommended Action: If a chain is currently being sent by the transaction program, it should be completed. When the between-chain state is reached, a QC RU should be sent to the host via a sndru verb.
P08_NAU
A QEC request has been received from the host. The transaction program is asked to stop sending normal-flow requests at end of chain.
Recommended Action: Complete chains currently being sent by the transaction program. When the between-chain state is reached, a QC RU should be sent to the host via a sndru verb.
State Definition
P09_NAU
The send flow is quiesced and a SHUTD request has been received from the host. A SHUTC request should be sent to the host as soon as possible.
Recommended Action: A SHUTC RU should be sent to the host via a sndru verb.
P10_NAU
The receive flow is quiesced and a SHUTD request has been received from the host as a first step in an orderly termination of the LU-LU half-session. The transaction program is asked to stop sending normal-flow requests when convenient. The send flow becomes quiesced when the transaction program sends the SHUTC request to the host.
Recommended Action: The transaction program should send a
SHUTC RU when convenient via a sndru verb.
P11_NAU
A SHUTD request has been received from the host as a first step in an orderly termination of an LU-LU half-session. The transaction program is asked to stop sending normal-flow requests when convenient. The send flow is quiesced when the transaction program sends the SHUTC request to the host.
Recommended Action: The transaction program should send a
SHUTC RU when convenient via a sndru verb.
P12_NAU
Both the send and receive flows are quiesced. No normal-flow data may be sent or received on the LU-LU half-session in this state. This state is changed, for example, when the RELQ request is either sent or received.
Recommended Action: The transaction program can send a
RELQ RU to the host via a sndru verb if the receive quiesce state can be released. Otherwise, wait for a RELQ notification from the host via a rcvru verb.
P13_NAU
The send flow is quiesced. Either a QEC request has been received from the host and responded to by QC or a SHUTD request has been received from the host and responded to by
SHUTC. No normal-flow data may be sent by the transaction program on the LU-LU half-session in this state.
Recommended Action: Wait for a RELQ notification from the host via a rcvru verb.
IRIS SNA SERVER Programming Guide
F-5
P14_NAU
The receive flow is quiesced. A QEC request has been sent by the transaction program and responded to by a QC request from the host. No normal-flow requests may be sent by the host in this state.
Recommended Action: The sending of data to the host can continue but the receive quiesce state should be released when possible in order to get normal-flow requests from the host. The quiesce is released when a RELQ RU is sent to the host via a sndru verb.
P15_NAU
A BID request has been rejected by the transaction program with the sense code 0814 (RTR forthcoming). The transaction program should send an RTR request when ready to receive data from the host.
Recommended Action: When the transaction program is ready to receive data from the host, an RTR RU should be sent via the sndru verb.
P16_NAU
This state indicates that data traffic is allowed. The transaction program may now send data on the LU-LU half-session.
Recommended Action: In this state the transaction program can exchange data with the host via the sndru and rcvru verbs.
F.2
Naustat: PU Services
P01_NAU
The SSCP-PU session is inactive and no FMD NS (MA) RUs may be exchanged with the host. This is the normal state after
IPL.
Recommended Action: Wait for the notification of the ACTPU via a rcvru verb.
P02_NAU
The SSCP-PU session has been activated by an ACTPU request from the host. FMD NS (MA) RUs may be exchanged with the host.
Recommended Action: The transaction program can exchange data with the CNMA in the host via sndru and rcvru verbs.
F-6
State Definition
Appendix G
API Verb Catalog
This appendix lists all of the API verbs in alphabetical order. These verbs and their supporting man pages are used with this guide (referred to as SNA in the table) and the IRIS SNA LU 6.2 Programming Guide (referred to as
LU 6.2 in the table).
IRIS SNA SERVER Programming Guide
G-1
G-2
Verb Verb's Full Name Verb Type Guide attach chgmsgq chgsl cnfrm cnfrmed dalcnv dalnau dctline dctlu dctpu dctses dctsta detach dfncp accru actline actlu actpu actses actsta alcnv alnau atoe
Accept Request Unit
Activate Line
Activate Logical
Activate Physical Unit
Activate Session
Activate Station
Allocate
Allocate NAU
ASCII to EBCDIC
Translation
PI
Node Operator
Node Operator Unit
Node Operator
Session Control
Node Operator
Basic Conversation
PI
SNA
SNA
SNA
SNA
LU 6.2
SNA
LU 6.2
SNA
Implementation-specific SNA
Local Attach Implementation-specific SNA
Change Message Queue Node Operator SNA
Change Session Limit
Confirm
CNOS
Basic Conversation
LU 6.2
LU 6.2
Confirmed
Deallocate
Deallocate NAU
Deactivate Line
Basic Conversation
Basic Conversation
PI
Node Operator
LU 6.2
LU 6.2
SNA
SNA
Deactivate Logical Unit Node Operator
Deactivate Physical Unit Node Operator
Deactivate Session
Deactivate Station
Session Control
Node Operator
Detach
Define Control Point
SNA
SNA
LU 6.2
SNA
Implementation-specific SNA
Define SNA
API Verb Catalog
Verb Verb's Full Name Verb Type Guide dfnline dfnllu dfnmode dfnnode dfnrlu dfnslu dfnsta dfntp dltcbl dltcbu dspcp dspcph dspline dspllu dspmaj
Define Line
Define Local LU
Define Mode
Define Node
Define
Define
Define
Define
SNA
SNA
SNA
SNA
Define Remote LU
Define Secondary LU
Define Station
Define Transaction
Program
Delete LU Control Block
Delete Control Block
Display Control Point
Define
Define
Define
Define
Define
Define
Display
Display Host Control Point Display
Display Line
Display Local LU
Display Major Code
Display
SNA
SNA
SNA
SNA
SNA
SNA
SNA
SNA
SNA
Display SNA
Implementation-specific SNA
dspmin
Display Minor Code
dspmode
Display Mode
dspmsgq dspnode
Display Message Queue
Display Node
dsprlu dspses dspslu dspsta
Display Remote LU
Display Session
Display Secondary LU
Display Station
Implementation-specific SNA
Display SNA
Node Operator
Display
Display
Display
Display
Display
SNA
SNA
SNA
SNA
SNA
SNA
IRIS SNA SERVER Programming Guide
G-3
G-4
Verb Verb's Full Name Verb Type Guide initcbl initcbu initpi initsl malcnv mcnfrm mdalcnv mflush mgetatr mprprcv mpstrct mrcvim dsptp etoa flush getatr gfsm gsync gtype
Display Transaction
Program
EBCDIC to ASCII
Translation
Display
Implementation-specific
Flush
Get Attributes
Get Finite State Machine PI
Get Sync Point PI
Get Type
Basic Conversation
Basic Conversation
Type-independent
Conversation
Define Initialize LU
Definition Structure
Initialize Node
Definition Structure
Define
PI
SNA
SNA
SNA
SNA
SNA Initialize Verb Data
Structure
Initialize Session Limit
MC Allocate
MC Confirm
MC Deallocate
MC Flush
MC Get Attributes
MC Prepare to Receive
MC Post on Receipt
CNOS
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
MC Receive Immediate Mapped Conversation
LU 6.2
LU 6.2
SNA
SNA
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
API Verb Catalog
Verb Verb's Full Name Verb Type Guide rtvnmsg setctx snddta snderr sndru ssync testcv waitcv pstrct rattach rcvim rcvru rcvwt rejru rqssnd rstsl mrcvwt mrqssnd msnddta msnderr mtestcv procsl prprcv prtnmsg
MC Receive and Wait
MC Request to Send
MC Send Data
MC Send Error
MC Test
Process Session Ldimit
Prepare to Receive
Print Node Message
Post on Receipt
Remote Attach
Receive Immediate
Receive Request Unit
Receive and Wait
Reject Request Unit
Request to Send
Reset Session Limit
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
Mapped Conversation
CNOS
Basic Conversation
PI
Basic Conversation
PI
Basic Conversation
CNOS
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
LU 6.2
Basic Conversation LU 6.2
Implementation-specific SNA
Basic Conversation LU 6.2
Implementation-specific SNA
LU 6.2
SNA
LU 6.2
SNA
LU 6.2
LU 6.2
Retrieve Node Message Node Operator
Set Context Implementation-specific
SNA
SNA
Send Data
Send Error
Basic Conversation
Basic Conversation
LU 6.2
LU 6.2
Send Request Unit
Set Sync Point
Test
Wait
PI
PI
Basic Conversation
Type-independent
Conversation
SNA
SNA
LU 6.2
LU 6.2
IRIS SNA SERVER Programming Guide
G-5
G-6
API Verb Catalog
Appendix H
Man Pages
This appendix contains the following category ( 3X) man pages related to the IRIS SNA SERVER. The man pages are organized in alphabetical order.
Programmable Interface
• accru (3X)
• alnau (3X)
• dalnau (3X)
• gfsm (3X)
• gsync (3X)
• initpi (3X)
• rcvrn (3X)
• rejru (3X)
• sndru (3X)
• ssync (3X)
SNA SERVER Implementation Specific
• attach (3X)
• detach (3X)
• rattach (3X)
• setctx (3X)
IRIS SNA SERVER Programming Guide
H-1
Index
A
accru
,
3-2, 3-5, 3-7 actline
,
2-16 actlu
,
2-16, 3-12 actpu
,
2-16, 3-12 actsta
,
2-16 alnau
,
3-2, 3-8, 3-10, 3-11, 3-13
APPC applications
,
2-8 atoe
,
2-8 attach
,
I-3, 2-8, 2-12, 2-15 context of
,
2-7 attach requests
,
2-7 context of
,
I-2 multiple
,
I-2, 2-7
B
blocking option
,
3-6 block parameter
,
3-7, 3-8, 3-10, 3-11
C
chgmsgq
,
2-16
CNOS allocation error
,
2-17
Configuration Management Services
,
I-5
IRIS SNA SERVER Programming Guide configuration verbs
,
I-3, I-4, 2-9 connection breaking
,
I-3 establishing
,
I-3 constant value files
,
2-4 control operator verbs
,
2-7 conversation feedback
,
2-5
D
DAF address
,
3-13 dalnau
,
3-3 data structures
,
2-4 parameters
,
2-4, 2-5, 3-14 data types definition of
,
2-4 dctline
,
2-16 dctlu
,
2-16 dctpu
,
2-16, 3-13 dctsta
,
2-16 ddhverr.h header file
,
2-4 ddhvicn.h header file
,
2-4 ddhviex.h header file
,
2-4 ddhvtyp.h header file
,
2-4 ddityp.h header file
,
3-14 define verbs
,
I-3, 2-9
Index-1
detach
,
I-3, 2-8 dfncp
,
2-10 dfnline
,
2-10 dfnllu
,
2-10 dfnmode
,
2-10 dfnnode
,
2-10 dfnrlu
,
2-10 dfnslu
,
2-10 dfnsta
,
2-10 dfntp
,
2-10 display verbs
,
I-3, 2-9, 2-12 dltcbl
,
2-10 dltcbu
,
2-10 dspcp
,
2-13 dspcph
,
2-13 dspline
,
2-13 dspllu
,
2-13 dspmaj
,
2-8, 2-12, 2-15 dspmin
,
2-8, 2-12, 2-15 dspmode
,
2-13 dspmsgq
,
2-16 dspnode
,
2-13 dsprlu
,
2-13 dspses
,
2-13 dspslu
,
2-13 dspsta
,
2-13 dsptp
,
2-13
E
etoa
,
2-8
F
files constant value
,
2-4
Index-2
type definition
,
2-4 finite-state machines
,
3-11 flow event
,
3-11 flow-control window, 3-6
G
gfsm
,
3-4, 3-5, 3-11 global.h header file
,
2-3, 2-5 global variables
,
2-5, 3-2 dspmaj
,
2-15 dspmin
,
2-15 snamaj
,
2-5, 3-2 snamin
,
2-5, 2-15, 3-2 snamsg
,
3-2 snastat
,
3-2 where defined
,
2-16 gsync
,
3-2, 3-8, 3-10
H
header files
,
2-3, 2-4 ddhverr.h
,
2-4 ddhvicn.h
,
2-4 ddhviex.h
,
2-4 ddhvtyp.h
,
2-4 ddityp.h
,
3-14 global.h
,
2-3 imp.h
,
2-3 ludef.h
,
2-3 msgdef.h
,
2-3 noop.h
,
2-3 pgmin.h
,
3-14 uadef.h
,
2-3
Index
I
imp.h header file
,
2-3 initcbl
,
2-9, 2-10 initcbu
,
2-9, 2-10 initpi
,
3-4, 3-5
IRIS SNA Scheduler
,
2-7, 3-2, 3-3
IRIS SNA SERVER troubleshooting
,
2-17 verb categories
,
I-2
L
liblu03.a.
,
I-7 libraries linking
,
2-3, 2-16, 3-3
LIC
,
3-10 link inoperative message
,
2-17 link programs
,
3-3 loc_pac parameter
,
3-6
Logical Unit type protocols
,
3-1
LU 0-3 PI interface
,
3-1
LU 0-3 PI verbs
,
I-5, I-6, I-7
LU 0-3 verb library
,
I-7 ludef.h header file
,
2-3, 2-12, 2-15
LU define verbs data structures for
,
2-9 parameter constants
,
2-12
LU pools
,
3-13
M
message queing
,
3-2 messages link inoperative
,
2-17 unsolicited
,
3-11 msgdef.h header file
,
2-3
IRIS SNA SERVER Programming Guide
N
name parameters
,
2-9
NAU
,
1-6, 3-2, 3-3, 3-8 naustat variable
,
3-11 node define verbs
,
2-11 data structures for
,
2-9 node operator verbs
,
I-4, 2-16, 3-12 nodes
PU
,
3-13 noop.h header file
,
2-3
P
parameters block
,
3-11 blocking
,
3-7 data structure
,
3-14 rh_ind
,
3-7 supplied
,
3-15 wait, 3-5 when
,
3-7, 3-8 pgmin.h header file
,
3-14
PI data space
,
3-3
PI layer
,
3-3
PI verbs, see LU 0-3 PI verbs pointer initialization 2-
,
3-14 pointers
,
2-5
Presentation Services
,
3-1 prtnmsg
,
2-8
PU 2.1 node components
,
2-9
PU nodes
,
3-13
R
rattach
,
2-8 rcvru
,
3-2, 3-3, 3-4, 3-5, 3-7, 3-11, 3-12
Index-3
rejru
,
3-2, 3-5, 3-7 requests attach
,
2-7 return codes
,
3-2 major
,
2-6 return information
,
2-5 rh_ind parameter
,
3-7, 3-10
RQD
,
3-10
RQE
,
3-10 rtvnmsg
,
2-16 run-time variable
SNAHOST
,
I-2
S
s2_schd
,
2-15 scheduler, see IRIS SNA Scheduler
SDLC address
,
2-17 server, see IRIS SNA SERVER session management
,
3-2 sessions
SSCP-LU
,
3-12
SSCP-PU
,
3-12 setctx
,
2-7, 2-8 setctx verb
,
I-3
SNA formats
,
3-1
SNAHOST
,
I-2 snamaj
,
2-5, 3-2 snamin
,
2-5, 2-15, 3-2 snamsg
,
3-2
SNA protocols
,
3-1 snastat
,
3-2, 3-3 sndru
,
3-2, 3-5, 3-7, 3-8, 3-10, 3-11, 3-12
SSCP-LU session
,
3-12
SSCP-PU sessions
,
3-12 ssync
,
3-2, 3-8, 3-10
T
TCP/IP support
,
3-3
TH sequence number
,
3-8 transaction program connection verbs
,
I-3, 2-7 utilities
,
2-8 utility functions
,
2-8 verbs
,
I-2 transport channel
,
3-5 type definition files
,
2-4
U
uadef.h header file
,
2-3, 2-11, 2-14
/usr/include/sna
,
2-4
/usr/include/sna/ludef.h
,
2-9
/usr/lib/libsna.a
,
2-3, 2-9, 2-16 usr/sna/lib/liblu03.a
,
3-3
V
variables global
,
2-5 naustat
,
3-11 run-time
,
I-2 snastat
,
3-3 verb call feedback
,
2-5 verb execution blocking
,
3-5 verb integration
,
3-13 verb library
,
2-3 verbs
,
2-13, 2-16, 3-2 accru
,
3-2, 3-5, 3-7 actline
,
2-16 actlu
,
2-16, 3-12 actpu
,
2-16, 3-12 actsta
,
2-16
Index-4
Index
alnau
,
3-2, 3-8, 3-10, 3-11, 3-13 archived
,
2-3 attach
,
I-3, 2-8, 2-12, 2-15 blocking
,
3-2, 3-8 chgmsgq
,
2-16 communicating with scheduler
,
3-3 configuration
,
I-4, 2-9 constant values
,
2-4 control operator
,
2-7 dalnau
,
3-3 dctline
,
2-16 dctlu
,
2-16 dctpu
,
2-16, 3-13 define
,
I-3, 2-9 detach
,
I-3, 2-8 dfncp
,
2-10 dfnline
,
2-10 dfnllu
,
2-10 dfnmode
,
2-10 dfnnode
,
2-10 dfnrlu
,
2-10 dfnslu
,
2-10 dfnsta
,
2-10 dfntp
,
2-10 display
,
I-3, 2-9, 2-12 dltcbl
,
2-10 dltcbu
,
2-10 dspcp
,
2-13 dspline
,
2-13 dspllu
,
2-13 dspmaj
,
2-12 dspmin
,
2-12 dspmode
,
2-13 dspmsgq
,
2-16 dspnode
,
2-13 dsprlu
,
2-13 dspses
,
2-13 dspslu
,
2-13 dspsta
,
2-13 dsptp
,
2-13 gfsm
,
3-4, 3-5, 3-11 gsync
,
3-2, 3-8, 3-10
IRIS SNA SERVER Programming Guide implementation-specific
,
I-2, 2-7 initcbl
,
2-9, 2-10 initcbu
,
2-9, 2-10 initpi
,
3-4, 3-5 local executing
,
3-4, 3-5
LU 0-3 PI
,
I-5, I-6, I-7
LU define
,
2-9 node define
,
2-9, 2-11 node operator
,
I-4, 2-16, 3-12 rattach
,
2-8 rcvru
,
3-2, 3-3, 3-4, 3-5, 3-7, 3-11, 3-12 rejru
,
3-2, 3-5, 3-7 rtvnmsg
,
2-16 send, no reply
,
3-5, 3-7 send, reply
,
3-8 setctx
,
I-3, 2-7, 2-8 sndru
,
3-2, 3-5, 3-7, 3-8, 3-10, 3-11, 3-12 ssync
,
3-2, 3-8, 3-10 transaction program
,
I-2, I-3 transaction program connection
,
2-7 type definitions
,
2-4
W
wait parameter
,
3-5 when parameter
,
3-7, 3-8, 3-10
Index-5
Stáhnout
Reklama