 
SNA SUPPORT

This file explains how IRMA WorkStation works within SNA networks. 
The following information is included:

* A summary of the types and number of SNA sessions supported by 
IRMA WorkStation.

* A list of the SNA commands supported by IRMA WorkStation. This 
section also shows the type of SNA sessions in which the commands flow.

* The transmission service (TS) and function management (FM) profiles 
supported by IRMA WorkStation.

* A list and explanation of the five categories of SNA sense codes 
generated by IRMA WorkStation. This section also describes logical 
unit (LU) type 6.2-specific sense data.

For specific information about an application programming interface 
(API) supported by IRMA WorkStation, see the programmer's guide 
for that API:

* APPC Programmer's Guide
* CPI-C Programmer's Guide
* Common Service Verbs Programmer's Guide
* LUA Programmer's Guide

SNA Session Support

This section lists and explains the types and numbers of SNA 
sessions supported by IRMA WorkStation. For more information about 
the capacities of IRMA WorkStation, see the Administrator's Guide.

LU Support

The IRMA WorkStation node supports as many as 500 dependent LU 
sessions and 500 independent LU sessions at the same time.

When using LU type 6.2, an IRMA WorkStation LU can be either 
the primary logical unit (PLU), or the secondary logical unit (SLU). 
The partner LU can reside in a type 2.1 node, within an upstream 
type 5 node, or within the IRMA WorkStation node itself.

When using LU type 0, 1, 2, or 3, an IRMA WorkStation LU is always 
an SLU, and the partner LU in an upstream type 5 node is always the 
PLU. With LU type 0, session-level cryptography is supported, within 
certain limits, on the Request Unit Interface (RUI). Session-level 
cryptography is implemented through CRV requests; the RUI 
application(s) must perform all necessary processing. For details 
about the limits to session-level cryptography and about the 
processing to be carried out by the RUI application(s), see the 
LUA Programmer's Guide. With all interfaces other than RUI, 
CRV requests are rejected with a negative response.

Session Support

IRMA WorkStation supports three types of SNA communications 
sessions:

SSCP-PU
The IRMA WorkStation PU Services Manager communicating with a 
host systems services control point (SSCP).

SSCP-LU
An IRMA WorkStation LU communicating with a host SSCP.

PLU-SLU
IRMA WorkStation LUs communicating with host or peer LUs.

Command Request Support

Tables 1  through 3 list the SNA command requests supported by 
IRMA WorkStation. 

Note that not all commands are supported for every LU-to-LU 
session type. For example, BIS is only supported for use by an 
APPC LU.

The tables list requests according to the following categories:

* Session control requests
* Function management data requests: network services (maintenance) 
and network services (session)
* Data flow control requests

The category of each request is denoted by the setting of the 
request/response unit (RU) category bits in the request/response 
header (RH) and by the function of the request. IRMA WorkStation 
does not support commands that fall in the network control 
request category.

For more information about command requests, see your IBM 
documentation.

Table 1.  SNA REQUEST SUPPORT FOR SESSION CONTROL REQUESTS    

SESSION            REQUEST          DIRECTION

SSCP-PU            ACTPU            SSCP to PU

		   DACTPU           SSCP to PU

SSCP-LU            ACTLU            SSCP to SLU
		   DACTLU           SLU to SSCP

PLU-SLU            BIND             PLU to SLU
		   UNBIND           PLU to/from SLU
		   CLEAR            PLU to SLU
		   SDT              PLU to SLU


Table 2.  SNA REQUEST SUPPORT FOR FUNCTION MANAGEMENT DATA 
REQUESTS

SESSION            REQUEST          DIRECTION
					     
SSCP-PU            NMVT(1)          SSCP to/from PU
		   INIT-SELF(2)     SLU to SSCP
		   TERM-SELF(2)     SLU to SSCP
		   NOTIFY(2)        SLU to SSCP
		   NSPE(2)          SSCP to SLU

(1) Network services, maintenance services
(2) Network services, session services
 

Table 3.  SNA REQUEST SUPPORT FOR DATA FLOW CONTROL REQUESTS       

SESSION             REQUEST          DIRECTION

PLU-SLU             BID              PLU to/from SLU
		    BIS              PLU to/from SLU
		    CANCEL           PLU to/from SLU
		    CHASE            PLU to SLU
		    LUSTAT           PLU to/from SLU
		    RTR              PLU to/from SLU
		    SHUTC            PLU from SLU
		    SHUTD            PLU to SLU
		    SIGNAL           PLU to/from SLU


Transmission Service and Function 
Management Profiles

IRMA WorkStation enforces the rules that govern active sessions 
between communicating partners on an SNA network.

The computer running IRMA WorkStation can select some of these 
session protocols - such as request/response control modes, bracket 
usage, and pacing - when you activate a session. Specific 
combinations of these selectable protocol options are called 
profiles.

TS profiles refer to transmission control options, while FM profiles 
refer to data flow control and function management data options.

When a session is activated, its TS and FM profiles are specified 
by using parameters in the appropriate session activation request 
and response (ACTPU, ACTLU, BIND).

Table 4 specifies the TS and FM profiles supported by each of the 
IRMA WorkStation session types.

Table 4.  TS AND FM PROFILES SUPPORTED IN SESSIONS

SESSION TYPE              TS PROFILES         FM PROFILES

SSCP-LU session           1                   0 
SSCP-PU session           1                   0
3270 display and printer  3                   3
PLU-SLU session
LU 6.2 PLU-SLU session    7                   19
LUA PLU-SLU session       2, 3, 4             2, 3, 4, 7, 18

The following sections describe the TS and FM profiles that 
IRMA WorkStation supports.

TS Profile 1

TS Profile 1 is supported on SSCP-PU (physical unit) and SSCP-SLU 
sessions; the profile does not require the use of a TS Usage field. 
This profile specifies the following session rules:

* No pacing.
* Identifiers rather than sequence numbers are used on the normal 
flows.
* ACTPU, DACTPU, ACTLU, and DACTLU are supported.
* Maximum outbound RU size of 256 bytes.
* Maximum inbound RU size of 512 bytes.

TS Profile 2

TS Profile 2 is supported on PLU-SLU sessions using LU type 0. This 
profile specifies the following session rules:

* PLU-SLU and SLU-PLU normal flows are paced.
* Sequence numbers are used on the normal flows (whenever the 
transmission header (TH) format used includes a sequence number 
field).
* CLEAR is supported.
* SDT, RQR, STSN, and CRV are not supported.

The TS Usage subfields defining the options for this profile are 
as follows:

* Pacing window counts.
* Maximum RU sizes on the normal flows.

TS Profile 3

TS Profile 3 is supported on PLU-SLU sessions using LU type 0, 1, 2, 
or 3. Selection is a BIND option. This profile specifies the following 
session rules:

* PLU-SLU and SLU-PLU normal flows are paced.
* Sequence numbers are used on the normal flows.
* BIND, UNBIND, CLEAR and SDT are supported.

The TS Usage subfields defining the options for this profile are 
as follows:

* Pacing counts.
* Maximum RU sizes on the normal flows.

TS Profile 4

TS Profile 4 is supported on LU-LU sessions using LU type 0 or 1. This 
profile specifies the following session rules:

* PLU-SLU and SLU-PLU normal flows are paced.
* Sequence numbers are used on the normal flows (whenever the 
TH format used includes a sequence number field).
* SDT, CLEAR, RQR, and STSN are supported.
* CRV is supported when session-level cryptography is selected (via 
a BIND parameter).

The TS Usage subfields defining the options for this profile are as 
follows:

* Pacing window counts.
* Maximum RU sizes on the normal flows.

TS Profile 7

TS Profile 7 is supported on PLU-SLU sessions using LU type 6.2. This 
profile specifies the following session rules:

* PLU-SLU and SLU-PLU normal flows are paced.
* Sequence numbers are used on the normal flows.
* BIND and UNBIND are supported.

The TS Usage subfields defining the options for this profile are as 
follows:

* Pacing counts.
* Maximum RU sizes on the normal flows.

FM Profile 0
 
FM Profile 0 is supported on SSCP-PU and SSCP-SLU sessions. This 
profile specifies the following session rules:

* SSCP, PU, and SLU use immediate request mode and immediate 
response mode.
* Only single-RU chains are allowed.
* All chains require definite response.
* No compression.
* No data flow control (DFC) RUs.
* No FM headers.
* No brackets.
* No alternate code.
* Normal flow send/receive mode is half-duplex contention.
* Secondary wins contention.
* SSCP is responsible for recovery.

FM Profile 2

FM Profile 2 is supported on PLU-SLU sessions using LU type 0. This 
profile uses the following session rules:

* SLU uses delayed request mode.
* SLU uses immediate response mode.
* Only single-RU chains are allowed.
* SLU requests indicate no-response.
* No FMH-1 SCB Compression.
* Length-checked compression allowed.
* No DFC RUs.
* No FM headers.
* SLU is first speaker if brackets are used.
* Bracket termination rule 2 is used if brackets are used.
* PLU will send End Bracket (EB).
* SLU will not send EB.
* Normal-flow send/receive mode is FDX.
* PLU is responsible for recovery.

The following FM Usage fields define the options for Profile 2:

* Primary request control mode selection.
* Primary chain response protocol (no-response cannot be used).
* Brackets usage and reset state.
* Alternate code.

FM Profile 3

FM Profile 3 is supported on PLU-SLU sessions using LU type 0, 
1, 2, or 3. This profile specifies the following session rules:

* PLU and SLU use immediate response mode.
* PLU and SLU support the following DFC commands (an asterisk [*] 
indicates commands permitted by the FM profile that are never sent 
by IRMA WorkStation):
* CANCEL
* SIGNAL
* LUSTAT (SLU-PLU only)
* CHASE*
* SHUTD
* SHUTC
* RSHUTD*
* BID and RTR

The following FM Usage fields define the options for Profile 3:

* Chaining use (PLU and SLU).
* Request control mode selection (PLU and SLU).
* Chain response protocol (PLU and SLU).
* Compression indicator (PLU and SLU).
* Send EB indicator (PLU and SLU).
* FM header usage.
* Bracket usage.
* Bracket termination rule.
* Alternate Code Set Allowed indicator.
* Normal-flow send/receive mode.

Tables 5 through 7 list the FM Profile 3 options that IRMA 
WorkStation supports. IRMA WorkStation rejects any bind that 
specifies an option value not listed in these tables.

Table 5.  SUPPORTED OPTIONS FOR BIND REQUESTS FROM PRIMARY LUS    

USAGE OPTION             VALUE   MEANING

Chaining use element     0       Can send only single-element chains
			 1       Can send single- or multiple-chains

Request control mode     0       Immediate request mode used

Chain response protocol  01      Can request only exception-only 
				 responses
			 10      Can request only definite responses
			 11      Can request definite or exception- 
				 only responses                        

Compression indicator    0       Cannot send compressed data
			 1       Can send compressed data (LU type 1 
				 only)

Send EB indicator        1       Can send End Bracket


Table 6.  SUPPORTED OPTIONS FOR BIND REQUESTS FROM SECONDARY LUS

USAGE OPTION             VALUE   MEANING

Chaining use element     0       Can only send single-element 
				 chains (not LU type 2)
			 1       Can send single- or multiple-chains

Request control mode     0       Immediate request mode used
			 
Chain response protocol  01      Can request only exception-only 
				 responses
			 10      Can request only definite responses
			 11      Can request definite or exception-
				 only responses

Compression indicator    0       Cannot send compressed data

Send EB indicator        1       Cannot send End Bracket


Table 7.  SUPPORTED COMMON PROTOCOL VALUES FOR BIND REQUESTS FROM 
ANY LU

USAGE OPTION             VALUE    MEANING

FM header usage          0        Cannot exchange FM headers
			 1        Can exchange FM headers

Bracket usage            1        Bracket protocols must be used

Bracket termination rule 1        Bracket termination rule 1 is
				  used
Alternate code set 
allowed                  0        Must use EBCDIC

Normal flow send/receive 
mode                     10       Half-duplex flip-flop


FM Profile 4

FM Profile 4 is supported on PLU-SLU sessions using LU type 0 or 
1. This profile uses the following session rules:

* PLU and SLU use immediate response mode.
* PLU and SLU support the following DFC commands (an asterisk [*] 
indicates commands permitted by the FM profile that are never sent 
by IRMA WorkStation):
* CANCEL
* SIGNAL
* LUSTAT
* QEC
* QC
* RELQ
* CHASE*
* SHUTD
* SHUTC
* RSHUTD*
* BID and RTR (allowed only if brackets are used)
* Length-checked compression allowed.

The following FM Usage fields define the options for Profile 4:

* Chaining use (PLU and SLU).
* Request control mode selection (PLU and SLU).
* Chain response protocol (PLU and SLU).
* FMH-1 SCB Compression indicator (PLU and SLU).
* Send EB indicator (PLU and SLU).
* FM header usage.
* Brackets usage and reset state.
* Bracket termination rule.
* Alternate Code Set Allowed indicator.
* Normal-flow send/receive mode.
* Recovery responsibility.
* Contention winner/loser.
* Half-duplex flip-flop reset states.

FM Profile 7

FM Profile 7 is supported on PLU-SLU sessions using LU type 0. 
This profile uses the following session rules:

* PLU and SLU use immediate response mode.
* PLU and SLU support the following DFC commands (an asterisk [*] 
indicates commands permitted by the FM profile that are never sent 
by IRMA WorkStation):
* CANCEL
* SIGNAL
* LUSTAT
* RSHUTD*
* Length-checked compression is allowed on LU 0 only.


The following FM Usage fields define the options for Profile 7:

* Chaining use (PLU and SLU).
* Request control mode selection (PLU and SLU).
* Chain response protocol (PLU and SLU).
* FMH-1 SCB Compression indicator (PLU and SLU).
* Send EB indicator (PLU and SLU).
* FM header usage.
* Brackets usage and reset state.
* Bracket termination rule.
* Alternate Code Set Allowed indicator.
* Normal-flow send/receive mode.
* Recovery responsibility.
* Contention winner/loser.
* Half-duplex flip-flop reset states.

FM Profile 18

FM Profile 18 is supported on PLU-SLU sessions using LU type 0. 
This profile uses the following session rules:

* PLU and SLU use immediate response mode.
* PLU and SLU support the following DFC commands (an asterisk [*] 
indicates commands permitted by the FM profile that are never sent 
by IRMA WorkStation):
* CANCEL
* SIGNAL
* LUSTAT
* BIS and SBI (allowed only if brackets are used)
* CHASE*
* BID and RTR (allowed only if brackets are used)
* Length-checked compression allowed.

The following FM Usage fields define the options for Profile 18:

* Chaining use (PLU and SLU).
* Request control mode selection (PLU and SLU).
* Chain response protocol (PLU and SLU).
* FMH-1 SCB Compression indicator (PLU and SLU).
* Send EB indicator (PLU and SLU).
* FM header usage.
* Brackets usage and reset state.
* Bracket termination rule.
* Alternate Code Set Allowed indicator.
* Normal-flow send/receive mode.
* Recovery responsibility.
* Contention winner/loser.
* Half-duplex flip-flop reset states.

FM Profile 19
 
FM Profile 19 is supported on PLU-SLU sessions using LU type 6.2. 
This profile specifies the following session rules:

* PLU and SLU use immediate request mode.
* PLU and SLU use immediate response mode.
* Multiple RU chains are allowed.
* PLU and SLU requests indicate definite or exception response.
* No compression.
* Brackets are used.
* FM headers (types 5, 7, and 12 only) are allowed.
* Conditional termination for brackets (specified by Conditional 
End Bracket [CEB]) is used.
* PLU and SLU may send CEB.
* Normal-flow send/receive mode is half-duplex flip-flop.
* Half-duplex flip-flop reset state is SEND for PLU.
* Symmetric error responsibility.
* Contention winner/loser negotiated at BIND time.
* PLU and SLU support the following DFC commands:
* SIGNAL
* LUSTAT
* BIS
* RTR

* The following combinations of RQE, RQD, CEB, and CD are allowed 
on end-chain RUs:

RQE             CD      CEB
RQD2            CD      CEB
RQD3            CD      CEB
RQE1            CD      CEB
RQD             CD      CEB

The only option for Profile 19 is contention winner/loser.

Option Set Support
  
Table 8 lists the option sets supported by IRMA WorkStation. The 
reference numbers are those specified in IBM documentation.

Table 8.  IRMA WORKSTATION OPTION SET SUPPORT

REF NO.     OPTION SET

101         Flush the send buffer of the LU
102         Get attributes
103         Post on receipt with test for posting (supported by 
	    asynchronous APPC verbs)
104         Post on receipt with wait (supported by asynchronous 
	    APPC verbs)
105         Prepare to receive
106         Receive immediate
109         Get TP name and instance identifier
110         Get conversation type
201         Queued allocation of a contention winner session
203         Immediate allocation of a session
204         Conversations between programs located at the same LU
205         Queued allocation for when session free
211         Session-level LU-LU verification
212         User ID verification
213         Program-supplied user ID and password
214         User ID authorization
241         Send program initialization parameter (PIP) data
243         Accounting
244         Long locks
245         Test for request-to-send received
246         Data mapping
251         Extract transaction and conversation identification 
	    information
290         Logging of data in a system log
291         Mapped conversation LU services component
505         LU definition verbs (operator only)
601         MIN_CONWINNERS_TARGET parameter
602         RESPONSIBLE(TARGET) parameter
603         DRAIN_TARGET(NO) parameter
605         LU-LU session limit
606         Locally known LU names
607         Uninterpreted LU names
610         Maximum RU size bounds
612         Automatic activation limit for contention winner 


SNA Sense Codes

If there is a communication problem during an SNA session, IRMA 
WorkStation can generate sense codes that notify the remote system 
of the type of problem. The sense codes fall into five distinct 
categories, corresponding to the type of problem that occurred:

VALUE        CATEGORY

X'08'        Request Reject
X'10'        Request Error
X'20'        State Error
X'40'        RH Usage Error
X'80'        Path Error

The following sections list the sense codes by category, and include 
two additional categories of sense codes:

* Sense codes sent by a 3270 emulator on LUSTAT requests
* Sense codes that can only flow on LU type 6.2 sessions

Request Reject (Category X'08')

This category indicates that the request was delivered to the 
intended half session, and was understood and supported, but not 
executed. The following codes are in this category:

CODE        MEANING

0801        Resource not available
0802        Intervention required (LU1/LU3 printer soft error)
0805        Session limit exceeded
0809        Mode inconsistency
080A        Permission rejected, NOTIFY will not be sent
080B        Bracket race error
080C        Procedure not supported
0812        Insufficient resources
0814        Bracket bid reject-RTR forthcoming
0815        Function active
081B        Contention race condition
081C        Request not executable (hard error)
0821        Invalid session parameters
0829        Change direction required
082B        Presentation space integrity lost
082D        LU busy (usually local copy print in progress)
082E        Intervention required (local copy print soft error)
082F        Request not executable (local copy print hard error)
0831        LU component disconnected
0843        WCC print command not sent (RQD or RQE, CD, EB)
0845        Permission rejected, NOTIFY will be sent
0863        Referenced character set does not exist
0871        Read partition state error (SLU in retry state)


Request Errors (Category X'10')

Sense codes in this category represent an imbalance in half-session 
capabilities. They indicate that the RU was delivered to the 
intended half-session but could not be processed. The following 
codes are in this category:

CODE         MEANING

1003         Function not supported (also used instead of X'0826', 
	     which is not supported by IRMA WorkStation).
1005         Parameter modifying a control function is invalid.
1007         Category not supported (SSCP data for host printer).


State Errors (Category X'20')

Sense codes in this category indicate a sequence number error, 
or an RH or RU that is not allowed in the receiver's current state. 
This condition prevents delivery of the request to the intended 
half-session. The following codes are in this category:

CODE         MEANING

2001         Sequence number error
2002         Chaining error
2003         Bracket error
2004         Direction error
2005         Data traffic reset
2006         Data traffic quiesced
2007         Data traffic not quiesced


RH Usage Errors (Category X'40')

These sense codes indicate that fields in the RH are contrary to 
SNA rules or previously selected BIND options and prevent the 
intended half-session from receiving the request.

Also, the checks 400A and 4012 are performed. These do not permit 
negative responses, because they apply to no-response sessions and 
responses, respectively.

The following codes are in this category:

CODE          MEANING

4006          Exception response not allowed.
4007          Definite response not allowed.
400F          Incorrect use of format indicator.
4011          Incorrect specification of RU category.
4014          Incorrect use of DR1, DR2, ER.


Path Errors (Category X'80')

Sense codes in this category indicate that the request could not 
be delivered to the required half-session because of path errors. 
The following codes are in this category:

CODE          MEANING

8004          Unrecognized destination field address (DAF).
8005          No session.
8006          Invalid FID: Error detected and logged; negative 
	      response not sent.
8007          Segmentation error RH not present or too short: 
	      negative response sent only for segmentation error.
8008          PU not active: SSCP-PU was not active and request 
	      was not ACTPU or DACTPU.
8009          LU not active: DAF specified an LU for which the 
	      SSCP-SLU session has not been activated, and request 
	      was not ACTLU or DACTLU.
800F          Invalid address combination.


LUSTAT Sense Codes

The following sense codes are sent by a 3270 emulator on LUSTAT 
requests.

CODE           MEANING

0001 B000      Host initialized local copy soft error recovery.
081C 0000      Soft error changed to hard error (LU1/LU3).
081C B000      Soft error changed to hard error (local copy).
082B 0000      SLU session changed from SSCP to PLU (SYSREQ).


Sense Data Specific to LU Type 6.2

The LU type 6.2 sense codes are specified and interpreted by 
SNA components within IRMA WorkStation, and, in general, are 
presented as return codes and as parameters to specific verbs.

The following sense codes are carried on responses flowing on 
LU type 6.2 sessions.

CODE            MEANING
	  
0814            Bracket bid reject - RTR forthcoming.
0819            RTR not required - receiver of RTR request has 
		nothing to send.
0835            Invalid parameter - request contained a fixed or 
		variable field which is invalid. Bytes 2 and 3 
		contain a 2-byte binary count which indexes the 
		field error (zero origin).
0846            ERP message forthcoming: The received request was 
		rejected for a reason to be specified in a 
		forthcoming FMH-7 request - which itself carries 
		SNA sense data (see the following table for a list 
		of these codes).
088B            BB not accepted - BIS reply requested.
2010            BIS protocol error -receiver detected a BIS error; 
		for example, two BIS replies received.

The following data is carried on an FMH-7 request, flowing after 
the flow of a negative response X'0846'.
   
CODE            MEANING   

1008 600B       Resource failure no retry
1008 6021       Allocation error TPN not recognized
1008 6031       Allocation error PIP not allowed
1008 6032       Allocation error PIP not specified correctly
1008 6034       Allocation error conversation type mismatch
1008 6041       Allocation error sync level not supported by pgm
080F 6051       Allocation error security not valid
084B 6031       Allocation error trans pgm not available retry
084C 0000       Allocation error trans pgm not available no retry
0864 0000       Deallocate abend prog
0864 0001       Deallocate abend svc
0846 0002       Deallocate abend timer
0889 0000       Prog error no trunc or prog error purging
0889 0001       Prog error trunc
0889 0100       Svc error no trunc or svc error purging
0889 1001       Svc error trunc

