MQ_CHANNEL_AUTO_DEF_EXIT - Channel auto-definition exit

The MQ_CHANNEL_AUTO_DEF_EXIT call describes the parameters that are passed to the channel auto-definition exit called by the Message Channel Agent.

No entry point called MQ_CHANNEL_AUTO_DEF_EXIT is provided by the queue manager; the name MQ_CHANNEL_AUTO_DEF_EXIT is of no special significance because the names of the auto-definition exits are provided in the queue manager.


Syntax

    MQ_CHANNEL_AUTO_DEF_EXIT (ChannelExitParms, ChannelDefinition)


Parameters

The MQ_CHANNEL_AUTO_DEF_EXIT call has the following parameters.

    ChannelExitParms (MQCXP) - input/output

    Channel exit parameter block.

    This structure contains additional information relating to the invocation of the exit. The exit sets information in this structure to indicate how the MCA proceeds.

    ChannelDefinition (MQCD) - input/output

    Channel definition.

    This structure contains parameters set by the administrator to control the behavior of channels which are created automatically. The exit sets information in this structure to modify the default behavior set by the administrator.

    The MQCD fields listed must not be altered by the exit:

    • ChannelName
    • ChannelType
    • StrucLength
    • Version

    If other fields are changed, the value set by the exit must be valid. If the value is not valid, an error message is written to the error log file or displayed on the console (as appropriate to the environment).

Attention: Auto-defined channels created by a channel automatic definition (CHAD) exit cannot set the certificate label, because the TLS handshake has occurred by the time the channel is created. Setting the certificate label in a CHAD exit for inbound channels has no effect.


C invocation

exitname (&ChannelExitParms, &ChannelDefinition);
The parameters passed to the exit are declared as follows:
MQCXP  ChannelExitParms;   /* Channel exit parameter block */
MQCD   ChannelDefinition;  /* Channel definition */


COBOL invocation

     CALL 'exitname' USING CHANNELEXITPARMS, CHANNELDEFINITION.
The parameters passed to the exit are declared as follows:
**   Channel exit parameter block
 01  CHANNELEXITPARMS.
     COPY CMQCXPV.
**   Channel definition
 01  CHANNELDEFINITION.
     COPY CMQCDV.


RPG invocation (ILE)

     C*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     C                     CALLP     exitname(MQCXP : MQCD)
The prototype definition for the call is:
     D*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     Dexitname         PR                  EXTPROC('exitname')
     D* Channel exit parameter block
     D MQCXP                        160A
     D* Channel definition
     D MQCD                        1328A


System/390 assembler invocation

         CALL EXITNAME,(CHANNELEXITPARMS,CHANNELDEFINITION)
The parameters passed to the exit are declared as follows:
CHANNELEXITPARMS   CMQCXPA,  Channel exit parameter block
CHANNELDEFINITION  CMQCDA ,  Channel definition


Usage notes

  1. The function performed by the channel exit is defined by the provider of the exit. The exit, however, must conform to the rules defined here and in the associated control block, the MQCXP.
  2. The ChannelExitParms parameter passed to the channel auto-definition exit is an MQCXP structure. The version of MQCXP passed depends on the environment in which the exit is running; see the description of the Version field in MQCXP - Channel exit parameter for details.
  3. The ChannelDefinition parameter passed to the channel auto-definition exit is an MQCD structure. The version of MQCD passed depends on the environment in which the exit is running; see the description of the Version field in MQCD - Channel definition for details.

Parent topic: Channel-exit calls and data structures