📄 rfc1647.txt
字号:
When establishing an SNA session on behalf of a client, the server will receive a Bind RU from the host application. It will also receive a Start Data Traffic RU. Once both of these have been responded to positively by the server, it must then inform the client of the presence of this session by sending it a data message with the DATA-TYPE flag set to BIND-IMAGE. The data portion of this message must contain the bind image exactly as it was received in the Bind RU that the server accepted on behalf of the client.Kelly [Page 21]RFC 1647 TN3270 Enhancements July 1994 When an SNA session between the server and a host application is terminated, the server should send a data message to the client with the DATA-TYPE flag set to UNBIND. If the server was notified of the session termination via an SNA Unbind RU, it should include the Unbind reason code in the data portion of the message it sends to the client. If the server itself requested the SNA session termination (for example, as part of SYSREQ key processing), it should set the data portion of the UNBIND message to 0x01, indicating "normal end of session". Another aspect of the BIND-IMAGE function alters the allowable DATA-TYPE flag values slightly from the behavior described in the section entitled "Basic TN3270E". When BIND-IMAGE is in effect, data messages with DATA-TYPE set to 3270-DATA or SCS-DATA are not allowed before the first BIND-IMAGE is received by the client; only SSCP-LU-DATA or NVT-DATA can be used to transmit user- oriented data. The same applies to data messages exchanged after an UNBIND is sent and before another BIND-IMAGE is received by the client. Once the client receives a BIND-IMAGE data message, the allowable DATA-TYPE values include 3270-DATA and/or SCS-DATA, depending on whether a terminal or printer device-type was negotiated, and whether a printer client agreed to DATA-STREAM-CTL or SCS-CTL-CODES, or both. (See the section entitled "The SYSREQ Function" for further discussion of the SSCP-LU session in an SNA environment.) 10.4 The RESPONSES Function This function can be supported for both terminal and printer sessions connected to both SNA and non-SNA servers. Agreement to support this function requires that the party support the following TN3270E header values: Header field Value ------------ ----- DATA-TYPE RESPONSE DATA-TYPE REQUEST RESPONSE-FLAG -all values- REQUEST-FLAG ERR-COND-CLEARED SEQ-NUMBER binary values from 0-32767 Whenever a data message is sent with a DATA-TYPE of either SCS- DATA or 3270-DATA, the sender must set the RESPONSE-FLAG field to either NO-RESPONSE, ERROR-RESPONSE, or ALWAYS-RESPONSE. It is anticipated that the client side will normally set RESPONSE-FLAG to NO-RESPONSE. The server, if it represents an SNA device, should set RESPONSE-FLAG to reflect the response value set in theKelly [Page 22]RFC 1647 TN3270 Enhancements July 1994 RH of the RU that generated this data message - Definite Response resulting in a RESPONSE-FLAG value of ALWAYS-RESPONSE, Exception Response resulting in ERROR-RESPONSE being set, and No Response causing a setting of NO-RESPONSE. A non-SNA server should set RESPONSE-FLAG to ERROR-RESPONSE. In addition, the sender must keep a count of the messages with a DATA-TYPE of 3270-DATA or SCS-DATA that it sends on a given session. This counter should start at zero for the first such message, and be incremented by one for each subsequent message. If the counter reaches the maximum of 32767, it should be restarted at zero. The sender should place this value in the SEQ-NUMBER field of the TN3270E header before it sends the message. Note that the SEQ-NUMBER field must be set regardless of the value of the RESPONSE-FLAG field. 10.4.1 Response Messages Whenever a data message with a DATA-TYPE of either SCS-DATA or 3270-DATA is received, the receiver must attempt to process the data in the data portion of the message, then determine whether or not it should send a data message with a DATA-TYPE of RESPONSE. If the data message it has just processed had a RESPONSE-FLAG value of NO-RESPONSE, or if it had a value of ERROR-RESPONSE and there were no errors encountered while processing the data, then no RESPONSE type message should be sent. Otherwise, a data message should be sent in which the header DATA-TYPE field is set to RESPONSE, and in which the SEQ-NUMBER field is a copy of the SEQ-NUMBER field from the message to which this response corresponds. The RESPONSE-FLAG field in this header must have a value of either POSITIVE- RESPONSE or NEGATIVE-RESPONSE. A POSITIVE-RESPONSE should be sent if the previously processed message's header specified ALWAYS-RESPONSE and no errors were encountered in processing the data. A NEGATIVE-RESPONSE should be sent when 1) the previously processed message specified ERROR-RESPONSE or ALWAYS-RESPONSE and 2) some kind of error occurred while processing the data. Normally only the client will be constructing and sending these RESPONSE messages. A negative response sent by the client to the server is the equivalent of a Unit Check Status [7]. All references to device status and sense codes in this section rely on [7].Kelly [Page 23]RFC 1647 TN3270 Enhancements July 1994 The data portion of a RESPONSE message must consist of one byte of binary data. The value of this byte gives a more detailed account of the results of having processed the previously received data message. The possible values for this byte are: For a RESPONSE-FLAG value of POSITIVE-RESPONSE - Value Meaning ----- ------- 0x00 Successful completion (when sent by the client, this is equivalent to "Device End"). For a RESPONSE-FLAG value of NEGATIVE-RESPONSE - Value Meaning ----- ------- 0x00 An invalid 3270 command was received (equivalent to "Command Reject"). 0x01 Printer is not ready (equivalent to "Intervention Required"). 0x02 An illegal 3270 buffer address or order sequence was received (equivalent to "Operation Check"). 0x03 Printer is powered off or not connected (equivalent to "Component Disconnected"). When the server receives any of the above responses, it should pass along the appropriate information to the host application. The appropriate information is determined by whether the server represents an SNA or a non-SNA device. An SNA server should pass along a POSITIVE-RESPONSE from the client as an SNA positive Response Unit to the host application. It should translate a NEGATIVE-RESPONSE from the client into an SNA negative Response Unit in which the Sense Data Indicator bit is on and which contains one of the following sense codes:Kelly [Page 24]RFC 1647 TN3270 Enhancements July 1994 RESPONSE-FLAG Equivalent SNA Sense Code ------------- ---------- -------------- 0x00 Command Reject 0x10030000 0x01 Intervention Required 0x08020000 0x02 Operation Check 0x10050000 0x03 Component Disconnected 0x08310000 A non-SNA server should pass along a POSITIVE-RESPONSE from the client by setting the Device End Status bit on. It should reflect a NEGATIVE-RESPONSE from the client by setting the Unit Check Status Bit on, and setting either the Command Reject, Intervention Required, or Operation Check Sense bit on when responding to the Sense command. In the case of Intervention Required or Component Disconnected being passed by the server to the host application, the host would normally refrain from sending any further data to the printer. If and when the error condition at the client has been resolved, the client must send to the server a data message whose header DATA-TYPE field is set to REQUEST, and whose REQUEST-FLAG is set to ERR-COND-CLEARED. Note that this message has no data portion. Upon receipt of this message, the server should pass along the appropriate information to the host application so that it may resume sending printer output. Again, the form of this information depends on whether the server represents an SNA or a non-SNA device. An SNA server should reflect an ERR-COND-CLEARED to the host application by sending an SNA LUSTAT RU with one of the following sense codes: - if the previous error condition was an Intervention Required, the server should send sense code 0x00010000 - if the previous error condition was Component Disconnected, the server should send sense code 0x082B0000 A non-SNA server should set the corresponding bits in the Ending Status and Sense Condition bytes.Kelly [Page 25]RFC 1647 TN3270 Enhancements July 1994 10.5 The SYSREQ Function This function can only be supported when the TN3270E server represents SNA devices. Agreement to support this function requires that the party support the following TN3270E header values: Header field Value ------------ ----- DATA-TYPE SSCP-LU-DATA The 3270 SYSREQ key can be useful in an SNA environment when the ATTN key is not sufficient to terminate a process. (See the section entitled "The 3270 ATTN Key" for more information.) 10.5.1 Background In SNA, there is a session between the host application (the PLU, or Primary Logical Unit) and the TN3270E server representing the client (the SLU, or Secondary Logical Unit). This is referred to as the PLU-SLU session, and it is the one on which normal communications flow. There is also a session between the host telecommunications access method (the SSCP, or System Services Control Point) and the SLU, and it is referred to as the SSCP-LU session. This session is used to carry various control information and is normally transparent to the user; normal 3270 data stream orders are not allowed in this data. For more information, refer to [7]. The terminal display and keyboard are usually "owned" by the PLU-SLU session, meaning any data the user types is sent to the host application. The SYSREQ key is used to toggle ownership of the keyboard and display between the PLU-SLU session and the SSCP-LU session. In other words, the user is able to press SYSREQ and then communicate directly with the host SSCP. The user may then enter any valid Unformatted Systems Services commands, which are defined in the USS table associated with the SLU. The most common USS command users employ is "LOGOFF," which requests that the SSCP immediately terminate the PLU-SLU session. The usual reason for requesting such an action is that the host application (the PLU) has stopped responding altogether. Whenever the keyboard and display are owned by the SSCP-LU session, no data is allowed to flow in e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -