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.
If the completion code is MQCC_FAILED or MQCC_WARNING, the exit function can set the reason code field to any valid MQRC_* value.

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 */