📄 rfc2355.txt
字号:
A client representing a printer device uses this function to indicate
its willingness to accept a data stream that includes SCS control
codes. For the purposes of NVT mode versus 3270 mode, SCS-DATA must
be treated exactly like 3270-DATA (i.e., it can cause a switch from
NVT mode to 3270 mode).
When a printer device-type has been negotiated, either the SCS-CTL-
CODES function or the DATA-STREAM-CTL function, or both, must be
negotiated. This enables the server to know when it should and
should not accept a session with a host application on behalf of the
client. If only the SCS-CTL-CODES function is agreed to, then the
server will not establish sessions with host applications that would
send 3270 data stream control. If both SCS-CTL-CODES and DATA-
STREAM-CTL are agreed to, then the server will establish sessions
both with host applications that would send SCS control codes and
with those that would send 3270 orders.
The server should send a TN3270E message with DATA-TYPE set to
PRINT-EOJ at the end of each print job to indicate to the client that
it may now take whatever action is appropriate for its environment
(e.g., close a disk or spool file, etc.). The server may have
multiple criteria for determining when it should send a PRINT-EOJ,
Kelly Standards Track [Page 22]
RFC 2355 TN3270 Enhancements June 1998
such as receipt of SNA End Bracket from the host application, or
expiration of a pre-defined timeout value.
10.2 The DATA-STREAM-CTL Function
This function can only be supported on a 3270 printer session.
Agreement to support this function requires that the party support
the following TN3270E header values:
Header field Value
------------ -----
DATA-TYPE 3270-DATA
DATA-TYPE PRINT-EOJ
A client representing a printer device uses this function to indicate
its willingness to accept a data stream that includes 3270 orders and
attributes.
When a printer device-type has been negotiated, either the SCS-CTL-
CODES function or the DATA-STREAM-CTL function, or both, must be
negotiated. This enables the server to know when it should and
should not accept a session with a host application on behalf of the
client. If only the DATA-STREAM-CTL function is agreed to, then the
server will not establish sessions with host applications that would
send SCS control codes in a data stream. If both SCS-CTL-CODES and
DATA-STREAM-CTL are agreed to, then the server will establish
sessions both with host applications that would send SCS control
codes and with those that would send 3270 orders.
The server should send a TN3270E message with DATA-TYPE set to
PRINT-EOJ at the end of each print job to indicate to the client that
it may now take whatever action is appropriate for its environment
(e.g., close a disk or spool file, etc.). The server may have
multiple criteria for determining when it should send a PRINT-EOJ,
such as receipt of SNA End Bracket from the host application, or
expiration of a pre-defined timeout value.
Kelly Standards Track [Page 23]
RFC 2355 TN3270 Enhancements June 1998
10.3 The BIND-IMAGE Function
This function can only be supported when the TN3270E server
represents SNA terminals and printers.
Agreement to support this function requires that the party support
the following TN3270E header values:
Header field Value
------------ -----
DATA-TYPE BIND-IMAGE
DATA-TYPE UNBIND
DATA-TYPE SSCP-LU-DATA
When BIND-IMAGE is in effect, the server must inform the client when
an SNA session has been established with a host application, and when
such a session has been terminated. It uses DATA-TYPE values of
BIND-IMAGE and UNBIND to convey this information.
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. The format and
maximum length of this bind image are defined in [6].
When an SNA session between the server and a host application is
terminated, the server must 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,
Kelly Standards Track [Page 24]
RFC 2355 TN3270 Enhancements June 1998
in addition to SSCP-LU-DATA, now 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 the 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 TN3270E
session. This counter should start at zero for the first such
message, and be incremented by one for each subsequent message. Note
that this counter is independent of any SNA sequence numbers, and
should not be reset to zero as a result of Bind or Unbind. If the
counter reaches the maximum of 32767, it should be restarted at zero.
The sender must 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.
Kelly Standards Track [Page 25]
RFC 2355 TN3270 Enhancements June 1998
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].
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").
Kelly Standards Track [Page 26]
RFC 2355 TN3270 Enhancements June 1998
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:
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 depen
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -