Begin - MQ_BEGIN_EXIT
MQ_BEGIN_EXIT provides a begin exit function to perform before and after MQBEGIN call processing. Use function identifier MQXF_BEGIN with exit reasons MQXR_BEFORE and MQXR_AFTER to register before and after MQBEGIN call exit functions.
The interface to this function is:
MQ_BEGIN_EXIT (&ExitParms, &ExitContext, &Hconn, &pBeginOptions, &CompCode,
&Reason)
where the parameters are:- ExitParms (MQAXP) - input/output
- Exit parameter structure.
- ExitContext (MQAXC) - input/output
- Exit context structure.
- Hconn (MQHCONN) - input
- Connection handle.
- pBeginOptions (PMQBO)- input/output
- Pointer to begin options.
- 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:
MQAXP ExitParms; /* Exit parameter structure */
MQAXC ExitContext; /* Exit context structure */
MQHCONN Hconn; /* Connection handle */
PMQBO pBeginOptions; /* Ptr to begin options */
MQLONG CompCode; /* Completion code */
MQLONG Reason; /* Reason code qualifying completion code */
The queue manager then logically calls the exit as follows:
MQ_BEGIN_EXIT (&ExitParms, &ExitContext, &Hconn, &pBeginOptions, &CompCode,
&Reason);
Your exit must match the following C function prototype:
void MQENTRY MQ_BEGIN_EXIT (
PMQAXP pExitParms, /* Address of exit parameter structure */
PMQAXC pExitContext, /* Address of exit context structure */
PMQHCONN pHconn, /* Address of connection handle */
PPMQBO ppBeginOptions, /* Address of ptr to begin options */
PMQLONG pCompCode, /* Address of completion code */
PMQLONG pReason); /* Address of reason code qualifying completion
code */