--
The name of this header is defined in constant ISHH_NAME. It is
the main HTTP header present on all protocol(IPIC) HTTP requests
and responses.
The IS HTTP header is added by the ISSR send_request and
send_response functions and inspected by the ISRR
process_input_queue function to determine what action to take on
receipt of incoming IPIC data.
It has a prefix and a data component.
The conversation ID, ishh_conv_id, relates the message to its
session. If a new conversation is to be started on a particular
previous session, for example to implement the CICS RM Implicit
Forget protocol, the ishh_prev_conv_id field must be set to the
conversation ID that used that session previously. Otherwise it
should be left blank.
The ishh_msg_seqno is incremented for each new request within a
conversation. This number is allowed to wrap back to 1 after
999999. The reply carries the same ishh_msg_seqno as the request
to which it relates.
There may be multiple chain elements within an IS request or
response. Each IS chain element is an HTTP request or response
message.
The first or only chain element within a request should have
ishh_chain_seqno = 1.
A sender must wait for a pacing response after every four
messages. A pacing message carries no body data.
IS HTTP msgs are:
ISHH_DATA
half duplex flip-flop, conversation level messages. Change
direction is implied at the end of every message, or chain of
messages.
ISHH_EXPD
expedited conversation level command messages that carry no body
data; may be sent with or against the conversation level flow.
ishh_conv_state should be set to ishh_end, indicating that no
reply to the conversation level command is expected.
ISHH_CMD
connection level command messages are at the IPCONN level and
carry no body data; the ishh_conv_id and ishh_conv_state are
ignored.
--------------------------------------------------------------------
Table 1.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
50 |
ISHH_PREFIX |
(0) |
CHARACTER |
10 |
ISHH_PREFIX_V1 |
fixed part of ishh at v1 |
(0) |
CHARACTER |
1 |
ISHH_MAJOR_VERSION |
(1) |
CHARACTER |
1 |
ISHH_MINOR_VERSION |
(2) |
CHARACTER |
1 |
ISHH_MSG_TYPE |
message type: D, C, X |
(3) |
CHARACTER |
1 |
ISHH_CONV_STATE |
conversation state: B, I, E, O |
(4) |
CHARACTER |
6 |
ISHH_CONV_ID |
conversation id correlator |
(A) |
CHARACTER |
0 |
ISHH_PREFIX_END_V1 |
end of fixed part of ishh at v1 |
(A) |
CHARACTER |
8 |
ISHH_PREFIX_V2 |
fixed part of ishh at v2 |
(A) |
CHARACTER |
6 |
ISHH_PREV_CONV_ID |
previous conv id correlator |
(10) |
CHARACTER |
2 |
ISHH_REQUEST_TYPE |
type if request flowed |
(12) |
CHARACTER |
0 |
ISHH_PREFIX_END_V2 |
end of fixed part of ishh at v2 |
(12) |
CHARACTER |
32 |
ISHH_PREFIX_V3 |
fixed part of ishh at v3 |
(12) |
CHARACTER |
16 |
ISHH_CONV_ID8 |
previous conv id correlator |
(22) |
CHARACTER |
16 |
ISHH_PREV_CONV_ID8 |
conv id correlator |
(32) |
CHARACTER |
0 |
ISHH_PREFIX_END_V3 |
end of fixed part of ishh at v2 |
Table 2.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
31 |
ISHH_TYPE_DEP |
msg type dependent part of ishh |
(0) |
CHARACTER |
31 |
ISHH_CONV_DATA |
data (msg_type=D) |
(0) |
CHARACTER |
13 |
ISHH_CONV_DATA_PREFIX |
fixed part of conv_data |
(0) |
CHARACTER |
6 |
ISHH_MSG_SEQNO |
message no. w/n conversation |
(6) |
CHARACTER |
1 |
ISHH_CHAIN |
chain indicator: F, M, L, P |
(7) |
CHARACTER |
6 |
ISHH_CHAIN_SEQNO |
chain element sequence no. |
(D) |
CHARACTER |
18 |
* |
(D) |
CHARACTER |
18 |
ISHH_CONV_ATTACH_DATA |
reqd if conv_state=B |
(D) |
CHARACTER |
4 |
ISHH_ATTACH_TRAN_ID |
mirror tran id |
(11) |
CHARACTER |
8 |
ISHH_SRC_TOKEN |
WLM SRC token |
(19) |
CHARACTER |
5 |
ISHH_CCSID |
client ccsid:' ' for no conv, '-1 ' for default conv |
(1E) |
CHARACTER |
1 |
ISHH_ENDIAN |
client endian:0=little, 1=big |
(0) |
CHARACTER |
4 |
ISHH_CMD_DATA |
command (msg_type=C|X) |
(0) |
CHARACTER |
2 |
ISHH_CMD_ID |
command |
(2) |
CHARACTER |
2 |
* |
reserved |
--
This name of this header is defined in constant ISUH_NAME.
It should only be present when using CICS recovery protocol.
The IS HTTP uowid header is added by the ISSR send_request
function when a new transaction is to be attached in the partner
system.
The data it contains is binary data, unpacked and converted to
ASCII for transmission over HTTP.
--------------------------------------------------------------------
Table 3.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
54 |
ISUH |
(0) |
CHARACTER |
54 |
ISUH_UOW_ID |
Remote UOW ID |
--
This name of this header is defined in constant ISAH_NAME.
It should only be present when a START has been issued where a
TRUE set adapter data and that START was found to be remote. If
this header is present there will not be an ODR header.
The IS HTTP adapter header is added by the ISSR send_request
function when a new transaction is to be attached in the partner
system.
The data it contains is binary data, unpacked and converted to
ASCII for transmission over HTTP.
--------------------------------------------------------------------
Table 4.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
512 |
ISAH |
(0) |
CHARACTER |
512 |
ISAH_ADAPTER_DATA |
Flattened adapter data |
--
The generic field header format.
--------------------------------------------------------------------
Table 5.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
6 |
ISFLD |
(0) |
UNSIGNED |
4 |
ISFLD_LENGTH |
Field length, including itself |
(4) |
UNSIGNED |
2 |
ISFLD_TYPE |
Field type number |
(6) |
CHARACTER |
0 |
ISFLD_DATA |
Field data |
--
The Capability Exchange request message (Type 1).
When an IPIC connection is established between two CICS systems,
or between CICS and a JCA client, an instance of the capability
exchange message is sent by the initiator, immediately after the
first socket (WB session) is opened, before the connection can be
used for any other work.
The Capability Exchange both identifies the partner and defines
any functional constraints it may have.
The IS HTTP headers (ISHH) associated with the capability exchange
messages have a convid of 0.
When the initiator of a connection is a CICS system, this message
is triggered by SET IPCONN ACQUIRED. This SPI command attaches
transaction CISC which issuse DFHISCO acquire_connection to create
a socket and send a Capability Exchange to the partner.
The partner CICS attaches the IPIC TCPIPSERVICE protocol
transaction, CISS by default, to issue DFHISCO
initialize_connection. The initialize_connection function calls
the acquire_connection routine to create a similar connection back
to the initiator, to allow work to be started from the partner
back to the connection initiator.
If the connection initiator has no requirement for a return
connection e.g because it doesn't support inbound requests, the
isce_callback_port should be set to ISCE_NO_PORT. (This is
currently only supported for recovery protocol XA).
If the partner supports multiple sockets per IPCONN, a capability
exchange request is sent for each socket opened. Second and
subsequent capex requests use the isce_reqd_sessions field to
indicate how many IS sessions are to be allocated to the new
socket. Data following the comment isce_primary_data is ignored in
secondary capex requests.
--------------------------------------------------------------------
Table 6.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
84 |
ISCE |
(0) |
CHARACTER |
68 |
ISCE_V11 |
length at v1.1 |
(0) |
CHARACTER |
2 |
ISCE_PREFIX |
(0) |
UNSIGNED |
1 |
ISCE_MAJOR_VERSION |
(1) |
UNSIGNED |
1 |
ISCE_MINOR_VERSION |
(2) |
UNSIGNED |
2 |
ISCE_LEN_FIXED |
length of fixed part |
(4) |
CHARACTER |
16 |
ISCE_FULL_CLIENT_ APPLID |
isce sender's applid |
(4) |
CHARACTER |
8 |
ISCE_CLIENT_NETWORKID |
to match target IPCONN |
(C) |
CHARACTER |
8 |
ISCE_CLIENT_APPLID |
to match target IPCONN |
(14) |
CHARACTER |
16 |
ISCE_FULL_SERVER_ APPLID |
client's view of partner |
(14) |
CHARACTER |
8 |
ISCE_SERVER_NETWORKID |
validated in server |
(1C) |
CHARACTER |
8 |
ISCE_SERVER_APPLID |
validated in server |
(24) |
UNSIGNED |
4 |
ISCE_REQD_SESSIONS |
no. sessions requested |
(28) |
BIT(8) |
1 |
ISCE_FLAGS |
(28) |
1... .... |
|
ISCE_INITIATOR |
1=capex initiator |
(28) |
.1.. .... |
|
ISCE_SECONDARY_SOCKET |
1=capex on secondary socket |
(28) |
..1. .... |
|
ISCE_IPV6_ADDRESS |
1=ipv6 addr used |
(28) |
...1 .... |
|
ISCE_XA_ROLLBACK |
1=rollback mirror if appl- -ication abend occurs |
(28) |
.... 1... |
|
ISCE_HA_CLUSTER_ CONNECT |
1=Request to connect to an HA cluster |
(28) |
.... .1.. |
|
ISCE_HA_SPECIFIC_ CONNECT |
1=Request to connect to a specific region in an HA cluster |
(28) |
.... ..11 |
|
* |
spare |
isce_primary_data. Data after this point in the isce is ignored
for secondary capex requests.
|
(29) |
CHARACTER |
15 |
ISCE_CALLBACK_IPADDR |
|
(38) |
FULLWORD |
4 |
ISCE_CALLBACK_PORT |
NO=-1 |
(3C) |
UNSIGNED |
1 |
ISCE_PREFERRED_ RECOVERY |
1=CICS, 2=XA |
(3D) |
BIT(8) |
1 |
ISCE_SUPPORTED_ PROTOCOLS |
protocols supported |
(3D) |
1... .... |
|
ISCE_RECOV_CICS |
|
(3D) |
.1.. .... |
|
ISCE_RECOV_XA |
|
(3D) |
..11 1111 |
|
* |
spare |
(3E) |
CHARACTER |
6 |
ISCE_CONV_ID |
copy of conv_id |
(44) |
CHARACTER |
16 |
ISCE_V31 |
v3.1 fixed extensions |
(44) |
CHARACTER |
16 |
ISCE_CONV_ID8 |
copy of ishh_conv_id8 |
(54) |
CHARACTER |
0 |
ISCE_SUBFIELDS |
start of variable data |
Table 7.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
ISCE_SUB |
Argument subfield |
(0) |
CHARACTER |
3 |
ISCE_SUB_PREFIX |
Length of subfield |
(0) |
UNSIGNED |
2 |
ISCE_SUB_LEN |
Length of subfield |
(2) |
UNSIGNED |
1 |
ISCE_SUB_TYPE |
Subfield type |
(3) |
CHARACTER |
* |
ISCE_SUB_DATA |
Argument data |
--
The Capability Exchange response message (Type 2).
When iscer_response is iscer_exception, iscer_reason may take any
of the following values:
REASON(AUTOINSTALL_FAILED)
No IPCONN was found to match an incoming IPIC connection and
capability exchange and the subsequent autoinstall attempt was
disallowed or failed.
REASON(INVALID_PARTNER_STATE)
A capability exchange request was received for an IPCONN whose
state is invalid. The IPCONN must be inservice and not already
acquired.
REASON(INVALID_IPCONN_STATE)
An ISCO ACQUIRE_CONNECTION has been issued for an IPCONN whose
state is invalid. The IPCONN must be inservice and released.
REASON(IPCONN_NOT_FOUND)
An ISCO ACQUIRE_CONNECTION has been issued for an IPCONN which
no longer exists.
REASON(ISCE_ERROR)
The capability exchange request was determined to be invalid and
rejected by the partner CICS.
REASON(ISCE_INVALID_APPLID)
The server_applid, or its high level qualifier, in the
capability exchange message does not match the partner CICS's
local applid and high level qualifier.
REASON(ISCE_TIMED_OUT)
The TCPIPSERVICE transaction (CISS by default) has been attached
to initialize a connection for an ipconn but it has not received
its initial data, the capability exchange request, within the
timeout period defined in its transaction profile.
REASON(ISCE_BAD_RECOV)
A capability exchange request has been received that contains an
unsupported isce_preferred_recovery value and no matching
isce_in.isce_supported_protocols flags are set to fallback to.
REASON(ISCER_BAD_RESPONSE)
The callback capability exchange response contains a bad isco
response and reason from the partner CICS.
REASON(ISCER_ERROR)
The callback capability exchange response was determined to be
invalid.
REASON(ISCER_HTTP_ERROR)
The callback capability exchange response contained a bad http
status code.
REASON(ISCER_TIMED_OUT)
DFHISCO acquire_connection has not received a response to its
capability exchange request within the timeout period specified.
REASON(SESSION_OPEN_FAILED)
While acquiring an ipconn, DFHISCO has failed to open a web
session to the partner host defined in the ipconn.
REASON(SHUTDOWN)
A call has been made to DFHISCO to acquire or initialize an
ipconn but CICS has been shutdown before the function completed.
REASON(TCPIP_CLOSED)
DFHISCO acquire_connection has been called for an ipconn but
tcpip is closed.
REASON(TCPIPSERVICE_MISMATCH)
A capability exchange request was received for an IPCONN which
is defined as using a different tcpipservice from that used for
the capability exchange.
REASON(TCPIPSERVICE_NOT_FOUND)
Either acquire_connection has been called for an ipconn but the
tcpipservice named in the ipconn is not installed or
release_connection has been called for a tcpipservice that is no
longer installed.
REASON(TCPIPSERVICE_NOT_OPEN)
DFHISCO acquire_connection has been called for an ipconn but the
tcpipservice named in the ipconn is not open.
REASON(NO_IPCONN)
DFHISCO acquire or release_connection has been called for a
tcpipservice that has no ipconn referencing it.
REASON(ISCER_ONE_WAY_IPCONN)
The caller requires a two-way connection but the partner IPCONN
is defined as one-way.
REASON(ISCER_SECURITY_VIOLATION)
The security credentials of the caller are not
REASON(ISCER_SEC_SOCK_ERROR)
An error occured while attempting to obtain a secondary socket.
REASON(ISCER_CLIENT_CONNECTION_CLOSED)
The client connection has been closed.
REASON(ISCER_INVALID_HA_TCPIPSERVICE)
TCPIPS attributes in server region are invalid for HA.
REASON(ISCER_HA_RESOURCE_MISMATCH)
Resource definitions in client and server regions to establish a
high availability connection do not match.
--------------------------------------------------------------------
Table 8.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
52 |
ISCER |
(0) |
CHARACTER |
50 |
ISCER_V11 |
length at v1.1 |
(0) |
CHARACTER |
2 |
ISCER_PREFIX |
(0) |
UNSIGNED |
1 |
ISCER_MAJOR_VERSION |
(1) |
UNSIGNED |
1 |
ISCER_MINOR_VERSION |
(2) |
UNSIGNED |
1 |
ISCER_RESPONSE |
isco_response |
(3) |
UNSIGNED |
1 |
ISCER_REASON |
isco_reason |
(4) |
UNSIGNED |
4 |
ISCER_MAX_SESSIONS |
max sessions allowed |
(8) |
BIT(64) |
8 |
ISCER_CAPABILITIES |
system capabilities |
(8) |
BIT(8) |
1 |
IS_PROTOCOLS |
protocols supported |
(8) |
1... .... |
|
IS_RECOV_CICS |
|
(8) |
.1.. .... |
|
IS_RECOV_XA |
|
(8) |
..1. .... |
|
IS_ISHH_V2 |
|
(8) |
...1 .... |
|
IS_IMPLICITFORGET |
|
(8) |
.... 1... |
|
IS_IPV6_ADDRESSING |
|
(8) |
.... .1.. |
|
IS_IDPROP |
|
(8) |
.... ..1. |
|
IS_ISHH_V3 |
|
(8) |
.... ...1 |
|
IS_ODR_GT_384 |
|
(9) |
BIT(8) |
1 |
IS_FUNCTIONS |
functions supported |
(9) |
1... .... |
|
IS_SYNCLEVEL2 |
|
(9) |
.1.. .... |
|
IS_DPL |
|
(9) |
..1. .... |
|
IS_CONTAINER |
|
(9) |
...1 .... |
|
IS_START_CANCEL |
|
(9) |
.... 1... |
|
IS_TRANSACTION_ ROUTING |
routing |
(9) |
.... .1.. |
|
IS_REMOTE_SCHEDULES |
|
(9) |
.... ..1. |
|
IS_ENHANCED_ROUTING |
|
(9) |
.... ...1 |
|
IS_FILE_CONTROL |
|
(A) |
BIT(8) |
1 |
IS_FUNCTIONS2 |
more functions supported |
(A) |
1... .... |
|
IS_MIRRORLIFE |
|
(A) |
.1.. .... |
|
IS_TRANSIENT_DATA |
|
(A) |
..1. .... |
|
IS_TEMPORARY_STORAGE |
|
(A) |
...1 .... |
|
IS_TIMEOUT |
|
(A) |
.... 1... |
|
IS_ESI |
|
(A) |
.... .1.. |
|
IS_EDF |
|
(A) |
.... ..1. |
|
IS_IMS |
|
(A) |
.... ...1 |
|
IS_ICRX_ON_START |
|
(B) |
BIT(8) |
1 |
IS_FUNCTIONS3 |
more supported |
(B) |
1... .... |
|
IS_HA |
|
(B) |
.1.. .... |
|
IS_CAC |
|
(B) |
..1. .... |
|
IS_TRANSACTION_ CHANNEL |
|
(B) |
...1 1111 |
|
* |
spare |
(C) |
BIT(32) |
4 |
* |
spare |
(10) |
CHARACTER |
16 |
ISCER_FULL_CLIENT_ APPLID |
client fully qualified applid |
(10) |
CHARACTER |
8 |
ISCER_CLIENT_ NETWORKID |
|
(18) |
CHARACTER |
8 |
ISCER_CLIENT_APPLID |
|
(20) |
CHARACTER |
16 |
ISCER_FULL_SERVER_ APPLID |
server fully qualified applid |
(20) |
CHARACTER |
8 |
ISCER_SERVER_ NETWORKID |
|
(28) |
CHARACTER |
8 |
ISCER_SERVER_APPLID |
|
(30) |
UNSIGNED |
1 |
ISCER_RECOV_PROTOCOL |
1=CICS, 2=XA |
(31) |
BIT(8) |
1 |
ISCER_RESULTS |
negotiated values |
(31) |
1... .... |
|
ISCER_SEC_VERIFY |
auth: verify user sec |
(31) |
.1.. .... |
|
ISCER_SEC_IDENTIFY |
auth: identify user sec |
(31) |
..1. .... |
|
ISCER_SEC_CERTIFICATE |
auth: certificate sec |
(31) |
...1 .... |
|
ISCER_RESYNC |
resync possible |
(31) |
.... 1... |
|
ISCER_HA_CLUSTER_ CONNECT_RESPONSE |
HA: response |
(31) |
.... .111 |
|
* |
spare |
(32) |
CHARACTER |
2 |
ISCER_V21 |
v2.1 fixed extensions |
(32) |
UNSIGNED |
2 |
ISCER_LEN_FIXED |
length of fixed part |
(34) |
CHARACTER |
0 |
ISCER_SUBFIELDS |
start of variable data |
Table 9.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
48 |
ISCER_SUB |
Argument subfield |
(0) |
CHARACTER |
4 |
ISCER_SUB_PREFIX |
Length of subfield |
(0) |
UNSIGNED |
2 |
ISCER_SUB_LEN |
Length of subfield |
(2) |
UNSIGNED |
1 |
ISCER_SUB_TYPE |
Subfield type |
(3) |
UNSIGNED |
1 |
* |
spare |
(4) |
CHARACTER |
44 |
ISCER_SUB_DATA |
sub_type dependent arg data |
(4) |
UNSIGNED |
4 |
ISCER_SUB_NUM_SOCKETS |
Max sockets allowed |
(4) |
UNSIGNED |
4 |
ISCER_SUB_ MIRRORLIFE_DATA |
Mirrorlife field |
(4) |
UNSIGNED |
1 |
ISCER_SUB_ MIRRORLIFE_VALUE |
Mirrorlife value |
(5) |
UNSIGNED |
3 |
* |
Spare |
(4) |
CHARACTER |
44 |
ISCER_SUB_SPECIFIC_ DATA |
HA spec data |
(4) |
FULLWORD |
4 |
ISCER_SUB_SPECIFIC_ PORT |
HA spec port |
(8) |
UNSIGNED |
1 |
ISCER_SUB_SPECIFIC_ IPFAMILY |
HA spec ipfamily |
(9) |
CHARACTER |
39 |
ISCER_SUB_SPECIFIC_ IPADDRESS |
HA spec ipaddr |
(9) |
CHARACTER |
15 |
IPV4 |
|
(9) |
CHARACTER |
39 |
IPV6 |
|
(4) |
CHARACTER |
0 |
* |
--
The Bracket Initiation Stopped (BIS) request message (Type 3)
and the Bracket Initiation Stopped (BISR) response message
(Type 4) have the same format.
When an IPIC connection between two CICS systems is released, a
drain command is sent by the initiator causing both sides to
quiesce: current and queued work is processed, no new work is
accepted. Once all activity on the ipserver connection has
terminated, a BIS message and response is exchanged prior to
closing the web session (socket) IF any send session is flagged
send or receive forget pending i.e if any conversation on that
session has terminated leaving an RM link pending.
The BIS message carries a list of conversations for which forget
is pending.
--------------------------------------------------------------------
Table 10.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
6 |
ISBIS |
(0) |
CHARACTER |
6 |
ISBIS_FIXED |
minimum fixed part |
(0) |
UNSIGNED |
2 |
ISBIS_LEN_FIXED |
length of fixed part |
(2) |
UNSIGNED |
2 |
ISBIS_LEN_CONV_ENTRY |
length of a conv entry |
(4) |
UNSIGNED |
2 |
ISBIS_NUM_CONVS |
Number of conversations |
(6) |
CHARACTER |
0 |
ISBIS_CONV_LIST |
List of conversations |
Table 11.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
6 |
ISBIS_CONV |
Conversation to complete |
(0) |
UNSIGNED |
4 |
ISBIS_CONV_ID |
Conversation id |
(4) |
UNSIGNED |
2 |
ISBIS_CONV_RESP |
BIS response |
Table 12.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
18 |
ISBIS_CONV2 |
Conversation to complete |
(0) |
CHARACTER |
16 |
ISBIS_CONV2_ID8 |
Conversation id8 |
(10) |
UNSIGNED |
2 |
ISBIS_CONV2_RESP |
BIS response |
--
The Syncpoint Command field (Type 6).
The normal syncpoint exchange is as follows:- Initiator
-----------Prepare----------> Agent 1 <------Request
Commit--------
Initiator -------Request Commit-------> Agent 2 (=last agent)
<----------Committed--------- ------------Forget---------->
Initiator -----------Committed--------> Agent 1
<-----------Forget-----------
Alternate flows - When the decision is to roll back the UOW, then
the coordinator sends an FMH7 as the data portion of the Type 6
field.
Resync Flows - Type 6 fields are also used in resync messages,
exchanged between CICS regions. The are preceeded by a Type A
field except in the case of a Forget flow, which contains only the
Type 6 forget field.
XA Resync Flows - An XA client may scheule a resync attempt with
CICS by calling the CISX transaction and passing it a message
containing a Type 6 field followed by a Type C field. The Type 6
field indicates the decision for the UOW, which must either be
COMMITTED or FMH7 (= ROLLBACK).
--------------------------------------------------------------------
Structure of the PS Header used for 2PC protocol messages
Table 13.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
8 |
PS_HEADER |
(0) |
UNSIGNED |
2 |
PS_LL |
(2) |
CHARACTER |
6 |
PS_TP_DATA |
(2) |
UNSIGNED |
1 |
PS_LEN |
(3) |
UNSIGNED |
1 |
PS_TYPE |
(4) |
UNSIGNED |
1 |
PS_FLAGS |
(5) |
UNSIGNED |
1 |
PS_CMD |
(6) |
CHARACTER |
2 |
PS_SPC_MOD |
(6) |
UNSIGNED |
1 |
PS_SPC_MOD0 |
(7) |
UNSIGNED |
1 |
PS_SPC_MOD1 |
--
The Conversation Error field (Type 7).
IS7 messages are similar in intent and content to the SNA FMH7.
Their purpose is to notifiy a partner of an error situation. They
can be sent from client to server or server to client at any time
during a conversation whether the sending partner is in send or
receive state.
SENSE CODES
Many of the sense codes used are equivalent, and have the same
value as those used previously in SNA FMH7 messages (see the SNA
Formats manual). However, as this function is developed it is
expected that new IS domain specific sense codes will be
introduced. Those beginning 0000 are IPIC specific.
- 00000001 ROUTED_TRANS_ABENDED
transaction routed task abended
- 080F0983 ACCESS_DENIED
security error.
- 080F6051 SECURITY_NOT_VALID
security error.
- 08240000 TASK_BACKED_OUT
conversation id no longer valid; task was backed out.
- 08390000 IPCONN_QUIESCING
transaction attach rejected; the partner system is quiescing.
- 084C0000 NOT_AVAIL_NO_RETRY
transaction attach rejected; trans id known but disabled.
- 08640001 DEALLOCATE_ABEND_SVC
mirror has abended.
- 1008600B RESOURCE_FAILURE
system error.
- 10086021 TPN_NOT_RECOGNIZED
transaction attach rejected; unknown transid.
Subfields
- Type 1 - the text of an associated error message.
--------------------------------------------------------------------
Table 14.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
7 |
IS7_DATA |
Type 7 field data |
(0) |
UNSIGNED |
2 |
IS7_LEN_FIXED |
Length of fixed part |
(2) |
BIT(32) |
4 |
IS7_SENSE |
Sense code |
(6) |
BIT(8) |
1 |
IS7_MODIFIER |
Modifier |
(6) |
1... .... |
|
IS7_LOG_DATA |
Error msg present |
(6) |
.1.. .... |
|
IS7_SYSTEM_SESSION |
IS7 sent from system session ! |
(6) |
..11 1111 |
|
* |
Reserved |
Table 15.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
IS7_SUB1 |
Subfield 1 (message) |
(0) |
UNSIGNED |
2 |
IS7_SUB1_LEN |
Length of subfield |
(2) |
UNSIGNED |
1 |
IS7_SUB1_TYPE |
Subfield type 1 |
(3) |
CHARACTER |
* |
IS7_SUB1_MSG |
Message text |
--
The Security field (Type 8).
Subfields
- Type 1 - Userid
- Type 2 - Password
--------------------------------------------------------------------
Table 16.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
3 |
IS8_DATA |
Type 8 subfield data |
(0) |
UNSIGNED |
2 |
IS8_LEN |
Length of subfield |
including this subfield header
|
(2) |
UNSIGNED |
1 |
IS8_TYPE |
Subfield type |
(3) |
CHARACTER |
0 |
IS8_STRING |
Subfield string |
Fields at is8_string
Table 17.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
100 |
IS8_STRING_FIELDS |
(0) |
CHARACTER |
10 |
IS8_STRING_USERID |
(0) |
CHARACTER |
100 |
IS8_STRING_PASSWORD |
(0) |
UNSIGNED |
1 |
IS8_STRING_PASSWORD_ TYPE |
(0) |
CHARACTER |
10 |
IS8_STRING_GROUPID |
--
The External Security Interface field (Type 9).
Subfields
- Type 1 - Userid
- Type 2 - Password (1-8 chars) or Password Phrase (9-100 chars)
--------------------------------------------------------------------
Table 18.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
0 |
IS9_DATA |
Type 9 subfield data |
(0) |
CHARACTER |
0 |
IS9_GDS_DATA |
GDS data |
------------------------------------------------------------------
Input_TP_LLID
The Input_TP_LLID consists of a second LLID pair and data
TP_LL is the total length of the TP record.
TP_ID is the indicator for SIGN-ON or SIGN-ON/CHANGE_PASSWORD.
TP_Data contains the data for this LLID. It is a series of
variable length subfields.
The Input_TP_LLID has the following format:
----------------------------------------------
| L | I | Input_Data | Input_Data | Input_Data |
| L | D | SF(1) | SF(2) | SF(3) |
----------------------------------------------
------------------------------------------------------------------
Table 19.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
INPUT_TP_LLID |
(0) |
UNSIGNED |
2 |
INPUT_TP_LL |
(2) |
UNSIGNED |
2 |
INPUT_TP_ID |
(4) |
CHARACTER |
* |
INPUT_TP_DATA |
------------------------------------------------------------------
Input_SF_LID
Each Input_SF_LID consists of a one byte length, an Id field
and a variable length data field.
SF_L is the total length of the SF record.
SF_Id indicates which subfield type it is.
SF_Data contains the data for this subfield.
The subfields have the following format:
------------
|L|I| SF_Data|
| |d| |
------------
------------------------------------------------------------------
Table 20.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
INPUT_SF_LID |
(0) |
UNSIGNED |
1 |
INPUT_SF_L |
(1) |
UNSIGNED |
1 |
INPUT_SF_ID |
(2) |
CHARACTER |
* |
INPUT_SF_DATA |
------------------------------------------------------------------
Output_GDS_LLID
The Output Data consists of an initial LLID pair and data
GDS_LL is the total length of Output Data.
GSD_ID is the indicator for SIGN-ON data.
GDS_Data contains the data to be passed to the partner.
The Output_GDS_LLID has the following format:
---------------------------------------------------------
| L | I | Output_GDS_Data |
| L | D | |
---------------------------------------------------------
Within the Output_GDS_Data exists a second LLID pair called the
TP record
TP_LL is the total length of the TP record.
TP_ID is the indicator for SIGN-ON reply data.
TP_Data contains the data for this LLID. It is a series of
variable length subfields.
The Output_TP_LLID has the following format:
-------------------------------------------------
| L | I | Output_Data | Output_Data | Output_Data |
| L | D | SF(1) | SF(2) | SF(3) |
-------------------------------------------------
Each subfield has the following format:
-------------
|L|I| SF_Data |
| |d| |
-------------
------------------------------------------------------------------
Table 21.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
229 |
OUTPUT_GDS_LLID |
(0) |
UNSIGNED |
2 |
OUTPUT_GDS_LL |
(2) |
UNSIGNED |
2 |
OUTPUT_GDS_ID |
(4) |
CHARACTER |
225 |
OUTPUT_GDS_DATA |
(4) |
UNSIGNED |
2 |
OUTPUT_TP_LL |
(6) |
UNSIGNED |
2 |
OUTPUT_TP_ID |
(8) |
CHARACTER |
221 |
OUTPUT_TP_DATA |
--
The ICRX Security field (Type 19).
This field may appear together with or without an IS-8 field in a
message.
The format of the ICRX data is not known to the IS domain, and can
be found in the IRRPICRX macro.
--------------------------------------------------------------------
Table 22.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
2000 |
IS19_DATA |
Type 19 subfield data |
(0) |
CHARACTER |
2000 |
IS19_ICRX_DATA |
ICRX data ! |
Need to pull in the GDS structure from ISXS at some point
--
The UOWID recovery field (Type A).
The Type A field is included as part of a DPL request between CICS
regions. It contains the coordinating UOWID, that is then added to
the participant's RM link for its principle facility.
The Type A field also forms the first part of a resync message,
sent between CICS regions. If the corresponding UOW, or an RM link
containing it, cannot be found then the response sent back
contains only a Type A field with the unresolved UOWID in it,
indicating the resync attempt for that UOW has failed.
--------------------------------------------------------------------
Table 23.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
8 |
UOWID_DATA |
Type A field data |
(0) |
CHARACTER |
8 |
UOWID_VALUE |
Unit of Work Identifier |
--
The XID recovery field (Type B).
A Type B field is included in a DPL request from an XA client when
the request is intended to form part of an extended UOW. CICS
takes the XID from the Type B field and stores it with the
corresponding UOW. It can then be matched to a resync attempt
should one be necessary.
--------------------------------------------------------------------
Table 24.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
136 |
XID_DATA |
Type B field data |
(0) |
FULLWORD |
4 |
XID_FORMAT_ID |
Format ID |
(4) |
CHARACTER |
66 |
XID_GTRID |
Global Transaction ID |
(4) |
UNSIGNED |
2 |
XID_GTRID_LENGTH |
(6) |
CHARACTER |
64 |
XID_GTRID_DATA |
(46) |
CHARACTER |
66 |
XID_BQUAL |
Branch Qualifier |
(46) |
UNSIGNED |
2 |
XID_BQUAL_LENGTH |
(48) |
CHARACTER |
64 |
XID_BQUAL_DATA |
--
The XID recovery list field (Type C).
An XA client can request that CICS carrys out a search for any
in-doubt UOWs that have XIDs associated with them. It does so by
sending a message to CICS to start transaction CISX, passing it no
data. The transaction runs and returns a Type C field. The field
consists of 0 to N xidrl_item blocks of data.
An XA client can ask CICS to carry out a resync attempt for a
specific UOW, by calling the CISX transaction and passing it a
message containing a Type 6 field followed by a Type C field. The
Type 6 field contains the UOWs decision, and the Type C contains a
single recovery list item - UOW token + XID. The UOW token may be
set to null when the XA client does not have access to this
information.
--------------------------------------------------------------------
Table 25.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
XIDRL_LIST |
Recovery list |
(0) |
UNSIGNED |
4 |
XIDRL_ITEMS |
Number of items in the list |
(4) |
CHARACTER |
* |
XIDRL_LIST_START |
Start of list items |
Table 26.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
140 |
XIDRL_ITEM |
Recovery list item |
(0) |
UNSIGNED |
4 |
XIDRL_UOW_TOKEN |
RMLN UOW token |
(4) |
CHARACTER |
136 |
XIDRL_XID_VALUE |
--
The ReSync Outcome field (Type C).
The Type C field is exchanged by a pair of CICS regions that are
involved in a resync attempt relating to a particular connection.
One region initiates the resync attempt and, when it has completed
processing the RM links that it has found, sends a message
comprising only of this field to the partner region. The partner
then processes any RM links that it has and responds with its own
Type C message.
--------------------------------------------------------------------
Table 27.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
RSO_DATA |
Type C field data |
(0) |
CHARACTER |
1 |
RSO_VALUE |
Outcome value |
--
The API Request/Response field (Type 43). Note that the length
field for the fixed length part is one byte rather than two to
maintain consistency with SNA FMH43 so that the transformer code
ported into DFHISXF can work unchanged. The same header is used
for requests and responses. Request flows include subfields for
the input parameters. Response flows include subfields for the
output parameters.
Subfield types are assigned to all fields on a particular command
that can be shipped, as follows:
FOR EXEC CICS LINK 02 program 04 length 06 commarea 08 transid 0A
hex transid
--------------------------------------------------------------------
Table 28.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
23 |
IS43_DATA |
Type 43 field data |
(0) |
UNSIGNED |
1 |
IS43_LEN_FIXED |
Length of fixed part |
(1) |
BIT(8) |
1 |
IS43_FMH_TYPE |
Old-style FMH number = 43x |
(2) |
CHARACTER |
1 |
IS43_GROUP |
API command group |
(3) |
CHARACTER |
1 |
IS43_FUNCTION |
API command function |
(4) |
CHARACTER |
1 |
IS43_FMHXMOD |
Old-style fmh field (not used) |
(5) |
CHARACTER |
1 |
IS43_FMHXFXCT |
Old-style fmh field (not used) |
(6) |
UNSIGNED |
1 |
IS43_OPTION_LEN |
Command options length |
(7) |
CHARACTER |
7 |
IS43_OPTIONS |
Option bytes from ARG0 |
(7) |
CHARACTER |
2 |
IS43_ARG_EXISTENCE |
Argument existence bits |
(9) |
CHARACTER |
1 |
IS43_COMMAND_FLAGS |
Command modifier flags |
(A) |
CHARACTER |
4 |
IS43_KEYW_EXISTENCE |
Keyword existence bits |
(E) |
UNSIGNED |
1 |
IS43_INVPROG_LEN |
Invoking program name length |
(F) |
CHARACTER |
8 |
IS43_INVPROG |
Invoking program name |
(17) |
CHARACTER |
0 |
IS43_SUBFIELDS |
Start of subfields |
Table 29.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
* |
IS43_SUB |
Argument subfield |
(0) |
UNSIGNED |
2 |
IS43_SUB_LEN |
Length of subfield |
(2) |
UNSIGNED |
1 |
IS43_SUB_TYPE |
Subfield type (arg num x 2) |
(3) |
CHARACTER |
* |
IS43_SUB_DATA |
Argument data |
--
The Channel header field (Type 44). This structure MUST match the
definition of DFHCHAN in DFHAPCR. If present, this field will
always follow an IS43, and will be followed by zero or more IS45s.
--------------------------------------------------------------------
Table 30.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
40 |
DFHCHAN |
(0) |
UNSIGNED |
2 |
CHAN_LEN |
Length of channel header |
(2) |
CHARACTER |
8 |
CHAN_EYE |
Eye catcher |
(A) |
CHARACTER |
16 |
CHAN_INAME |
Name of channel |
(1A) |
UNSIGNED |
1 |
CHAN_VERSION |
Version of channel header |
(1B) |
CHARACTER |
5 |
* |
May be useful one day |
(20) |
UNSIGNED |
4 |
CHAN_CCSID |
Channel codepage (as CCSID) |
(24) |
UNSIGNED |
4 |
CHAN_CNUM |
Total number of containers |
--
The Container field (Type 45). This structure MUST match the
definition of DFHCHDR in DFHAPCR. The container data follows
immediately after the DFHCHDR fields. Note that the upper size
limit for an individual container is currently 2G-1. The bin(32)
length in the IS45 header allows for containers up to
4G-1-length(isfld)-length(dfhchdr), so it is sufficient for the
time being. If containers longer than this are ever supported, a
new IS field that allows splitting of a container into multiple
fields will be required. Every instance of this field will always
be preceded by either another IS45 or an IS44.
--------------------------------------------------------------------
Table 31.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
32 |
DFHCHDR |
(0) |
UNSIGNED |
2 |
CHDR_LEN |
length of container header |
(2) |
CHARACTER |
8 |
CHDR_EYE |
Eye catcher |
(A) |
CHARACTER |
16 |
CHDR_CNAME |
Name of container |
(1A) |
BIT(8) |
1 |
CHDR_BITS |
(1A) |
1... .... |
|
CHDR_DELETED |
Container is deleted |
(1A) |
.1.. .... |
|
CHDR_CHANGED |
Container is changed |
(1A) |
..1. .... |
|
CHDR_READONLY |
Container is readonly |
(1A) |
...1 .... |
|
CHDR_CICS |
Container is owned by system |
(1A) |
.... 1111 |
|
* |
(1B) |
CHARACTER |
1 |
CHDR_DATATYPE |
Datatype (see values below) |
(1C) |
UNSIGNED |
4 |
CHDR_CCSID |
Codepage (as CCSID) |
--
The Transaction Routing Attach field (Type 50).
This IS field is used to identify a request by a routing region
for a transaction routed transaction to be attached.
It carries transaction identification and terminal identification
parameters together with other parameter information for the
transaction that is to be attached in an AOR.
It is also followed by argument fields that are created and
interpreted by the IPIC Transaction Routing Transformer DFHAPRX.
--------------------------------------------------------------------
Table 32.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
32 |
IS50_DATA |
Type 50 field data |
(0) |
UNSIGNED |
2 |
IS50_LEN |
Length of field |
(2) |
CHARACTER |
28 |
* |
Terminal identification |
(2) |
CHARACTER |
8 |
IS50_TERMINAL_OWNER_ NETWORK |
Network name of TOR |
(A) |
CHARACTER |
8 |
IS50_TERMINAL_OWNER_ NETNAME |
Netname name of TOR |
(12) |
CHARACTER |
4 |
IS50_TERMID |
Terminal id in owning region |
(16) |
CHARACTER |
8 |
IS50_TERMINAL_TOKEN |
Terminal definition token |
(1E) |
UNSIGNED |
1 |
IS50_PRIORITY |
Priority value to pass to AOR |
(1F) |
BIT(8) |
1 |
* |
(1F) |
1... .... |
|
IS50_TERMINAL_ SHIPPABLE |
Terminal shippable(yes) |
(1F) |
.1.. .... |
|
IS50_TERMINAL_APPC |
Terminal is APPC device |
(1F) |
..1. .... |
|
IS50_CHANNEL_SEND |
Channel data is being sent |
(1F) |
...1 .... |
|
IS50_SET_PRIORITY |
Pass priority value to AOR |
(1F) |
.... 1111 |
|
* |
(20) |
CHARACTER |
0 |
IS50_ARGUMENTS |
Start of arguments |
--
The Transaction Routing Inquire Request field (Type 51).
This IS field is used to identify a request issued by an
application owning region to a routing region for terminal
definition parameters. It also identifies a response.
For a response, this IS field carries AP domain parameter
information in argument fields. This parameter information is a
Builder Parameter Set that is supplied by ZC Builder modules
(DFHBSxxx modules) from a DFHZCQ function INQUIRE and used as
input to ZC Builder modules with a DFHZCQ function INSTALL to
install a terminal definition in the AP domain of an application
owning region.
--------------------------------------------------------------------
Table 33.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
2 |
IS51_DATA |
Type 51 field data ! |
(0) |
UNSIGNED |
2 |
IS51_LEN |
Length of field ! |
(2) |
CHARACTER |
0 |
IS51_ARGUMENTS |
Start of arguments ! |
--
The Transaction Routing Relay Request field (Type 55).
This IS field is used to identify a terminal request issued in an
application owning region that is to be relayed to a routing
region. It also identifies a response.
It carries AP domain parameter information in argument fields that
identify the terminal request or response. The argument fields are
created and interpreted by the IPIC Transaction Routing
Transformer DFHAPRX.
--------------------------------------------------------------------
Table 34.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
2 |
IS55_DATA |
Type 55 field data ! |
(0) |
UNSIGNED |
2 |
IS55_LEN |
Length of field ! |
(2) |
CHARACTER |
0 |
IS55_ARGUMENTS |
Start of arguments ! |
--
The Transaction Routing Schedule Request field (Type 60).
This IS field is used to identify a remote schedule request. This
could be a remote terminal request issued in response to a
terminal START and flowing from the AOR to the TOR, or a remote
delete request for a badly-disconected terminal that had been
running CRTE flowing from the TOR to the AOR.
The flow is sent by and receieved by DFHCRS.
--------------------------------------------------------------------
Table 35.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
30 |
IS60_DATA |
Remote schedule request |
(0) |
UNSIGNED |
2 |
IS60_LEN |
Length of field |
(2) |
UNSIGNED |
2 |
* |
(4) |
CHARACTER |
2 |
IS60_CRSSTAT |
Request status (CRSSTAT) |
(6) |
CHARACTER |
4 |
IS60_TRANSID |
Name of transaction to be started |
(CRSTRNID)
|
(A) |
CHARACTER |
4 |
IS60_TERMID |
Terminal id in owning region |
(CRSFQTID)
|
(E) |
CHARACTER |
8 |
IS60_TERMNAME |
Netname of terminal (CRSFQTID) |
(16) |
CHARACTER |
8 |
IS60_NETNAME |
Network name of TOR (CRSNNAM) |
--
The Transaction Routing Schedule Response field (Type 61).
This IS field is used to identify a remote schedule response. This
is the response to the IS60 remote schedule request described
above.
The flow is sent by and receieved by DFHCRS.
--------------------------------------------------------------------
Table 36.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
20 |
IS61_DATA |
Remote schedule response |
(0) |
UNSIGNED |
2 |
IS61_LEN |
Length of field |
(2) |
UNSIGNED |
2 |
* |
(4) |
UNSIGNED |
4 |
IS61_RESPONSE |
Response code (CRSRESPC) |
(8) |
CHARACTER |
8 |
IS61_TARGET_APPLID |
Name of new TOR to try (CRSR_TARGET_APPL) |
(10) |
CHARACTER |
4 |
IS61_TOR_TERMID |
Termid on TOR (CRSR_TOR_TERMID) |
--
The ACD field (Type 62).
This field may appear if application context needs to be passed on
a request.
The format of the ACD data is not known to the IS domain, and can
be found in DFHMNAC.
--------------------------------------------------------------------
Table 37.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
4 |
IS62_DATA |
Type 62 subfield data |
(0) |
FULLWORD |
4 |
IS62_ACD_LEN |
ACD len |
(4) |
CHARACTER |
0 |
IS62_ACD_DATA |
ACD data |
Table 38.
Len |
Type |
Value |
Name |
Description |
Constants for the IS HTTP header names.
The HTTP header names and character data will be converted to
ASCII for transmission.
--------------------------------------------------------------------
|
13 |
CHARACTER |
X-ibm-cics-is |
ISHH_NAME |
14 |
CHARACTER |
ARM_ CORRELATOR |
ISAC_NAME |
17 |
CHARACTER |
X-ibm-cics-is-uo w |
ISUH_NAME |
17 |
CHARACTER |
X-ibm-cics-is-od r |
ISOH_NAME |
21 |
CHARACTER |
X-ibm-cics-is-ad apter |
ISAH_NAME |
Values of major_version
|
1 |
CHARACTER |
1 |
ISHH_MAJOR_V1 |
1 |
CHARACTER |
2 |
ISHH_MAJOR_V2 |
1 |
CHARACTER |
3 |
ISHH_MAJOR_V3 |
1 |
CHARACTER |
3 |
ISHH_MAJOR_CURRENT |
Values of minor_version
|
1 |
CHARACTER |
1 |
ISHH_MINOR_V1 |
1 |
CHARACTER |
1 |
ISHH_MINOR_CURRENT |
Values of ishh_chain
|
1 |
CHARACTER |
F |
ISHH_FIRST |
first in chain |
1 |
CHARACTER |
M |
ISHH_MIDDLE |
middle in chain |
1 |
CHARACTER |
L |
ISHH_LAST |
last or only in chain |
1 |
CHARACTER |
P |
ISHH_PACING |
pacing response(no data) |
Values of ishh_conv_state
|
1 |
CHARACTER |
B |
ISHH_BEGIN |
first request in conv |
1 |
CHARACTER |
I |
ISHH_IN |
in conversation |
1 |
CHARACTER |
E |
ISHH_END |
final or only req/resp |
1 |
CHARACTER |
O |
ISHH_ONLY |
1st + last msg |
Values of ishh_msg_type
|
1 |
CHARACTER |
D |
ISHH_DATA |
conversation data |
1 |
CHARACTER |
X |
ISHH_EXPD |
conversation level cmd |
1 |
CHARACTER |
C |
ISHH_CMD |
connection level command |
Values of ishh_request_type
|
2 |
CHARACTER |
FC |
ISHH_FC |
FC request |
2 |
CHARACTER |
IC |
ISHH_IC |
IC request |
2 |
CHARACTER |
LN |
ISHH_DPL |
DPL request |
2 |
CHARACTER |
TD |
ISHH_TD |
TD request |
2 |
CHARACTER |
TR |
ISHH_TR |
TR request |
2 |
CHARACTER |
TS |
ISHH_TS |
TS request |
2 |
CHARACTER |
|
ISHH_OTHER |
Non-EXEC request |
ishh_ccsid, required for msg_type=D & conv_state=B, has value:
- a 5 digit decimal IBM CCSID supported by dfhcnv or
- blanks for no data conversion for e.g DPL commareas or
- minus one for the default client code page (CLINTCP) to be used
e.g. for when the input CCSID can not be determined
|
5 |
CHARACTER |
|
ISHH_NO_CONV |
no data conversion |
5 |
CHARACTER |
-1 |
ISHH_DEFAULT_CONV |
use default code page |
Values of ishh_endian for msg_type=D if conv_state=B
|
1 |
CHARACTER |
0 |
ISHH_LITTLE_ENDIAN |
little endian |
1 |
CHARACTER |
1 |
ISHH_BIG_ENDIAN |
big endian |
Values of ishh_cmd_id for ishh_msg_type=ISHH_CMD
|
2 |
CHARACTER |
01 |
ISHH_DRAIN |
drain |
2 |
CHARACTER |
98 |
ISHH_PING |
ping |
2 |
CHARACTER |
99 |
ISHH_PONG |
ping response |
Both the connection level ping flows consist of an IS Header and a
zero length message body.
Values of ishh_cmd_id for ishh_msg_type=ISHH_EXPD
|
1 |
CHARACTER |
5 |
ISHH_PURGE |
Any version of purge |
2 |
CHARACTER |
50 |
ISHH_TIMEOUT |
timeout |
2 |
CHARACTER |
51 |
ISHH_PURGE_NORMAL |
purge |
2 |
CHARACTER |
52 |
ISHH_PURGE_FORCE |
forcepurge |
2 |
CHARACTER |
53 |
ISHH_PURGE_KILL |
kill |
Constants for the types of the IS message fields. All data within
the request or response message is preceded by a header containing
one of these types.
--------------------------------------------------------------------
TYPE 1 - CAPABILITIY EXCHANGE REQUEST
|
2 |
DECIMAL |
1 |
ISFLD_TYPE_CE |
TYPE 2 - CAPABILITIY EXCHANGE RESPONSE
|
2 |
DECIMAL |
2 |
ISFLD_TYPE_CER |
TYPE 3 - BRACKET INITIATION STOPPED (BIS) REQUEST
|
2 |
DECIMAL |
3 |
ISFLD_TYPE_BIS |
TYPE 4 - BRACKET INITIATION STOPPED (BIS) RESPONSE
|
2 |
DECIMAL |
4 |
ISFLD_TYPE_BISR |
|
TYPE 6 - SYNCPOINT COMMAND (= SNA PS Header)
|
2 |
DECIMAL |
6 |
ISFLD_TYPE_SPC |
TYPE 7 - CONVERSATION ERROR (= SNA FMH7)
|
2 |
DECIMAL |
7 |
ISFLD_TYPE_ERROR |
TYPE 8 - SECURITY
|
2 |
DECIMAL |
8 |
ISFLD_TYPE_SEC |
TYPE 9 - ESI
|
2 |
DECIMAL |
9 |
ISFLD_TYPE_ESI |
TYPE 10 - UNIT OR WORK ID RECOVERY DATA
|
2 |
DECIMAL |
10 |
ISFLD_TYPE_UOWID |
TYPE 11 - XID RECOVERY DATA
|
2 |
DECIMAL |
11 |
ISFLD_TYPE_XID |
TYPE 12 - XID RECOVERY LIST
|
2 |
DECIMAL |
12 |
ISFLD_TYPE_XIDRL |
TYPE 13 - RESYNC OUTCOME
|
2 |
DECIMAL |
13 |
ISFLD_TYPE_RSO |
TYPE 19 - ICRX = ID-propagation
|
2 |
DECIMAL |
25 |
ISFLD_TYPE_ICRX |
TYPE 43 - API REQUEST/RESPONSE (= SNA FMH43)
|
2 |
DECIMAL |
67 |
ISFLD_TYPE_API |
TYPE 44 - CHANNEL HEADER
|
2 |
DECIMAL |
68 |
ISFLD_TYPE_CHANNEL |
TYPE 45 - CONTAINER
|
2 |
DECIMAL |
69 |
ISFLD_TYPE_CONTAINER |
TYPE 46 - FREE REQUEST
|
2 |
DECIMAL |
70 |
ISFLD_TYPE_FREE |
TYPE 50 - TRANSACTION ROUTING ATTACH REQUEST
|
2 |
DECIMAL |
80 |
ISFLD_TYPE_TR_ATTACH |
TYPE 51 - TRANSACTION ROUTING INQUIRE REQUEST/RESPONSE
|
2 |
DECIMAL |
81 |
ISFLD_TYPE_TR_INQUIRE |
TYPE 55 - TRANSACTION ROUTING RELAY REQUEST/RESPONSE
|
2 |
DECIMAL |
85 |
ISFLD_TYPE_TR_RELAY |
TYPE 60 - TRANSACTION ROUTING SCHEDULE REQUEST
|
2 |
DECIMAL |
96 |
ISFLD_TYPE_TR_ SCHEDULE_REQUEST |
TYPE 61 - TRANSACTION ROUTING SCHEDULE RESPONSE
|
2 |
DECIMAL |
97 |
ISFLD_TYPE_TR_ SCHEDULE_RESPONSE |
TYPE 62 - APPLICATION CONTEXT HEADER
|
2 |
DECIMAL |
98 |
ISFLD_TYPE_ACD |
Values of isce_sub_type
|
1 |
DECIMAL |
1 |
ISCE_SUB_LOGNAME |
Local logname |
1 |
DECIMAL |
2 |
ISCE_SUB_IPV6_ADDR |
IPv6 callback addr |
Values of major_version
|
1 |
DECIMAL |
1 |
ISCE_MAJOR_V1 |
1 |
DECIMAL |
2 |
ISCE_MAJOR_V2 |
1 |
DECIMAL |
3 |
ISCE_MAJOR_V3 |
1 |
DECIMAL |
3 |
ISCE_MAJOR_CURRENT |
Values of minor_version
|
1 |
DECIMAL |
1 |
ISCE_MINOR_V1 |
1 |
DECIMAL |
1 |
ISCE_MINOR_CURRENT |
Values of isce_callback_port (1-65535 or IS_NO_PORT)
|
4 |
DECIMAL |
-1 |
IS_NO_PORT |
Values of isce_recovery
|
1 |
DECIMAL |
1 |
IS_CICS |
1 |
DECIMAL |
2 |
IS_XA |
Values of iscer_sub_type
|
1 |
DECIMAL |
1 |
ISCER_SUB_MAX_SOCKETS |
|
|
|
|
Number of sockets |
1 |
DECIMAL |
2 |
ISCER_SUB_MIRRORLIFE |
Mirrorlife |
1 |
DECIMAL |
3 |
ISCER_SUB_SPECIFIC |
Spec data |
1 |
DECIMAL |
4 |
ISCER_SUB_SPEC_IPV6 |
Spec ipv6 |
Values of iscer_response
|
1 |
DECIMAL |
1 |
ISCER_OK |
1 |
DECIMAL |
2 |
ISCER_EXCEPTION |
1 |
DECIMAL |
3 |
ISCER_DISASTER |
1 |
DECIMAL |
4 |
ISCER_INVALID |
1 |
DECIMAL |
5 |
ISCER_KERNERROR |
1 |
DECIMAL |
6 |
ISCER_PURGED |
Values of iscer_reason
|
1 |
DECIMAL |
1 |
ISCER_AUTOINSTALL_ FAILED |
1 |
DECIMAL |
2 |
ISCER_INVALID_IPCONN_ STATE |
1 |
DECIMAL |
3 |
ISCER_INVALID_PARTNER_ STATE |
1 |
DECIMAL |
4 |
ISCER_IPCONN_NOT_FOUND |
1 |
DECIMAL |
5 |
ISCER_ISCE_ERROR |
1 |
DECIMAL |
6 |
ISCER_ISCE_INVALID_ APPLID |
1 |
DECIMAL |
7 |
ISCER_ISCE_TIMED_OUT |
1 |
DECIMAL |
8 |
ISCER_ISCE_BAD_RECOV |
1 |
DECIMAL |
9 |
ISCER_ISCER_BAD_ RESPONSE |
1 |
DECIMAL |
10 |
ISCER_ISCER_ERROR |
1 |
DECIMAL |
11 |
ISCER_ISCER_HTTP_ERROR |
1 |
DECIMAL |
12 |
ISCER_ISCER_TIMED_OUT |
1 |
DECIMAL |
13 |
ISCER_SESSION_OPEN_ FAILED |
1 |
DECIMAL |
14 |
ISCER_SHUTDOWN |
1 |
DECIMAL |
15 |
ISCER_TCPIP_CLOSED |
1 |
DECIMAL |
16 |
ISCER_TCPIPSERVICE_ MISMATCH |
1 |
DECIMAL |
17 |
ISCER_TCPIPSERVICE_ NOT_FOUND |
1 |
DECIMAL |
18 |
ISCER_TCPIPSERVICE_ NOT_OPEN |
1 |
DECIMAL |
19 |
ISCER_NO_IPCONN |
1 |
DECIMAL |
20 |
ISCER_ONE_WAY_IPCONN |
1 |
DECIMAL |
21 |
ISCER_CAPEX_RACE |
1 |
DECIMAL |
22 |
ISCER_SECURITY_ VIOLATION |
1 |
DECIMAL |
23 |
ISCER_SEC_SOCK_ERROR |
1 |
DECIMAL |
24 |
ISCER_CLIENT_SOCKET_ ERROR |
1 |
DECIMAL |
25 |
ISCER_INVALID_HA_ TCPIPSERVICE |
1 |
DECIMAL |
26 |
ISCER_HA_RESOURCE_ MISMATCH |
NOTE - remember to change the logic in dfhisco_check_iscer_reason
when any new reason codes are added here.
|
1 |
DECIMAL |
99 |
ISCER_UNKNOWN |
Values of isbis_conv_resp
|
2 |
DECIMAL |
0 |
ISBIS_FORGET_PENDING |
2 |
DECIMAL |
1 |
ISBIS_OK_TO_FORGET |
2 |
DECIMAL |
2 |
ISBIS_FORGET_RESOLVED |
2 |
DECIMAL |
3 |
ISBIS_TASK_ACTIVE |
2 |
DECIMAL |
4 |
ISBIS_FORGET_NOT_ PENDING |
2 |
DECIMAL |
5 |
ISBIS_CONV_NOT_FOUND |
PS LL value is fixed for all messages
|
2 |
DECIMAL |
1 |
PS_LL_VALUE |
Header Length constants for SP messages
|
1 |
DECIMAL |
6 |
PS_HLEN_PREP |
Prepare |
1 |
DECIMAL |
6 |
PS_HLEN_RCOM |
Request Commit |
1 |
DECIMAL |
4 |
PS_HLEN_CMTD |
Committed |
1 |
DECIMAL |
4 |
PS_HLEN_FGET |
Forget |
1 |
DECIMAL |
4 |
PS_HLEN_HMIX |
Heuristic Mix |
1 |
DECIMAL |
4 |
PS_HLEN_NLUW |
New LUWID |
Default syncpoint control type - always 0001010b
|
1 |
DECIMAL |
10 |
PS_TYPE_SPC |
Syncpoint Control |
Flag byte values
|
1 |
DECIMAL |
64 |
PS_FLAG_PFLD |
Prep + new LU |
1 |
DECIMAL |
96 |
PS_FLAG_CFLD |
RCom Reserved |
1 |
DECIMAL |
64 |
PS_FLAG_CFLB |
RCom Reliable |
1 |
DECIMAL |
32 |
PS_FLAG_CFLV |
Vote reliable |
1 |
DECIMAL |
8 |
PS_FLAG_FGET |
Implied Forget |
1 |
DECIMAL |
0 |
PS_FLAG_NFGT |
No Implied Forget |
1 |
DECIMAL |
0 |
PS_FLAG_ZERO |
Cleared |
Command byte values
|
1 |
DECIMAL |
5 |
PS_CMD_PREP |
Prepare |
1 |
DECIMAL |
6 |
PS_CMD_RCOM |
Request Commit |
1 |
DECIMAL |
7 |
PS_CMD_CMTD |
Committed |
1 |
DECIMAL |
8 |
PS_CMD_FGET |
Forget |
1 |
DECIMAL |
9 |
PS_CMD_HMIX |
Heuristic Mix |
SyncPoint Control Modifications
|
2 |
DECIMAL |
0 |
PS_SPCM_REQR |
Request Received |
2 |
DECIMAL |
1 |
PS_SPCM_REQL |
Request Last |
2 |
DECIMAL |
2 |
PS_SPCM_REQS |
Request Sent |
1 |
DECIMAL |
1 |
IS7_SUB_MESSAGE |
FMH7 Sense Codes used by IS domain in IS7 fields.
|
4 |
DECIMAL |
1 |
ISSNS_ROUTED_TRANS_ ABENDED |
4 |
DECIMAL |
135203203 |
ISSNS_ACCESS_DENIED |
4 |
DECIMAL |
135225425 |
ISSNS_SECURITY_NOT_ VALID |
4 |
DECIMAL |
135593984 |
ISSNS_DUPLICATE_ PREPARE |
4 |
DECIMAL |
136577024 |
ISSNS_TASK_BACKED_OUT |
4 |
DECIMAL |
136577025 |
ISSNS_TASK_BACKED_OUT_ 1 |
4 |
DECIMAL |
137953280 |
ISSNS_IPCONN_QUIESCING |
4 |
DECIMAL |
139198464 |
ISSNS_NOT_AVAIL_NO_ RETRY |
4 |
DECIMAL |
140771329 |
ISSNS_DEALLOCATE_ ABEND_SVC |
4 |
DECIMAL |
268984331 |
ISSNS_RESOURCE_FAILURE |
4 |
DECIMAL |
268984353 |
ISSNS_TPN_NOT_ RECOGNIZED |
Values for is8_type
|
1 |
DECIMAL |
1 |
IS8_USERID |
1 |
DECIMAL |
2 |
IS8_PASSWORD |
1 |
DECIMAL |
3 |
IS8_PASSWORD_TYPE |
1 |
DECIMAL |
4 |
IS8_GROUPID |
Values for is8_string_password_type
|
1 |
DECIMAL |
1 |
IS8_PASSWORD_MASKED |
Default |
1 |
DECIMAL |
2 |
IS8_PASSWORD_CLEAR |
Various GDS field length constants
|
1 |
DECIMAL |
8 |
MAX_USERID_LENGTH |
1 |
DECIMAL |
100 |
MAX_PASSWORD_LENGTH |
1 |
DECIMAL |
221 |
MAX_TOTAL_SF_LENGTH |
Identifiers used for describing GDS input and output data
|
2 |
HEX |
1221 |
VERIFY_TP_ID |
2 |
HEX |
FF00 |
VERIFY_ID |
2 |
HEX |
FF01 |
CHANGE_PASSWORD_ID |
2 |
HEX |
FF02 |
VERIFY_REPLY_ID |
Valid Subfield identifiers
|
1 |
HEX |
00 |
PROFILE_SF_ID |
1 |
HEX |
01 |
USERID_SF_ID |
1 |
HEX |
02 |
PASSWORD_SF_ID |
1 |
HEX |
03 |
THREE_PART_UID_SF_ID1 |
1 |
HEX |
04 |
THREE_PART_UID_SF_ID2 |
1 |
HEX |
05 |
THREE_PART_UID_SF_ID3 |
1 |
HEX |
06 |
NEW_PASSWORD_SF_ID |
Reasons used for Unsuccessful Reply
|
1 |
HEX |
01 |
USERID_NOT_KNOWN |
1 |
HEX |
02 |
INCORRECT_PASSWORD |
1 |
HEX |
03 |
EXPIRED_PASSWORD |
1 |
HEX |
04 |
NEW_PASSWORD_NOT_ ACCEPTABLE |
1 |
HEX |
05 |
SECURITY_FUNCTION_ FAILURE |
Invalid Data Format format errors
|
2 |
HEX |
0001 |
REQUIRED_STRUCTURE_ ABSENT |
2 |
HEX |
0002 |
PRECLUDED_STRUCTURE_ PRESENT |
2 |
HEX |
0003 |
MULTIPLE_NON_ REPEATABLE_STRUCT |
2 |
HEX |
0005 |
UNRECOGNIZED_STRUCTURE |
2 |
HEX |
0006 |
LENGTH_OUTSIDE_RANGE |
2 |
HEX |
0007 |
LENGTH_EXCEPTION |
2 |
HEX |
000F |
DATA_VALUE_OUT_OF_ RANGE |
4 |
DECIMAL |
2000 |
MAX_ICRX_SIZE |
|
1 |
CHARACTER |
S |
RSO_SUCCESS |
1 |
CHARACTER |
F |
RSO_FAILURE |
1 |
DECIMAL |
2 |
IS43_SUB_PROGRAM |
LINK program name |
1 |
DECIMAL |
4 |
IS43_SUB_CLENGTH |
LINK commarea length |
1 |
DECIMAL |
6 |
IS43_SUB_COMMAREA |
LINK commarea |
1 |
DECIMAL |
8 |
IS43_SUB_TRANSID |
LINK mirror transid |
1 |
DECIMAL |
10 |
IS43_SUB_HEXTRANS |
LINK mirror hex transid |
Constant for chan_version
|
1 |
DECIMAL |
1 |
CHAN_CURRENT_VERSION |
Constant for chan_eye
|
8 |
CHARACTER |
>DFHCHAN |
CHAN_EYECATCHER |
Constant for chdr_eye
|
8 |
CHARACTER |
>DFHCHDR |
CHDR_EYECATCHER |
Values for chdr_datatype
|
1 |
CHAR HEX |
01 |
CHDR_BIT |
1 |
CHAR HEX |
02 |
CHDR_CHAR |
1 |
CHAR HEX |
03 |
CHDR_STRUCTURE |
Reserved for release 2 |