Control callback - MQ_CTL_EXIT
MQ_CTL_EXIT provides a subscription request exit function to perform before and after control callback processing. Use function identifier MQXF_CTL with exit reasons MQXR_BEFORE and MQXR_AFTER to register before and after control callback call exit functions.
The interface to this function is:
MQ_CTL_EXIT (&Hconn, &Operation, &ControlOpts, &CompCode, &Reason)
where
the parameters are:- Hconn (MQHCONN) - input/output
- Connection handle.
- Operation (MQLONG) input/output
- The operation being processed on the callback defined for the specified object handle
- ControlOpts (MQCTLO) input/output
- Options that control the action of MQCTL
- CompCode (MQLONG) - input/output
- Completion code, valid values for which are:
- MQCC_OK
- Successful completion.
- MQCC_WARNING
- Partial completion.
- MQCC_FAILED
- Call failed
- Reason (MQLONG) - input/output
- Reason code qualifying the completion code.
If the completion code is MQCC_OK, the only valid value is:
- MQRC_NONE
- (0, x'000') No reason to report.
C language invocation
The queue manager logically defines the following variables:
MQHCONN Hconn; /* Connection handle */
MQLONG Operation; /* Operation being processed */
MQCTLO ControlOpts; /* Options that control the action of MQCTL */
MQLONG CompCode; /* Completion code */
MQLONG Reason; /* Reason code qualifying completion code */
The queue manager then logically calls the exit as follows:
MQ_CTL_EXIT (&Hconn, &Operation, &ControlOpts, &CompCode, &Reason);
Your exit must match the following C function prototype:
void MQENTRY MQ_CTL_EXIT (
PMQHCONN pHconn; /* Address of connection handle */
PMQLONG pOperation; /* Address of operation being processed */
PMQCTLO pControlOpts; /* Address of options that control the action of MQCTL */
PMQLONG pCompCode; /* Address of completion code */
PMQLONG pReason;) /* Address of reason code qualifying completion code */