Channel-exit calls and data structures

This collection of topics provide reference information about the special IBM MQ calls and data structures that we can use when you write channel exit programs.

This information is product-sensitive programming interface information. We can write IBM MQ user exits in the following programming languages:

Platform Programming languages
IBM MQ for z/OSĀ® Assembler and C (which must conform to the C system programming environment for system exits, described in the z/OS C/C++ Programming Guide.)
IBM MQ for IBM i ILE C, ILE COBOL, and ILE RPG
All other IBM MQ platforms C

We can also write user exits in Java for use only with Java and JMS applications. For more information about creating and using channel exits with the IBM MQ classes for Java, see Use channel exits in IBM MQ classes for Java and for IBM MQ classes for JMS, see Use channel exits with IBM MQ classes for JMS.

We cannot write IBM MQ user exits in TAL or Visual Basic. However, a declaration for the MQCD structure is provided in Visual Basic for use on the MQCONNX call from an IBM MQ MQI client program.

In a number of cases in the descriptions that follow, parameters are arrays or character strings with a size that is not fixed. For these parameters, a lowercase n is used to represent a numeric constant. When the declaration for that parameter is coded, the n must be replaced by the numeric value required. For further information about the conventions used in these descriptions, see the Elementary data types.


Data definition files

Data definition files are supplied with IBM MQ for each of the supported programming languages. For details of these files, see Copy, header, include, and module files.