z/OS Communications Server: SNA Programming
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Summary of control requests and indicators

z/OS Communications Server: SNA Programming
SC27-3674-00

This appendix contains tables (Table 1 through Table 8) that summarize the SNA control requests and indicators sent and received by VTAM® application programs. The tables summarize:
  • Normal-flow data-flow-control requests
  • Expedited-flow data-flow-control requests
  • Session-control requests
  • Change-direction indicator
  • Bracket indicators.
For normal-flow data-flow-control requests, expedited-flow data-flow-control requests, and session-control requests, the following information for sending each request is provided:
  • The purpose of each request
  • Who can send it
  • The macroinstruction used by an application program to send it
  • The RU type of the request
  • The next action to be taken by the sender
The following information for receiving each request is also provided:
  • Who can receive it
  • How it is received by the application program
  • Who sends the response to the request
  • The next action to be taken by the receiver

For the change-direction and bracket indicators, the information is summarized with the entry for each indicator providing information on both sending and receiving the indicator.

The ability to send and receive the indicators and control requests described in this appendix is determined by the session parameter agreed on by the application program and the logical unit (LU) when the session is established. For detailed information on a session parameter, see Specifying a session parameter.

Table 1. Summary of sending normal-flow data-flow-control requests
Request sent Function Who can send Macroinstruction used by application program to send RU type Next action by sender
Bid Asks receiver for permission to begin a bracket. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=BID  DFSYN  Expects response from receiver. Response indicates whether the sender can begin a bracket.
Bracket Initiation Stopped (BIS) Tells the receiver that the sender will not begin any new brackets. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=BIS  DFSYN  Expects response from receiver. Refrains from beginning any new brackets.
Cancel Tells receiver to purge request of incomplete chain it is receiving. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=BIS  DFSYN  Expects response from receiver. Positive response indicates that chain requests have been purged.
CHASE Tells receiver to send response to any data request or normal-flow request it has not yet responded to. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=CANCEL  DFSYN  Expects response from receiver. When response to CHASE request is received, the sender of the request knows that all normal-flow responses are accounted for.
Logical Unit Status (LUSTAT) Informs receiver of a condition encountered at the sender's end of the session. Codes indicating reason for sending the request are placed in the SSENSEO, SSENSMO and USENSEO fields of the RPL. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=LUS  DFSYN  Expects response from receiver. Subsequent action depends on the sense information sent in LUSTAT.
Quiesce Complete (QC) Tells receiver that the sender has quiesced itself (as the result of receipt of a Quiesce at End of Chain request) and will not send any normal-flow requests until released. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=QC  DFSYN  Expects response from receiver. Refrains from sending any normal-flow requests until a Release Quiesce request is received.
Ready to Receive (RTR) Tells the receiver that the receiver can now send a request to begin a bracket. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=RTR  DFSYN  Expects response from receiver. After receiving the response, an application program issues RECEIVE  RTYPE=DFSYN to receive a normal-flow request with the begin-bracket indicator set on.
Notes:
An application program can receive the response in one of the following ways, depending on how the program is coded:
  • By specifying POST=RESP in SEND (SEND is not completed until response is received)
  • By issuing RECEIVE RTYPE=RESP (a RESP response)
  • In a RESP exit routine
  • By issuing RECEIVE RTYPE=DFSYN (a DFSYN response).

(See How requests and responses are exchanged for further details about controlling the handling of normal-flow requests.)

Table 2. Summary of receiving normal-flow data-flow-control requests
Request received Who can receive How received by application program Who sends response if receiver is a VTAM application program Next action by receiver
Bid Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain BID. Application program Sends positive response to indicate bidder can start a bracket. Sends a negative response to deny permission to start a bracket. Application program sends response with SEND ....,STYPE=RESP, CONTROL=BID, RESPOND=(response operands).
Bracket Initiation Stopped (BIS) Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain BIS. Application program Sends response to Bracket Initiation chains that have been received. Then sends positive response. Application SEND ...,STYPE=RESP,  CONTROL=BIS,  RESPOND=(response operands).
Cancel Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain CANCEL. Application program Purges any requests of incomplete chains that have been received. Then sends positive response. Application program sends response with SEND ...,STYPE=RESP, CONTROL=CANCEL,  RESPOND=(response operands).
Chase Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain CHASE. Application program If any responses to previously received data requests or normal-flow requests have not been sent, sends those responses. Then sends response to Chase request. Application program sends response to Chase request with SEND ...,STYPE=RESP, CONTROL=CHASE,  RESPOND=(response operands).
Logical Unit Status (LUSTAT) Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain LUS. Codes indicating reason for the request are in the SSENSEI, SSENSMI, and USENSEI fields of the RPL. Application program Examines codes in SSENSEI, SSENSMI, and USENSEI fields of RPL and takes action based on those codes. Then sends response to LUSTAT request. Application program sends response with SEND ...,STYPE=RESP, CONTROL=LUS,  RESPOND=(response operands).
Quiesce Complete (QC) Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain QC. Application program Sends response to Quiesce Complete request. Application program sends response with SEND ...,STYPE=RESP,  CONTROL=LUS,  RESPOND=(response operands).
Ready to Receive (RTR) Primary or secondary logical unit RECEIVE  RTYPE=DFSYN  CONTROL field in RPL will contain RTR. Application program Sends response to Ready to Receive request by using SEND ....,STYPE=RESP, CONTROL=RTR,  RESPOND=(response operands). Then sends a request that includes BRACKET=BB.
Note:

If the application program sends a negative response, the SSENSEO, SSENSMO, and USENSEO fields are used.

Table 3. Summary of sending expedited-flow-control requests
Request sent Function Who can send Macroinstruction used by application program RU type Next action by sender
Quiesce at End of Chain (QEC) Tells the receiver to quit sending normal-flow requests now, or, if chaining, at the end of the chain being sent. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=QEC  DFASY  Expects response from receiver. After receiving positive response, awaits Quiesce Complete.
Release Quiesce Tells the receiver that it can now resume sending normal-flow requests. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=RELQ  DFASY  Expects response from receiver. After receiving positive response, prepares to receive normal-flow input. An application program issues RECEIVE RTYPE=DFSYN.
Request Shutdown (RSHUTD) Asks the primary logical unit to terminate this session with the secondary logical unit. Secondary logical unit only SEND STYPE=REQ,  CONTROL=RSHUTD  DFASY  Expects response from receiver. Response indicates that request has been properly received. Prepares for session termination.
Shutdown Complete (SHUTC) Tells the primary logical unit that shutdown operations (requested previously in a Shutdown request from the primary logical unit) have been completed. Secondary logical unit only SEND STYPE=REQ,  CONTROL=SHUTC  DFASY Expects response from receiver. Response indicates that request has been properly received.
Shutdown (SHUTD) Tells the secondary logical unit to quiesce itself and to perform all preparations for Shutdown. Primary logical unit only SEND STYPE=REQ,  CONTROL=SHUTD  DFASY  Expects response from receiver. Response indicates that request has been properly received. Then, expects to receive Shutdown Complete request from the secondary logical unit.
Signal Passes 4 bytes of Signal information with an agreed-upon meaning. Signal information is placed in the SIGDATA field of the RPL. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=SIGNAL  DFASY  Expects response from receiver. Response indicates that request has been properly received.
Stop Bracket Initiation (SBI) Tells receiver not to begin any new brackets. Primary or secondary logical unit SEND STYPE=REQ,  CONTROL=SBI  DFASY  Expects response from receiver. Response indicates that request has been properly received.
Note:

An application program receives the response in SEND (SEND is not completed unit response is received).

Table 4. Summary of receiving expedited-flow data-flow-control requests
Request received Who can receive How received by application program Who sends response if receiver is a VTAM application program Next action by receiver
Quiesce at End of Chain (QEC) Primary or secondary logical unit Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL will contain QEC. Either VTAM or the program sends the response. Halts sending of normal-flow requests immediately or at end of chain. Then sends Quiesce Complete (QC) request to sender of QEC request.
Release Quiesce (RELQ) Primary or secondary logical unit Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL contains RELQ. Either VTAM or the program sends the response. Sends a normal-flow request to sender of RELQ request, if desired.
Request Shutdown (RSHUTD) Primary logical unit only Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL contains RSHUTD. Either VTAM or the program sends the response. Terminates the session with the secondary logical unit.
Shutdown Complete (SHUTC) Primary logical unit only Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL will contain SHUTC. Either VTAM or the program sends the response. Issues a Chase request (if permitted by FM profile) to ensure that all responses have been received. Then ends the session with the secondary logical unit.
Shutdown (SHUTD) Secondary logical unit only Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL will contain SHUTD. Either VTAM or the program sends the response. If necessary, stops normal-flow transmission to the primary logical unit. Performs all preparations for shutdown. Then sends the Shutdown Complete request to the primary logical unit.
Signal Primary or secondary logical unit Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL contains SIGNAL. Four byes of information are in the SIGDATA field of the RPL. Either VTAM or the program sends the response. Depends on the contents of the Signal information.
Stop Bracket Initiation (SBI) Primary or secondary logical unit Either RECEIVE RTYPE=DFASY or in DFASY exit routine. CONTROL field in RPL will contain SBI. Either VTAM or the program sends the response. Sends a Bracket Initiation Stopped (BIS) request to SBI sender and then refrains from initiating any new brackets.
Notes:
The responder to expedited-flow data-flow-control request is determined by the setting of a PROC option in the NIB when the session is established:
  • If PROC=APPLRESP was specified in the NIB, the application program sends the response using SEND...,STYPE=RESP,CONTROL=request code or received request, RESPOND=(response operands). If a negative response is sent the SSENSEO, SSENSMO, and USENSEO fields are used.
  • If PROC=SYSRESP was specified in the NIB, VTAM automatically sends the response before presenting the request to the application program.

The session-control requests, described in the following table, control session-related functions and are sent separately from normal- and expedited-flow-control requests and their responses.

Table 5. Summary of sending session-control requests
Request sent Function Who can send Macroinstruction used by application program to send Next action by sender
Bind Session (BIND) Informs the receiver that the sender wants to go into session with the receiver. A session parameter is sent as part of the Bind Session request. Primary logical unit Indirectly, by issuing the OPNDST macroinstruction VTAM handles response and does not complete the OPNDST until response is received. Positive response causes VTAM to complete setting up the session. Negative response negates the session. After positive response, either VTAM or the PLU application program sends the Start Data Traffic request (if required by TS profile).
Clear For certain TS profiles, tells VTAM and the receiver to stop sending data and data-flow-control requests and responses. Causes VTAM to discard any requests and responses still in the network and not yet delivered. Resets outbound and inbound sequence numbers at both ends of the session to 0. Primary logical unit SESSIONC  STYPE=REQ,  CONTROL=CLEAR  Response reflected in RPL on completion of SESSIONC macroinstruction. VTAM handles response.
Request Recovery (RQR) Informs primary logical unit that recovery action is needed. Secondary logical unit SESSIONC  STYPE=REQ,  CONTROL=RQR  In an SLU application program, response reflected in RPL on completion of SESSIONC macroinstruction. After receiving positive response, awaits next request from the primary logical unit (usually the Clear request).
Set and Test Sequence Numbers (STSN) Exchanges information with secondary logical unit to allow sequence numbers to be determined or set or both. Primary logical unit SESSIONC  STYPE=REQ,  CONTROL=STSN  and settings in IBSQAC, OBSQAC,  IBSQVAL, and OBSQVAL fields Response reflected in RPL on completion of SESSIONC macroinstruction. Tests IBSQAC, OBSQAC, IBSQVAL, and OBSQVAL fields to determine answers to action codes and values sent in the request.
Start Data Traffic (SDT) Informs secondary logical unit that session setup or recovery is complete and flow of data and data-flow-control requests and responses can begin. Primary logical unit SESSIONC  STYPE=REQ,  CONTROL=SDT.  VTAM sends command at beginning of session if SDT=SYSTEM was set in NIB when the session was established. Depending on the session parameter, you may send first requested or wait for secondary logical unit to send a request.
Unbind Session (UNBIND) Informs VTAM and the receiver that the session is being terminated. Primary logical unit, secondary logical unit, or other network component PLU application program can send indirectly by issuing CLSDST or TERMSESS.  Continues communications on sessions with other logical units, or closes program.
Table 6. Summary of receiving session-control requests
Request received Who can receive How received by application program Who sends response if receiver is a VTAM application program Next action by receiver
Bind Session (BIND) Secondary logical unit In SCIP exit Application program ¹ Examines a session parameter in BIND request and determines whether the complete set of parameters is acceptable. If acceptable, sends positive response. (For SLU application program, positive response results from issuance of the OPNSEC macroinstruction.) If not acceptable, sends negative response. (SLU application program sends negative response with SESSIONC ...,STYPE=RESP, CONTROL=BIND,  RESPOND=(response operands).)
Clear Secondary logical unit In SCIP exit VTAM  Stops sending requests and responses, and awaits next request from the primary logical unit.
Request Recovery (RQR) Primary logical unit In SCIP exit VTAM  Initiates recovery action, usually by sending the Clear request followed by a Set and Test Sequence Numbers request and then a Start Data Traffic request.
Set and Test Sequence Numbers (STSN) Secondary logical unit In SCIP exit Application program ¹ Examines action codes and sequence number values provided with the request. Prepares answering action codes and values and puts them in IBSQAC, OBSQAC, IBSQVAL, and OBSQVAL fields. Then, sends response with SESSIONC ...,STYPE=RESP, CONTROL=STSN. 
Start Data Traffic (SDT) Secondary logical unit In SCIP exit Depending on the SDT field in the NIB used during OPNSEC processing, either the secondary application program ¹ or VTAM may respond ² After response is sent, depending on session parameter, you may send first request or wait for primary logical unit to send request.
Unbind Session (UNBIND) Primary logical unit or secondary logical unit In SCIP exit ³ VTAM  Continues communication on sessions with other logical units, or closes program.
Notes:
  1. If the application program sends a negative response, the SSENSEO, SSENSMO, and USENSEO fields are used.
  2. If the secondary application program specified SDT=APPL for the NIB used in OPNSEC processing, the secondary application program responds. Otherwise (SDT=SYSTEM), VTAM responds.
  3. Alternatively, for a PLU application program, the NSEXIT or LOSTERM exit routines may be invoked. See Session outage notification (SON) codes on UNBIND.
 
Change-direction indicator
The change-direction indicator can be set on (designated CD) in a normal-flow data request or in a Cancel, Chase, Quiesce Complete, or LU Status request. The request containing the CD must be a single-request chain (CHAIN=ONLY) or the last request in a chain.
Table 7. Summary of change-direction indicator
Indicator Function PLU or SLU application program can send/receive Macroinstruction used or RPL field set RU type Next action expected
Change Direction (CD) Tells the receiver that it may now send. Send SEND  CHNGDIR=CMD  DFSYN  Start receiving from the opposite end of the session.
Receive CHNGDIR field in RPL contains CMD DFSYN  Start sending from the opposite end of the session.
Bracket indicators
The normal-flow control requests Bid and Ready to Receive are used by the VTAM application program to determine whether it can send a request with the begin-bracket indicator set on (designated BB).

BB and CEB can be sent in a data request or an LU Status request. The end-bracket indicator can be set on (designated EB) in a data request or in a Cancel, Chase, Quiesce Complete, or LU Status request. The request containing the BB or EB must be a single-request chain (CHAIN=ONLY) or the first request of a chain. The request containing the CEB must be a single-request chain or the last request in a chain.

Table 8. Summary of bracket indicators
Indicator Function PLU or SLU application program can send/receive Macroinstruction used or RPL field set RU type Next action expected
Begin Bracket (BB) Indicates first chain in a bracket. Send SEND Bracket=BB  DFSYN  Continues to send or waits to receive, according to user conventions.
Receive BRACKET field in RPL contains BB DFSYN  Accept or reject the request to start a bracket.
End Bracket (EB) Indicates last chain in a bracket. Send SEND BRACKET=EB  DFSYN  Attempts to start a new bracket, or waits for other LU to start a bracket, according to user conventions.
Receive BRACKET field in RPL contains EB DFSYN  Attempts to start a new bracket, or waits for other LU to start a bracket, according to user conventions.    
Conditional End Bracket (CEB) Indicates last chain in a bracket. Send SEND BRACKET=CEB  DFSYN  Attempts to start a new bracket, or waits for other LU to start a bracket, according to user conventions.
Receive BRACKET field in RPL contains CEB DFSYN  Attempts to start a new bracket, or waits for other LU to start a bracket, according to user conventions.    

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014