WebSphere MQ installable services and the API exit

Installable services and components
Why installable services?
Functions and components
Entry-points
Return codes
Component data
Initialization
Primary initialization
Secondary initialization
Primary termination
Secondary termination
Configuring services and components
Service stanza format
Service stanza format for Windows systems
Service component stanza format
Creating your own service component
Using multiple service components
Example of using multiple components
What the components do
How the component is used
Omitting entry points when using multiple components
Example of entry points used with multiple components
Authorization service
Object authority manager (OAM)
Defining the service to the operating system
Refreshing the OAM after changing a user's authorization
Migrating from MQSeries Version 5.1
Authorization service on UNIX systems
Configuring authorization service stanzas: UNIX systems
Authorization service on Windows systems
Configuring authorization service stanzas: Windows systems
Authorization service interface
Name service
How the name service works
Name service interface
Installable services interface reference information
How the functions are shown
Parameters and data types
MQZEP - Add component entry point
Syntax
Parameters
Hconfig (MQHCONFIG) - input
Function (MQLONG) - input
EntryPoint (PMQFUNC) - input
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQHCONFIG - Configuration handle
C declaration
PMQFUNC - Pointer to function
C declaration
MQZ_AUTHENTICATE_USER - Authenticate user
Syntax
Parameters
QMgrName (MQCHAR48) - input
SecurityParms (MQCSP) - input
ApplicationContext (MQZAC) - input
IdentityContext (MQZIC) - input/output
CorrelationPtr (MQPTR) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_CHECK_AUTHORITY - Check authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityName (MQCHAR12) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_CHECK_AUTHORITY_2 - Check authority (extended)
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityData (MQZED) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_COPY_ALL_AUTHORITY - Copy all authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
RefObjectName (MQCHAR48) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_DELETE_AUTHORITY - Delete authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_ENUMERATE_AUTHORITY_DATA - Enumerate authority data
Syntax
Parameters
QMgrName (MQCHAR48) - input
StartEnumeration (MQLONG) - input
Filter (MQZAD) - input
AuthorityBufferLength (MQLONG) - input
AuthorityBuffer (MQZAD) - output
AuthorityDataLength (MQLONG) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_FREE_USER - Free user
Syntax
Parameters
QMgrName (MQCHAR48) - input
FreeParms (MQZFP) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_GET_AUTHORITY - Get authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityName (MQCHAR12) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_GET_AUTHORITY_2 - Get authority (extended)
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityData (MQZED) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_GET_EXPLICIT_AUTHORITY - Get explicit authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityName (MQCHAR12) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_GET_EXPLICIT_AUTHORITY_2 - Get explicit authority (extended)
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityData (MQZED) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_INIT_AUTHORITY - Initialize authorization service
Syntax
Parameters
Hconfig (MQHCONFIG) - input
Options (MQLONG) - input
QMgrName (MQCHAR48) - input
ComponentDataLength (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Version (MQLONG) - input/output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_INQUIRE - Inquire authorization service
Syntax
Parameters
QMgrName (MQCHAR48) - input
SelectorCount (MQLONG) - input
Selectors (MQLONG×SelectorCount) - input
IntAttrCount (MQLONG) - input
IntAttrs (MQLONG×IntAttrCount) - output
CharAttrCount (MQLONG) - input
CharAttrs (MQLONG×CharAttrCount) - output
SelectorReturned (MQLONG×SelectorCount) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_REFRESH_CACHE - Refresh all authorizations
Syntax
Parameters
C invocation
MQZ_SET_AUTHORITY - Set authority
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityName (MQCHAR12) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_SET_AUTHORITY_2 - Set authority (extended)
Syntax
Parameters
QMgrName (MQCHAR48) - input
EntityData (MQZED) - input
EntityType (MQLONG) - input
ObjectName (MQCHAR48) - input
ObjectType (MQLONG) - input
Authority (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_TERM_AUTHORITY - Terminate authorization service
Syntax
Parameters
Hconfig (MQHCONFIG) - input
Options (MQLONG) - input
QMgrName (MQCHAR48) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZAC - Application context
Fields
StrucId (MQCHAR4)
Version (MQLONG)
ProcessId (MQPID)
ThreadId (MQTID)
ApplName (MQCHAR28)
UserID (MQCHAR12)
EffectiveUserID (MQCHAR12)
Environment (MQLONG)
CallerType (MQLONG)
AuthenticationType (MQLONG)
BindType (MQLONG)
C declaration
MQZAD - Authority data
Fields
StrucId (MQCHAR4)
Version (MQLONG)
ProfileName (MQCHAR48)
ObjectType (MQLONG)
Authority (MQLONG)
EntityDataPtr (PMQZED)
EntityType (MQLONG)
Options (MQAUTHOPT)
C declaration
MQZED - Entity descriptor
Fields
StrucId (MQCHAR4)
Version (MQLONG)
EntityNamePtr (PMQCHAR)
EntityDomainPtr (PMQCHAR)
SecurityId (MQBYTE40)
CorrelationPtr (MQPTR)
C declaration
MQZIC - Identity context
Fields
StrucId (MQCHAR4)
Version (MQLONG)
UserIdentifier (MQCHAR12)
AccountingToken (MQBYTE32)
ApplIdentityData (MQCHAR32)
C declaration
MQZFP - Free parameters
Fields
StrucId (MQCHAR4)
Version (MQLONG)
Reserved (MQBYTE8)
CorrelationPtr (MQPTR)
C declaration
MQZ_DELETE_NAME - Delete name
Syntax
Parameters
QMgrName (MQCHAR48) - input
QName (MQCHAR48) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_INIT_NAME - Initialize name service
Syntax
Parameters
Hconfig (MQHCONFIG) - input
Options (MQLONG) - input
QMgrName (MQCHAR48) - input
ComponentDataLength (MQLONG) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Version (MQLONG) - input/output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_INSERT_NAME - Insert name
Syntax
Parameters
QMgrName (MQCHAR48) - input
QName (MQCHAR48) - input
ResolvedQMgrName (MQCHAR48) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_LOOKUP_NAME - Lookup name
Syntax
Parameters
QMgrName (MQCHAR48) - input
QName (MQCHAR48) - input
ResolvedQMgrName (MQCHAR48) - output
ComponentData (MQBYTE×ComponentDataLength) - input/output
Continuation (MQLONG) - output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
MQZ_TERM_NAME - Terminate name service
Syntax
Parameters
Hconfig (MQHCONFIG) - input
Options (MQLONG) - input
QMgrName (MQCHAR48) - input
ComponentData (MQBYTE×ComponentDataLength) - input/output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
API exits
Why use API exits
How you use API exits
How to configure WebSphere MQ for API exits
How to write an API exit
What happens when an API exit runs?
Configuring API exits
Configuring API exits on UNIX(R) systems
Attributes for all stanzas
Sample stanzas
Changing the configuration information
Configuring API exits on Windows(R) systems
API exit reference information
General usage notes
MQACH - API exit chain header
Fields
StrucId (MQCHAR4)
Version (MQLONG)
StrucLength (MQLONG)
ChainAreaLength (MQLONG)
ExitInfoName (MQCHAR48)
NextChainAreaPtr (PMQACH)
C declaration
MQAXC - API exit context
Fields
StrucId (MQCHAR4)
Version (MQLONG)
Environment (MQLONG)
UserId (MQCHAR12)
SecurityId (MQBYTE40)
ConnectionName (MQCHAR264)
LongMCAUserIdLength (MQLONG)
LongRemoteUserIdLength (MQLONG)
LongMCAUserIdPtr (MQPTR)
LongRemoteUserIdPtr (MQPTR)
ApplName (MQCHAR28)
ApplType (MQLONG)
ProcessId (MQPID)
ThreadId (MQTID)
C declaration
MQAXP - API exit parameter
Fields
StrucId (MQCHAR4)
Version (MQLONG)
ExitId (MQLONG)
ExitReason (MQLONG)
ExitResponse (MQLONG)
ExitResponse2 (MQLONG)
Feedback (MQLONG)
APICallerType (MQLONG)
ExitUserArea (MQBYTE16)
ExitData (MQCHAR32)
ExitInfoName (MQCHAR48)
ExitPDArea (MQBYTE48)
QMgrName (MQCHAR48)
ExitChainAreaPtr (PMQACH)
Hconfig (MQHCONFIG)
Function (MQLONG)
C declaration
MQXEP - Register entry point
Syntax
Parameters
Hconfig (MQHCONFIG) - input
ExitReason (MQLONG) - input
Function (MQLONG) - input
EntryPoint (PMQFUNC) - input
Reserved (MQPTR) - input
pCompCode (PMQLONG) - output
pReason (PMQLONG) - output
C invocation
MQ_BACK_EXIT - Back out changes
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_BEGIN_EXIT - Begin unit of work
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
ppBeginOptions (PPMQBO) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_CLOSE_EXIT - Close object
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
ppHobj (PPMQHOBJ) - input/output
pOptions (PMQLONG) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_CMIT_EXIT - Commit changes
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_CONNX_EXIT - Connect queue manager (extended)
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pQMgrName (PMQCHAR48) - input/output
ppConnectOpts (PPMQCNO) - input/output
ppHconn (PPMQHCONN) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
Usage notes
C invocation
MQ_DISC_EXIT - Disconnect queue manager
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
ppHconn (PPMQHCONN) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_GET_EXIT - Get message
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pHobj (PMQHOBJ) - input/output
ppMsgDesc (PPMQMD) - input/output
ppGetMsgOpts (PPMQGMO) - input/output
pBufferLength (PMQLONG) - input/output
ppBuffer (PPMQVOID) - input/output
ppDataLength (PPMQLONG) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
Usage notes
C invocation
MQ_INIT_EXIT - Initialize exit environment
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
Usage notes
C invocation
MQ_INQ_EXIT - Inquire object attributes
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pHobj (PMQHOBJ) - input/output
pSelectorCount (PMQLONG) - input/output
ppSelectors (PPMQLONG) - input/output
pIntAttrCount (PMQLONG) - input/output
ppIntAttrs (PPMQLONG) - input/output
pCharAttrLength (PMQLONG) - input/output
ppCharAttrs (PPMQCHAR) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_OPEN_EXIT - Open object
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
ppObjDesc (PPMQOD) - input/output
pOptions (PMQLONG) - input/output
ppHobj (PPMQHOBJ) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_PUT_EXIT - Put message
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pHobj (PMQHOBJ) - input/output
ppMsgDesc (PPMQMD) - input/output
ppPutMsgOpts (PPMQPMO) - input/output
pBufferLength (PMQLONG) - input/output
ppBuffer (PPMQVOID) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
Usage notes
C invocation
MQ_PUT1_EXIT - Put one message
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
ppObjDesc (PPMQOD) - input/output
ppMsgDesc (PPMQMD) - input/output
ppPutMsgOpts (PPMQPMO) - input/output
pBufferLength (PMQLONG) - input/output
ppBuffer (PPMQVOID) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_SET_EXIT - Set object attributes
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pHconn (PMQHCONN) - input/output
pHobj (PMQHOBJ) - input/output
pSelectorCount (PMQLONG) - input/output
ppSelectors (PPMQLONG) - input/output
pIntAttrCount (PMQLONG) - input/output
ppIntAttrs (PPMQLONG) - input/output
pCharAttrLength (PMQLONG) - input/output
ppCharAttrs (PPMQCHAR) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
C invocation
MQ_TERM_EXIT - Terminate exit environment
Syntax
Parameters
pExitParms (PMQAXP) - input/output
pExitContext (PMQAXC) - input/output
pCompCode (PMQLONG) - input/output
pReason (PMQLONG) - input/output
Usage notes
C invocation