z/OS Communications Server: SNA Programmer's LU 6.2 Guide
Previous topic |
Next topic
|
Contents
|
Contact z/OS
|
Library
|
PDF
Contents (exploded view)
z/OS Communications Server: SNA Programmer's LU 6.2 Guide
SC27-3669-00
Abstract for SNA Programmer's LU 6.2 Guide
Summary of changes
Understanding VTAM LU 6.2 application programs
About this chapter
Advantages of LU 6.2 application programs
The role of LU 6.2 in SNA networks
Logical units
Session types
Important LU 6.2 concepts
Peer-to-peer protocol
LU protocol boundary
Transaction programs
Conversations
Conversation states
Logical records and buffers
Full-duplex and half-duplex protocols
Full-duplex protocols
Half-duplex protocols
Single and parallel sessions
Mode name groups
Session contention
Session limits
VTAM-supported LU 6.2 application programs
Responsibilities for implementing LU 6.2
LU 6.2 and the VTAM API
About this chapter
Standard features of the API
Unique LU 6.2 features of the API
VTAM as session manager
VTAM macroinstruction language
Control blocks and mappings
Common control blocks and mappings
Access method control block
Opening an ACB
Closing an ACB
RPL control block and APPC extension
BIND request unit (RU) mapping
LU 6.2 control blocks and mappings
Common macroinstructions
Macroinstructions required for requesting LU 6.2 services
Macroinstructions for building non-LU 6.2 control blocks
Non-APPCCMD VTAM macroinstructions
Session limits and CNOS commands
VTAM conversations
Conversation states
LU 6.2 global variables
Vector lists
Vector lists used during OPEN processing
Vector lists supplying information to VTAM
Vector lists supplying information to the application
Access-method-support vector list
Resource-information vector list
Vector lists used during APPCCMD processing
Vectors supplied by the application
Vectors returned to the application
Application exit routines
RPL-specified exit routines
Exit-list (EXLST) exit routines
Register usage
Operating system environment
Overview of LU 6.2 transaction processing
How VTAM implements LU 6.2 architecture
About this chapter
LU 6.2 verbs
Verbs that VTAM implements
Conversation verbs
Control operator verbs
Pass-through verbs (application program implements)
Mapped conversation verbs (application program implements)
Verbs not supported by VTAM
Conversation verbs
Control operator verbs
LU 6.2 option sets
Option sets that VTAM implements
VTAM and security option sets
Session-level security option sets
Conversation-level security option sets
Control operator option sets
Option sets that the application program implements
Option sets that VTAM does not offer
Unsupported conversation option sets
Unsupported control operator option sets
LU 6.2 verb cross reference
VTAM LU-mode table
Data structures
Architectural base
VTAM's representation of data structures
Blank mode names
Table entries
Initializing the LU-mode table
Designing programs to use LU 6.2 services
About this chapter
Request of LU 6.2 services
RPL extension user field
Evaluating feedback information
Registers
Return codes
Startup processing for LU 6.2 application programs
Opening an ACB
Issuing a SETLOGON macroinstruction
Restoring modes and any associated persistent LU-LU sessions
Establishing persistence
Managing the recovery
Opening the ACB during recovery
States of recovery
Activity during a failure
Restoring resources
Restoring a mode
Negotiating session limits
VTAM's LU-mode table
Defining logon mode names
Single-session partners
SNASVCMG mode name group
Initializing session limits
Impact on conversation initiation
Session initiation and termination
Application termination
LU 6.2 transaction processing
Understanding conversations
Synchronous nature of conversations
Maintaining conversation states
Querying the current status of a conversation
Conversation queues for macroinstruction processing
Queues for half-duplex conversations
Queues for full-duplex conversations
Allocating a conversation and receiving the allocate
Types of conversation allocation
Notification of conversation requests
Comparing normal information to expedited information
Comparing data to indications
Determining conversation status
Sending and receiving normal information
Receiving input without specifying a conversation
Receiving next available data
Receiving data immediately available
Sending and receiving expedited information
Sending expedited data
Receiving expedited data
Deallocating the conversation
Implementing LU 6.2 option sets
Mapped conversations
Security procedures
Synchronization point services
VTAM support for sync point services
Program initialization parameters (PIP) data
Coding the APPCCMD macroinstruction
About this chapter
Use of the APPCCMD macroinstruction
Use of the CONTROL keyword
Use of the QUALIFY keyword
Keywords and returned parameters
Parameter-to-DSECT mapping
Keyword specifications
Managing sessions
About this chapter
Negotiating session limits
How session limits are used
Types of sessions
Contention-winner session
Contention-loser session
Bidding for a session
Number and representation of sessions
Application's role in session limit negotiation
Initiating session limit negotiation
When the application program initiates session limit negotiation
Source-side versus target-side CNOS initiation
Source-side processing
Target-side processing
Determining negotiated values
VTAM's role in session negotiation
VTAM's role in session limit negotiation when PLU=SLU
Example of a CNOS request
Example of CNOS negotiation
Logon mode table versus LU-mode table
Logon mode table
LU-mode table
Adding to the LU-mode table
LU entries in the LU-mode table
Retrieving information from the LU-mode table
Specifying values for session limit negotiation
Defined negotiation limits
How defined negotiation limits are set
Parameters on the APPL definition statement
Building a CNOS session limits control block
Layout of the CNOS session limits control block
Draining and session deactivation responsibility
Draining
Draining in VTAM LU 6.2
How an application program indicates draining
Negotiating draining capability
Terminating draining
Session deactivation
Security acceptance information
Security level definition
Overriding the default security acceptance level
Security manager product
Security indicators and subfields
Defining negotiation limits and displaying session limits
Initializing and pointing to the control block
When to Initialize the DEFINE/DISPLAY control block fields
When to supply a 68-byte area for the control block
When to supply a 40-byte area for the control block
Limitations of the display function
Layout of the DEFINE/DISPLAY control block
Example of setting the DEFINE/DISPLAY control block
Displaying LU-mode data
Example of displaying LU-mode data
Setting session limits to 0
Closing a mode
Closing a SNASVCMG mode
Deleting mode entries
Additional session limit considerations
Parallel session support
How VTAM receives indicators
How an application program interrogates VTAM
Session limits for single-session-capable partners
Session limits for SNASVCMG mode name
Activating and deactivating sessions
VTAM's role in session activation and deactivation
When VTAM activates sessions
When VTAM deactivates sessions
Deactivation of sessions with parallel-session-capable partners
Application program's role in session activation and deactivation
Determining session type after LOGON exit
Determining session type after SCIP exit
How to provide different session parameters
Example of accepting a session
BIND image and response
User data structured subfields
LU 6.2 names used for session activation
How can the LU names differ?
LU 6.2 in an extended recovery facility (XRF) environment
LU 6.2 applications as generic resources
Ownership of the affinity between an LU and a generic resource member
CNOS general data stream (GDS) variable
Retrieving information for a mode and sessions to be restored
Allocating a conversation
About this chapter
Initiating a conversation
Building an FMH-5
Additional FMH-5 DSECTs
FMH-5 fields
Access security subfields
LUW field
PIP data field
DCE security (authentication token) GDS field
Checking errors in the FMH-5
Example of an FMH-5
Issuing the CONTROL=ALLOC macroinstruction
Buffering requirements
Example of allocating a conversation
Responding to an FMH-5
Restrictions on types of notification
Example of receiving an FMH-5
Receiving PIP and DCE data
Checking the received FMH-5
Queuing the RCVFMH5 macroinstruction
Receiving data along with the FMH-5
Reserving a session for a conversation
Description of the conversation identifier
Description of the session instance identifier
Session activation
Type of session activated
Number of sessions activated
Sync point capability
Full-duplex session capability
Synchronizing end points after session activation failure
Deallocating a conversation
About this chapter
Deallocating a half-duplex conversation
Deallocating a half-duplex conversation normally
Sending information
Sending confirmation requests
Conditional deallocation request
Unconditional deallocation request
Example of normal half-duplex conversation deallocation
Reacting to a Half-duplex conversation deallocation
Example of receiving a normal Half-duplex conversation deallocation
Deallocating a Half-duplex conversation abnormally
Using CONTROL=DEALLOC and CONTROL=DEALLOCQ
Using CONTROL=REJECT
Deallocating a full-duplex conversation
Deallocating a full-duplex conversation normally
Sending information
Reacting to a full-duplex conversation deallocation
Deallocating a full-duplex conversation abnormally
Using CONTROL=DEALLOC and CONTROL=DEALLOCQ
Restrictions on abnormally deallocating conversations
Deallocating a pending conversation
Rejecting a conversation pending deallocation for persistent sessions
Sending information
About this chapter
Sending information on half-duplex conversations
Background of the SEND buffer
Use of the SEND buffer
Flushing the buffer
Example of flushing the buffer
Roles of sender and receiver
Entering SEND state
Example of entering SEND state
Sending normal information
Sending logical record data
Example of sending logical records
Getting better send and receive performance
Sending confirmation requests
Example of a confirmation request
Sending expedited information
Sending information on full-duplex conversations
Use of the SEND buffer
Flushing the buffer
Roles of sender and receiver
Entering SEND/RECEIVE state
Entering SEND_ONLY state
Entering PENDING_SEND/RECEIVE_LOG state
Sending normal information
Sending logical record data
Sending expedited information
Buffer list requirements
Example of using a buffer list
BUFFLST differences for LU 6.2
Handling storage shortages
Send requests not using a buffer list
Send requests using a buffer list
Receiving information
About this chapter
Determining what is received
What-received field
What-received indicators
Checking the what-received field
Receiving information on half-duplex conversations
Roles of sender and receiver
Entering RECEIVE state
Receiving normal information
Using APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC
Using APPCCMD CONTROL=RECEIVE, QUALIFY=ANY|IANY
Responding to confirmation requests
Positive response
Negative response
Example of confirmation responses
Receiving expedited information
Using APPCCMD CONTROL=RCVEXPD, QUALIFY=SPEC|ISPEC
Using APPCCMD CONTROL=RCVEXPD, QUALIFY=ANY|IANY
Receiving information on full-duplex conversations
Roles of sender and receiver
Entering SEND/RECEIVE state
Entering RECEIVE_ONLY state
Entering PENDING_SEND/RECEIVE_LOG state
Entering PENDING_RECEIVE-ONLY_LOG state
Entering PENDING_RESET_LOG state
Receiving normal information
Using APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC
Using APPCCMD CONTROL=RECEIVE, QUALIFY=ANY|IANY
Receiving expedited data
Using APPCCMD CONTROL=RCVEXPD, QUALIFY=SPEC|ISPEC
Using APPCCMD CONTROL=RCVEXPD, QUALIFY=ANY|IANY
Specifying how information is received
Logical records versus buffers
Continuation modes for receiving normal information
Example of using any-mode RECEIVEs
Continuation modes for receiving expedited information
Error handling
Sending and receiving data using high performance data transfer
About this chapter
The role of CSM and the IVTCSM macroinstruction
Applications that use the HPDT interface
Using the APPCCMD macroinstruction for HPDT requests
Designing programs to use HPDT
Design considerations for HPDT applications
Macroinstructions used by HPDT applications
Application authorization
Application responsibilities for using HPDT
How support for HPDT is communicated between the application and VTAM
Verifying the session's capabilities
Using the extended buffer list (XBUFLST)
Sending data using HPDT
SEND processing using the HPDT interface
Creating and sending multiple pieces of data in one CSM buffer
How VTAM processes an HPDT send request
Send macroinstruction completion considerations
Completion of a successful send
Completion of an unsuccessful send
Handling of temporary storage shortages during send
TPEND exit considerations when sends are pending
Receiving data using HPDT
RECEIVE processing using HPDT
Passing HPDT receive requirements to VTAM
Receive macroinstruction completion considerations
Considerations for the successful completion of a receive
Controlling the amount of data received
Considerations for the unsuccessful completion of a receive
TPEND exit considerations when receives are pending
Data delivery considerations
Using the SENDRCV macroinstruction for HPDT
APPCCMD application requirements to ensure CSM storage recovery
General APPCCMD storage ownership requirement
Application responsibilities when the RPL is posted complete with an error
Application responsibilities when the RPL is not posted complete
Cross-memory considerations when the RPL is not posted complete
MPC pad character considerations
Confidential text considerations
Application data clear responsibilities
Using exit routines
About this chapter
Using the ATTN exit
Parameter list
FMH-5 function
CNOS function
Vectors provided for the ATTN(CNOS)
LOSS function
Using other EXLST exit routines
SYNAD
LERAD
TPEND
LOGON
Application programs without a LOGON exit routine
SCIP
Application programs without a SCIP exit routine
LOSTERM exit routine
VTAM's LU 6.2 security options
About this chapter
Security management product requirements
Defining profiles for LU-LU session pairs in RACF
Session-level verification
Session activation using level 1 session-level verification
Session activation using level 2 session-level verification
Enabling session-level security
Defining the degree of level 1 session-level verification
Coding the APPL definition statement
Session-level LU-LU verification byte
Coding the VERIFYCP start option
Defining the degree of level 2 session-level verification
Coding the APPL definition statement
Coding the SECLVLCP start option
Informing the application program of verified sessions
Session activation failures
VTAM's support for session-level verification
Conversation-level security
Verifying end users using conversation-level security
Security acceptance levels
VTAM's level of support
Already-verified support
Persistent-verification support
The application's maximum security acceptance level
Partner application's maximum security acceptance level
Specifying a conversation's security level
Data encryption
Levels of data encryption
Determining a session's data encryption level
Selective data encryption
Handling errors
About this chapter
General sequence of error checking
Using exit routines to handle errors
Evaluating RCPRI, RCSEC return codes
Response to errors
Choice of response
Error types
Timer errors
Sense codes
Data purging and truncating
Purging error codes
Truncating error codes
Error log variables
VTAM sense codes
Sense codes for FMH-7
Sense codes for UNBIND
Conversation states
States of conversations
Half-duplex conversation states
Full-duplex conversation states
State matrix
APPCCMD macroinstruction overview
Session and conversation information
Information from the application to VTAM
Information flow from VTAM to the application
Example of a sample LU 6.2 application program
Sample VTAM LU 6.2 application program
Console log
Example of retrieving information for a mode and any restored sessions
Logic for retrieving restore information
Example program for retrieving restore information
Bibliography
Index for SNA Programmer's LU 6.2 Guide
Copyright IBM Corporation 1990, 2014