Chapter 3. The IRIS LU 6.2 Implementation

This chapter provides additional information about Silicon Graphics implementation of SNA Logical Unit Type 6.2 (LU 6.2) architecture. Also contained in this chapter are the base set of functions and the option sets of LU 6.2, as defined in the IBM Systems Network Architecture Transaction Programmer's Reference Manual for LU Type 6.2 and Systems Network Architecture Format and Protocol Reference Manual: Architecture Logic for LU Type 6.2.

How the IRIS Implementation Differs from IBM SNA

Each verb is implemented as a C-language library function. After the execution of any verb function, return information is placed in the global variables snamaj and snamin. This equates to the architected RETURN_CODE. The conversation state is set in the global variable snastat. While the architecture does not mandate that the state be explicitly returned to the transaction program, doing so enables the programmer to write the transaction program in a convenient, state-driven fashion.

The IRIS implementation of LU 6.2 from Silicon Graphics maps on an almost one-for-one basis to the IBM architected verbs and their specified parameters. Exceptions are described in this section.

Basic Conversation Verbs

The basic conversation verbs are described below.

GET_TYPE (gtype)

A return value of 0 indicates that the conversation type is basic; 1 indicates that the conversation type is mapped. A return value of -1 indicates an error. There is no variable corresponding to type to receive the value.

SEND_ERROR (snderr)

An additional value for type, SE_ALC (2), indicates an allocation error. If the type returned is SE_ALC, the sense field (also not architected) contains the allocation-error sense data. These parameters are reserved for the Transaction Program Initiator (TPI).

WAIT (waitcv)

Passes an additional parameter, count, that indicates the number of conversation IDs on the following list. All posted conversation IDs are checked when count is 0.

Implementation-specific Verbs

Two additional verbs are included in LU 6.2 to control the initial connection between the transaction program and the IRIS SNA SERVER: attach and rattach. attach establishes the connection between the local transaction program and the IRIS SNA SERVER. rattach establishes the connection between a remotely evoked transaction program and the conversation that evoked it.

Control Operator Verbs

RESET_SESSION_LIMITS (rstsl)

MODE_NAME is handled as two parameters: the first, all, uses 0 to indicate that a single mode is to be reset, or 1 to indicate that all modes are to be reset. The second, mode, contains the name of the mode to be reset if all is 0. It is ignored if all is 1.

PROCESS_SESSION_LIMIT (procsl)

LU_NAME and MODE_NAME are not returned. They are handled internally by s2_cnos.

DEACTIVATE_SESSION (dctses)

Requires two parameters not specified in the architecture: remote (the local name of the remote LU) and mode (the name of the mode for the session).

Implemented LU 6.2 Function Sets

The following basic conversation verbs are implemented:

  • alcnv Allocate

  • cnfrm Confirm

  • cnfrmed Confirmed

  • dalcnv Deallocate

  • getatr Get Attributes

  • rcvwt Receive-and-Wait

  • rqssnd Request-to-Send

  • snddta Send Data

  • snderr Send Error

  • The following control operator verbs are implemented:

  • initsl Initialize Session Limit

  • rstsl Reset Session Limit

These option sets are supported:

  • Conversations between programs located at the same LU

  • Delayed allocation of a session

  • Immediate allocation of a session

  • Session-level LU-LU verification

  • User ID verification

  • Profile verification and authorization

  • Profile pass-through

  • Program-supplied profile

  • PIP data

  • Logging of data in a system log

  • Flush the LU's send buffer

  • Prepare-to-Receive

  • Long locks

  • Post-on-Receipt with wait

  • Get Attributes

  • Get Conversation Type

  • Mapped conversation LU services component

  • CHANGE_SESSION_LIMIT verb

  • MIN_CONWINNERS_TARGET parameter

  • RESPONSIBLE(TARGET) parameter

  • DRAIN_TARGET(NO) parameter

  • FORCE parameter

  • ACTIVATE_SESSION verb

  • DEACTIVATE_SESSION verb

  • LU parameter verbs

  • LU-LU session limit

  • Locally known LU names

  • Uninterpreted LU names

  • Single-session reinitiation

  • Maximum RU size bounds

  • Contention-winner automatic activation limit