Summary of control requests and indicators
- Normal-flow data-flow-control requests
- Expedited-flow data-flow-control requests
- Session-control requests
- Change-direction indicator
- Bracket indicators.
- 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
- 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.
| 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:
(See How requests and responses are exchanged for further details about controlling the handling of normal-flow 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. |
||||
| 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). |
|||||
| 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:
|
||||
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.
| 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. |
| 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:
|
||||
- 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.
| 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.
| 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. |