Identifying the API call in a send or receive exit program

When we use MQI channels for clients, byte 10 of the agent buffer identifies the API call in use when a send or receive exit is called. This is useful for identifying which channel flows include user data and might require processing such as encryption or digital signing.

The following table shows the data that appears in byte 10 of the channel flow when an API call is being processed. Note: These are not the only values of this byte. There are other reserved values.
Table 1. Identifying API calls
API call Value of byte 10 for request Value of byte 10 for reply
MQCONN 1, 2 X'81' X'91'
MQDISC 1 X'82' X'92'
MQOPEN 3 X'83' X'93'
MQCLOSE X'84' X'94'
MQGET 4 X'85' X'95'
MQPUT 4 X'86' X'96'
MQPUT1 request 4 X'87' X'97'
MQSET request X'88' X'98'
MQINQ request X'89' X'99'
MQCMIT request X'8A' X'9A'
MQBACK request X'8B' X'9B'
MQSTAT request X'8D' X'9D'
MQSUB request X'8E' X'9E'
MQSUBRQ request X'8F' X'9F'
xa_start request X'A1' X'B1'
xa_end request X'A2' X'B2'
xa_open request X'A3' X'B3'
xa_close request X'A4' X'B4'
xa_prepare request X'A5' X'B5'
xa_commit request X'A6' X'B6'
xa_rollback request X'A7' X'B7'
xa_forget request X'A8' X'B8'
xa_recover request X'A9' X'B9'
xa_complete request X'AA' X'BA'
Notes:
  1. The connection between the client and server is initiated by the client application using MQCONN. Therefore, for this command in particular, there are several other network flows. The same applies to MQDISC, which terminates the network connection.
  2. MQCONNX is treated in the same way as MQCONN for the purposes of the client-server connection.
  3. If a large distribution list is opened, there might be more than one network flow per MQOPEN call in order to pass all the required data to the SVRCONN MCA.
  4. Large messages can exceed the transmission segment size. If this happens there can be many network flows resulting from a single API call.