Channel-exit calls and data structures

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

This information is product-sensitive programming interface information. You 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

You 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 Using channel exits in IBM MQ classes for Java and for IBM MQ classes for JMS, see Using channel exits with IBM MQ classes for JMS.

You 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.