csqzak10

download csqzak10

of 665

description

IBM MQ SPEC

Transcript of csqzak10

  • WebSphere MQ

    Application Programming Reference Version 6.0

    SC34-6596-00

  • WebSphere MQ

    Application Programming Reference Version 6.0

    SC34-6596-00

  • Note! Before using this information and the product it supports, be sure to read the general information under Appendix H, Notices, on page 625.

    First edition (May 2005)

    This edition of the book applies to the following products: v IBM WebSphere MQ, Version 6.0 v IBM WebSphere MQ for z/OS, Version 6.0and to any subsequent releases and modifications until otherwise indicated in new editions.

    Copyright International Business Machines Corporation 1994, 2005. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

  • Contents Tables . . . . . . . . . . . . . . . xiii

    About this book . . . . . . . . . . . xv Who this book is for . . . . . . . . . . . xvi What you need to know to understand this book xvi Terms used in this book . . . . . . . . . . xvi

    Language compilers and assemblers . . . . xvii How to use this book . . . . . . . . . . xviii

    Appearance of text in this book . . . . . . xviii

    Summary of changes . . . . . . . . xxi Changes for this edition (SC34-6596-00) . . . . . xxi

    Part 1. Data type descriptions . . . . 1

    Chapter 1. Introduction . . . . . . . . 7 Elementary data types . . . . . . . . . . . 7

    MQBYTE . . . . . . . . . . . . . . 8 MQBYTEn . . . . . . . . . . . . . . 8 MQCHAR . . . . . . . . . . . . . . 8 MQCHARn . . . . . . . . . . . . . . 9 MQHCONN . . . . . . . . . . . . . 9 MQHOBJ . . . . . . . . . . . . . . 9 MQINT32 . . . . . . . . . . . . . . 9 MQINT64 . . . . . . . . . . . . . . 9 MQLONG . . . . . . . . . . . . . . 9 MQPID . . . . . . . . . . . . . . . 10 MQPTR . . . . . . . . . . . . . . 10 MQTID . . . . . . . . . . . . . . . 10 MQUINT32 . . . . . . . . . . . . . 10 MQUINT64 . . . . . . . . . . . . . 10 MQULONG . . . . . . . . . . . . . 10 PMQCHAR . . . . . . . . . . . . . 10 PMQINT32 . . . . . . . . . . . . . 10 PMQINT64 . . . . . . . . . . . . . 10 PMQLONG A pointer to data of type MQLONG . . . . . . . . . . . . . . 10 PMQMD A pointer to structure of type MQMD 11 PMQUINT32 . . . . . . . . . . . . . 11 PMQUINT64 . . . . . . . . . . . . . 11 PMQULONG A pointer to data of type MQULONG . . . . . . . . . . . . . 11 C declarations . . . . . . . . . . . . 11 COBOL declarations . . . . . . . . . . 14 PL/I declarations . . . . . . . . . . . 14 System/390 assembler declarations . . . . . 15

    Structure data types introduction . . . . . . 15 Summary . . . . . . . . . . . . . . 16 Rules for structure data types . . . . . . . 16 Conventions used in the descriptions . . . . . 17

    C programming . . . . . . . . . . . . . 18 Header files . . . . . . . . . . . . . 18 Functions . . . . . . . . . . . . . . 18 Parameters with undefined data type . . . . . 19

    Data types . . . . . . . . . . . . . . 19 Manipulating binary strings . . . . . . . . 19 Manipulating character strings . . . . . . . 19 Initial values for structures . . . . . . . . 20 Initial values for dynamic structures . . . . . 20 Use from C++ . . . . . . . . . . . . 20 Notational conventions . . . . . . . . . 21

    COBOL programming . . . . . . . . . . . 21 COPY files . . . . . . . . . . . . . . 21 Structures . . . . . . . . . . . . . . 22 Pointers . . . . . . . . . . . . . . 23 Named constants . . . . . . . . . . . 23 Notational conventions . . . . . . . . . 24

    System/390 assembler programming . . . . . . 24 Macros . . . . . . . . . . . . . . . 24 Structures . . . . . . . . . . . . . . 24 CMQVERA macro . . . . . . . . . . . 26 Notational conventions . . . . . . . . . 27

    Chapter 2. MQAIR Authentication information record . . . . . . . . . . 29 Overview . . . . . . . . . . . . . . . 29 Fields . . . . . . . . . . . . . . . . 29

    AuthInfoConnName (MQCHAR264) . . . . . 29 AuthInfoType (MQLONG) . . . . . . . . 29 LDAPPassword (MQCHAR32) . . . . . . . 30 LDAPUserNameLength (MQLONG) . . . . . 30 LDAPUserNameOffset (MQLONG) . . . . . 30 LDAPUserNamePtr (PMQCHAR) . . . . . . 30 StrucId (MQCHAR4) . . . . . . . . . . 31 Version (MQLONG) . . . . . . . . . . 31

    Initial values and language declarations . . . . . 32 C declaration . . . . . . . . . . . . . 32 COBOL declaration . . . . . . . . . . . 32 PL/I declaration . . . . . . . . . . . . 33 Visual Basic declaration . . . . . . . . . 33

    Chapter 3. MQBO Begin options . . . 35 Overview . . . . . . . . . . . . . . . 35 Fields . . . . . . . . . . . . . . . . 35

    Options (MQLONG) . . . . . . . . . . 35 StrucId (MQCHAR4) . . . . . . . . . . 35 Version (MQLONG) . . . . . . . . . . 36

    Initial values and language declarations . . . . . 36 C declaration . . . . . . . . . . . . . 36 COBOL declaration . . . . . . . . . . . 36 PL/I declaration . . . . . . . . . . . . 36 Visual Basic declaration . . . . . . . . . 37

    Chapter 4. MQCIH CICS bridge header . . . . . . . . . . . . . . . 39 Overview . . . . . . . . . . . . . . . 40 Fields . . . . . . . . . . . . . . . . 41

    AbendCode (MQCHAR4) . . . . . . . . . 41 ADSDescriptor (MQLONG) . . . . . . . . 41

    Copyright IBM Corp. 1994, 2005 iii

  • AttentionId (MQCHAR4) . . . . . . . . . 42 Authenticator (MQCHAR8) . . . . . . . . 42 CancelCode (MQCHAR4) . . . . . . . . . 42 CodedCharSetId (MQLONG) . . . . . . . 42 CompCode (MQLONG) . . . . . . . . . 42 ConversationalTask (MQLONG) . . . . . . 42 CursorPosition (MQLONG) . . . . . . . . 43 Encoding (MQLONG) . . . . . . . . . . 43 ErrorOffset (MQLONG) . . . . . . . . . 43 Facility (MQBYTE8) . . . . . . . . . . 43 FacilityKeepTime (MQLONG) . . . . . . . 43 FacilityLike (MQCHAR4) . . . . . . . . . 43 Flags (MQLONG) . . . . . . . . . . . 44 Format (MQCHAR8) . . . . . . . . . . 44 Function (MQCHAR4) . . . . . . . . . . 45 GetWaitInterval (MQLONG) . . . . . . . . 45 InputItem (MQLONG) . . . . . . . . . . 45 LinkType (MQLONG) . . . . . . . . . . 45 NextTransactionId (MQCHAR4) . . . . . . 46 OutputDataLength (MQLONG) . . . . . . . 46 Reason (MQLONG) . . . . . . . . . . 46 RemoteSysId (MQCHAR4) . . . . . . . . 46 RemoteTransId (MQCHAR4) . . . . . . . 47 ReplyToFormat (MQCHAR8) . . . . . . . 47 Reserved1 (MQCHAR8) . . . . . . . . . 47 Reserved2 (MQCHAR8) . . . . . . . . . 47 Reserved3 (MQCHAR8) . . . . . . . . . 47 Reserved4 (MQLONG) . . . . . . . . . 47 ReturnCode (MQLONG) . . . . . . . . . 47 StartCode (MQCHAR4) . . . . . . . . . 48 StrucId (MQCHAR4) . . . . . . . . . . 48 StrucLength (MQLONG) . . . . . . . . . 49 TaskEndStatus (MQLONG) . . . . . . . . 49 TransactionId (MQCHAR4) . . . . . . . . 49 UOWControl (MQLONG) . . . . . . . . 50 Version (MQLONG) . . . . . . . . . . 50

    Initial values and language declarations . . . . . 50 C declaration . . . . . . . . . . . . . 52 COBOL declaration . . . . . . . . . . . 53 PL/I declaration . . . . . . . . . . . . 54 System/390 assembler declaration . . . . . . 55 Visual Basic declaration . . . . . . . . . 55

    Chapter 5. MQCNO Connect options 57 Overview . . . . . . . . . . . . . . . 57 Fields . . . . . . . . . . . . . . . . 58

    ClientConnOffset (MQLONG) . . . . . . . 58 ClientConnPtr (MQPTR) . . . . . . . . . 58 ConnectionId (MQBYTE24) . . . . . . . . 60 ConnTag (MQBYTE128) . . . . . . . . . 60 Options (MQLONG) . . . . . . . . . . 61 SecurityParmsOffset (MQCSP) . . . . . . . 66 SecurityParmsPtr (MQLONG) . . . . . . . 66 SSLConfigOffset (MQLONG) . . . . . . . 66 SSLConfigPtr (PMQSCO) . . . . . . . . . 66 StrucId (MQCHAR4) . . . . . . . . . . 67 Version (MQLONG) . . . . . . . . . . 67

    Initial values and language declarations . . . . . 68 C declaration . . . . . . . . . . . . . 68 COBOL declaration . . . . . . . . . . . 69 PL/I declaration . . . . . . . . . . . . 69

    System/390 assembler declaration . . . . . . 69 Visual Basic declaration . . . . . . . . . 70

    Chapter 6. MQCSP Security parameters . . . . . . . . . . . . . 71 Overview . . . . . . . . . . . . . . . 71 Fields . . . . . . . . . . . . . . . . 71

    AuthenticationType (MQLONG) . . . . . . 71 CSPPasswordLength (MQLONG) . . . . . . 71 CSPPasswordOffset (MQLONG) . . . . . . 72 CSPPasswordPtr (MQPTR) . . . . . . . . 72 CSPUserIdLength (MQLONG) . . . . . . . 72 CSPUserIdOffset (MQLONG) . . . . . . . 72 CSPUserIdPtr (MQPTR) . . . . . . . . . 72 Reserved1 (MQBYTE4) . . . . . . . . . 72 Reserved2 (MQBYTE8) . . . . . . . . . 72 StrucId (MQCHAR4) . . . . . . . . . . 73 Version (MQLONG) . . . . . . . . . . 73

    Initial values and language declarations . . . . . 73 C declaration . . . . . . . . . . . . . 74 COBOL declaration . . . . . . . . . . . 74 PL/I declaration . . . . . . . . . . . . 75 Visual Basic declaration . . . . . . . . . 75

    Chapter 7. MQDH Distribution header 77 Overview . . . . . . . . . . . . . . . 77 Fields . . . . . . . . . . . . . . . . 78

    CodedCharSetId (MQLONG) . . . . . . . 78 Encoding (MQLONG) . . . . . . . . . . 79 Flags (MQLONG) . . . . . . . . . . . 79 Format (MQCHAR8) . . . . . . . . . . 79 ObjectRecOffset (MQLONG) . . . . . . . . 80 PutMsgRecFields (MQLONG) . . . . . . . 80 PutMsgRecOffset (MQLONG) . . . . . . . 80 RecsPresent (MQLONG) . . . . . . . . . 80 StrucId (MQCHAR4) . . . . . . . . . . 81 StrucLength (MQLONG) . . . . . . . . . 81 Version (MQLONG) . . . . . . . . . . 81

    Initial values and language declarations . . . . . 81 C declaration . . . . . . . . . . . . . 82 COBOL declaration . . . . . . . . . . . 82 PL/I declaration . . . . . . . . . . . . 83 Visual Basic declaration . . . . . . . . . 83

    Chapter 8. MQDLH Dead-letter header 85 Overview . . . . . . . . . . . . . . . 85 Fields . . . . . . . . . . . . . . . . 87

    CodedCharSetId (MQLONG) . . . . . . . 87 DestQMgrName (MQCHAR48) . . . . . . . 87 DestQName (MQCHAR48) . . . . . . . . 87 Encoding (MQLONG) . . . . . . . . . . 88 Format (MQCHAR8) . . . . . . . . . . 88 PutApplName (MQCHAR28) . . . . . . . 88 PutApplType (MQLONG) . . . . . . . . 88 PutDate (MQCHAR8) . . . . . . . . . . 89 PutTime (MQCHAR8) . . . . . . . . . . 89 Reason (MQLONG) . . . . . . . . . . 89 StrucId (MQCHAR4) . . . . . . . . . . 90 Version (MQLONG) . . . . . . . . . . 91

    Initial values and language declarations . . . . . 91

    iv Application Programming Reference

  • C declaration . . . . . . . . . . . . . 91 COBOL declaration . . . . . . . . . . . 92 PL/I declaration . . . . . . . . . . . . 92 System/390 assembler declaration . . . . . . 93 Visual Basic declaration . . . . . . . . . 93

    Chapter 9. MQEPH Embedded PCF header . . . . . . . . . . . . . . . 95 Overview . . . . . . . . . . . . . . . 95 Fields . . . . . . . . . . . . . . . . 96

    CodedCharSetId (MQLONG) . . . . . . . 96 Encoding (MQLONG) . . . . . . . . . . 96 Flags (MQLONG) . . . . . . . . . . . 96 Format (MQCHAR8) . . . . . . . . . . 96 PCFHeader (MQCFH) . . . . . . . . . . 96 StrucId (MQCHAR4) . . . . . . . . . . 97 StrucLength (MQLONG) . . . . . . . . . 97 Version (MQLONG) . . . . . . . . . . 97

    Initial values and language declarations . . . . . 98 C declaration . . . . . . . . . . . . . 98 COBOL declaration . . . . . . . . . . . 98 PL/I declaration . . . . . . . . . . . . 99 System/390 assembler declaration . . . . . . 99 Visual Basic declaration . . . . . . . . . 100

    Chapter 10. MQGMO Get-message options . . . . . . . . . . . . . . 101 Overview . . . . . . . . . . . . . . . 101 Fields . . . . . . . . . . . . . . . . 102

    GroupStatus (MQCHAR) . . . . . . . . 102 MatchOptions (MQLONG) . . . . . . . . 102 MsgToken (MQBYTE16) . . . . . . . . . 105 Options (MQLONG) . . . . . . . . . . 105 Reserved1 (MQCHAR) . . . . . . . . . 127 ResolvedQName (MQCHAR48) . . . . . . 127 ReturnedLength (MQLONG) . . . . . . . 127 Segmentation (MQCHAR) . . . . . . . . 127 SegmentStatus (MQCHAR) . . . . . . . . 128 Signal1 (MQLONG) . . . . . . . . . . 128 Signal2 (MQLONG) . . . . . . . . . . 129 StrucId (MQCHAR4) . . . . . . . . . . 129 Version (MQLONG) . . . . . . . . . . 129 WaitInterval (MQLONG) . . . . . . . . 130

    Initial values and language declarations . . . . 130 C declaration . . . . . . . . . . . . 131 COBOL declaration . . . . . . . . . . 131 PL/I declaration . . . . . . . . . . . 132 System/390 assembler declaration . . . . . 132 Visual Basic declaration . . . . . . . . . 133

    Chapter 11. MQIIH IMS information header . . . . . . . . . . . . . . 135 Overview . . . . . . . . . . . . . . . 135 Fields . . . . . . . . . . . . . . . . 136

    Authenticator (MQCHAR8) . . . . . . . . 136 CodedCharSetId (MQLONG) . . . . . . . 136 CommitMode (MQCHAR) . . . . . . . . 136 Encoding (MQLONG) . . . . . . . . . 137 Flags (MQLONG) . . . . . . . . . . . 137 Format (MQCHAR8) . . . . . . . . . . 137

    LTermOverride (MQCHAR8) . . . . . . . 137 MFSMapName (MQCHAR8) . . . . . . . 137 ReplyToFormat (MQCHAR8) . . . . . . . 138 Reserved (MQCHAR) . . . . . . . . . 138 SecurityScope (MQCHAR) . . . . . . . . 138 StrucId (MQCHAR4) . . . . . . . . . . 138 StrucLength (MQLONG) . . . . . . . . 138 TranInstanceId (MQBYTE16) . . . . . . . 138 TranState (MQCHAR) . . . . . . . . . 139 Version (MQLONG) . . . . . . . . . . 139

    Initial values and language declarations . . . . 139 C declaration . . . . . . . . . . . . 140 COBOL declaration . . . . . . . . . . 140 PL/I declaration . . . . . . . . . . . 141 System/390 assembler declaration . . . . . 141 Visual Basic declaration . . . . . . . . . 142

    Chapter 12. MQMD Message descriptor . . . . . . . . . . . . . 143 Overview . . . . . . . . . . . . . . . 143 Fields . . . . . . . . . . . . . . . . 145

    AccountingToken (MQBYTE32) . . . . . . 145 ApplIdentityData (MQCHAR32) . . . . . . 147 ApplOriginData (MQCHAR4) . . . . . . . 148 BackoutCount (MQLONG) . . . . . . . . 148 CodedCharSetId (MQLONG) . . . . . . . 148 CorrelId (MQBYTE24) . . . . . . . . . 150 Encoding (MQLONG) . . . . . . . . . 151 Expiry (MQLONG) . . . . . . . . . . 152 Feedback (MQLONG) . . . . . . . . . 154 Format (MQCHAR8) . . . . . . . . . . 158 GroupId (MQBYTE24) . . . . . . . . . 164 MsgFlags (MQLONG) . . . . . . . . . 165 MsgId (MQBYTE24) . . . . . . . . . . 169 MsgSeqNumber (MQLONG) . . . . . . . 171 MsgType (MQLONG) . . . . . . . . . 172 Offset (MQLONG) . . . . . . . . . . . 173 OriginalLength (MQLONG) . . . . . . . 173 Persistence (MQLONG) . . . . . . . . . 174 Priority (MQLONG) . . . . . . . . . . 175 PutApplName (MQCHAR28) . . . . . . . 176 PutApplType (MQLONG) . . . . . . . . 177 PutDate (MQCHAR8) . . . . . . . . . 180 PutTime (MQCHAR8) . . . . . . . . . 180 ReplyToQ (MQCHAR48) . . . . . . . . 181 ReplyToQMgr (MQCHAR48) . . . . . . . 182 Report (MQLONG) . . . . . . . . . . 182 StrucId (MQCHAR4) . . . . . . . . . . 192 UserIdentifier (MQCHAR12) . . . . . . . 193 Version (MQLONG) . . . . . . . . . . 194

    Initial values and language declarations . . . . 195 C declaration . . . . . . . . . . . . 196 COBOL declaration . . . . . . . . . . 196 PL/I declaration . . . . . . . . . . . 197 System/390 assembler declaration . . . . . 198 Visual Basic declaration . . . . . . . . . 198

    Chapter 13. MQMDE Message descriptor extension . . . . . . . . 201 Overview . . . . . . . . . . . . . . . 201

    Contents v

  • Fields . . . . . . . . . . . . . . . . 203 CodedCharSetId (MQLONG) . . . . . . . 203 Encoding (MQLONG) . . . . . . . . . 204 Flags (MQLONG) . . . . . . . . . . . 204 Format (MQCHAR8) . . . . . . . . . . 204 GroupId (MQBYTE24) . . . . . . . . . 204 MsgFlags (MQLONG) . . . . . . . . . 204 MsgSeqNumber (MQLONG) . . . . . . . 204 Offset (MQLONG) . . . . . . . . . . . 205 OriginalLength (MQLONG) . . . . . . . 205 StrucId (MQCHAR4) . . . . . . . . . . 205 StrucLength (MQLONG) . . . . . . . . 205 Version (MQLONG) . . . . . . . . . . 205

    Initial values and language declarations . . . . 205 C declaration . . . . . . . . . . . . 206 COBOL declaration . . . . . . . . . . 206 PL/I declaration . . . . . . . . . . . 207 System/390 assembler declaration . . . . . 207 Visual Basic declaration . . . . . . . . . 207

    Chapter 14. MQOD Object descriptor 209 Overview . . . . . . . . . . . . . . . 209 Fields . . . . . . . . . . . . . . . . 210

    AlternateSecurityId (MQBYTE40) . . . . . . 210 AlternateUserId (MQCHAR12) . . . . . . 211 DynamicQName (MQCHAR48) . . . . . . 212 InvalidDestCount (MQLONG) . . . . . . . 212 KnownDestCount (MQLONG) . . . . . . 212 ObjectName (MQCHAR48) . . . . . . . . 213 ObjectQMgrName (MQCHAR48) . . . . . . 213 ObjectRecOffset (MQLONG) . . . . . . . 214 ObjectRecPtr (MQPTR) . . . . . . . . . 215 ObjectType (MQLONG) . . . . . . . . . 215 RecsPresent (MQLONG) . . . . . . . . . 216 ResolvedQMgrName (MQCHAR48) . . . . . 216 ResolvedQName (MQCHAR48) . . . . . . 217 ResponseRecOffset (MQLONG) . . . . . . 217 ResponseRecPtr (MQPTR) . . . . . . . . 218 StrucId (MQCHAR4) . . . . . . . . . . 218 UnknownDestCount (MQLONG) . . . . . . 218 Version (MQLONG) . . . . . . . . . . 218

    Initial values and language declarations . . . . 219 C declaration . . . . . . . . . . . . 219 COBOL declaration . . . . . . . . . . 220 PL/I declaration . . . . . . . . . . . 220 System/390 assembler declaration . . . . . 221 Visual Basic declaration . . . . . . . . . 221

    Chapter 15. MQOR Object record 223 Overview . . . . . . . . . . . . . . . 223 Fields . . . . . . . . . . . . . . . . 223

    ObjectName (MQCHAR48) . . . . . . . . 223 ObjectQMgrName (MQCHAR48) . . . . . . 223

    Initial values and language declarations . . . . 224 C declaration . . . . . . . . . . . . 224 COBOL declaration . . . . . . . . . . 224 PL/I declaration . . . . . . . . . . . 224 Visual Basic declaration . . . . . . . . . 224

    Chapter 16. MQPMO Put-message options . . . . . . . . . . . . . . 225 Overview . . . . . . . . . . . . . . . 225 Fields . . . . . . . . . . . . . . . . 226

    Context (MQHOBJ) . . . . . . . . . . 226 InvalidDestCount (MQLONG) . . . . . . . 226 KnownDestCount (MQLONG) . . . . . . 226 Options (MQLONG) . . . . . . . . . . 226 PutMsgRecFields (MQLONG) . . . . . . . 235 PutMsgRecOffset (MQLONG) . . . . . . . 236 PutMsgRecPtr (MQPTR) . . . . . . . . . 236 RecsPresent (MQLONG) . . . . . . . . . 237 ResolvedQMgrName (MQCHAR48) . . . . . 237 ResolvedQName (MQCHAR48) . . . . . . 237 ResponseRecOffset (MQLONG) . . . . . . 238 ResponseRecPtr (MQPTR) . . . . . . . . 239 StrucId (MQCHAR4) . . . . . . . . . . 239 Timeout (MQLONG) . . . . . . . . . . 239 UnknownDestCount (MQLONG) . . . . . . 239 Version (MQLONG) . . . . . . . . . . 239

    Initial values and language declarations . . . . 240 C declaration . . . . . . . . . . . . 241 COBOL declaration . . . . . . . . . . 241 PL/I declaration . . . . . . . . . . . 242 System/390 assembler declaration . . . . . 242 Visual Basic declaration . . . . . . . . . 242

    Chapter 17. MQPMR Put-message record . . . . . . . . . . . . . . 245 Overview . . . . . . . . . . . . . . . 245 Fields . . . . . . . . . . . . . . . . 246

    AccountingToken (MQBYTE32) . . . . . . 246 CorrelId (MQBYTE24) . . . . . . . . . 246 Feedback (MQLONG) . . . . . . . . . 246 GroupId (MQBYTE24) . . . . . . . . . 246 MsgId (MQBYTE24) . . . . . . . . . . 247

    Initial values and language declarations . . . . 247 C declaration . . . . . . . . . . . . 247 COBOL declaration . . . . . . . . . . 247 PL/I declaration . . . . . . . . . . . 248 Visual Basic declaration . . . . . . . . . 248

    Chapter 18. MQRFH Rules and formatting header . . . . . . . . . 249 Overview . . . . . . . . . . . . . . . 249 Fields . . . . . . . . . . . . . . . . 249

    CodedCharSetId (MQLONG) . . . . . . . 249 Encoding (MQLONG) . . . . . . . . . 250 Flags (MQLONG) . . . . . . . . . . . 250 Format (MQCHAR8) . . . . . . . . . . 250 NameValueString (MQCHARn) . . . . . . 250 StrucId (MQCHAR4) . . . . . . . . . . 251 StrucLength (MQLONG) . . . . . . . . 251 Version (MQLONG) . . . . . . . . . . 251

    Initial values and language declarations . . . . 252 C declaration . . . . . . . . . . . . 252 COBOL declaration . . . . . . . . . . 252 PL/I declaration . . . . . . . . . . . 253 System/390 assembler declaration . . . . . 253 Visual Basic declaration . . . . . . . . . 253

    vi Application Programming Reference

  • Chapter 19. MQRFH2 Rules and formatting header 2 . . . . . . . . . 255 Overview . . . . . . . . . . . . . . . 255 Fields . . . . . . . . . . . . . . . . 256

    CodedCharSetId (MQLONG) . . . . . . . 256 Encoding (MQLONG) . . . . . . . . . 256 Flags (MQLONG) . . . . . . . . . . . 256 Format (MQCHAR8) . . . . . . . . . . 256 NameValueCCSID (MQLONG) . . . . . . 257 NameValueData (MQCHARn) . . . . . . . 257 NameValueLength (MQLONG) . . . . . . 260 StrucId (MQCHAR4) . . . . . . . . . . 260 StrucLength (MQLONG) . . . . . . . . 260 Version (MQLONG) . . . . . . . . . . 260

    Initial values and language declarations . . . . 261 C declaration . . . . . . . . . . . . 261 COBOL declaration . . . . . . . . . . 261 PL/I declaration . . . . . . . . . . . 262 System/390 assembler declaration . . . . . 262 Visual Basic declaration . . . . . . . . . 262

    Chapter 20. MQRMH Reference message header . . . . . . . . . . 263 Overview . . . . . . . . . . . . . . . 263 Fields . . . . . . . . . . . . . . . . 264

    CodedCharSetId (MQLONG) . . . . . . . 264 DataLogicalLength (MQLONG) . . . . . . 265 DataLogicalOffset (MQLONG) . . . . . . . 265 DataLogicalOffset2 (MQLONG) . . . . . . 266 DestEnvLength (MQLONG) . . . . . . . 266 DestEnvOffset (MQLONG) . . . . . . . . 266 DestNameLength (MQLONG) . . . . . . . 266 DestNameOffset (MQLONG) . . . . . . . 266 Encoding (MQLONG) . . . . . . . . . 267 Flags (MQLONG) . . . . . . . . . . . 267 Format (MQCHAR8) . . . . . . . . . . 267 ObjectInstanceId (MQBYTE24) . . . . . . . 267 ObjectType (MQCHAR8) . . . . . . . . 267 SrcEnvLength (MQLONG) . . . . . . . . 268 SrcEnvOffset (MQLONG) . . . . . . . . 268 SrcNameLength (MQLONG) . . . . . . . 268 SrcNameOffset (MQLONG) . . . . . . . 268 StrucId (MQCHAR4) . . . . . . . . . . 269 StrucLength (MQLONG) . . . . . . . . 269 Version (MQLONG) . . . . . . . . . . 269

    Initial values and language declarations . . . . 269 C declaration . . . . . . . . . . . . 270 COBOL declaration . . . . . . . . . . 270 PL/I declaration . . . . . . . . . . . 271 System/390 assembler declaration . . . . . 272 Visual Basic declaration . . . . . . . . . 272

    Chapter 21. MQRR Response record 273 Overview . . . . . . . . . . . . . . . 273 Fields . . . . . . . . . . . . . . . . 273

    CompCode (MQLONG) . . . . . . . . . 273 Reason (MQLONG) . . . . . . . . . . 273

    Initial values and language declarations . . . . 274 C declaration . . . . . . . . . . . . 274 COBOL declaration . . . . . . . . . . 274

    PL/I declaration . . . . . . . . . . . 274 Visual Basic declaration . . . . . . . . . 274

    Chapter 22. MQSCO SSL configuration options . . . . . . . . 275 Overview . . . . . . . . . . . . . . . 275 Fields . . . . . . . . . . . . . . . . 275

    AuthInfoRecCount (MQLONG) . . . . . . 275 AuthInfoRecOffset (MQLONG) . . . . . . 276 AuthInfoRecPtr (PMQAIR) . . . . . . . . 276 CryptoHardware (MQCHAR256) . . . . . . 276 FipsRequired (MQLONG) . . . . . . . . 277 KeyRepository (MQCHAR256) . . . . . . 278 KeyResetCount (MQLONG) . . . . . . . 279 StrucId (MQCHAR4) . . . . . . . . . . 279 Version (MQLONG) . . . . . . . . . . 279

    Initial values and language declarations . . . . 279 C declaration . . . . . . . . . . . . 280 COBOL declaration . . . . . . . . . . 280 PL/I declaration . . . . . . . . . . . 280 Visual Basic declaration . . . . . . . . . 281

    Chapter 23. MQTM Trigger message 283 Overview . . . . . . . . . . . . . . . 283 Fields . . . . . . . . . . . . . . . . 284

    ApplId (MQCHAR256) . . . . . . . . . 284 ApplType (MQLONG) . . . . . . . . . 285 EnvData (MQCHAR128) . . . . . . . . . 286 ProcessName (MQCHAR48) . . . . . . . 286 QName (MQCHAR48) . . . . . . . . . 286 StrucId (MQCHAR4) . . . . . . . . . . 287 TriggerData (MQCHAR64) . . . . . . . . 287 UserData (MQCHAR128) . . . . . . . . 287 Version (MQLONG) . . . . . . . . . . 287

    Initial values and language declarations . . . . 288 C declaration . . . . . . . . . . . . 288 COBOL declaration . . . . . . . . . . 288 PL/I declaration . . . . . . . . . . . 289 System/390 assembler declaration . . . . . 289 Visual Basic declaration . . . . . . . . . 289

    Chapter 24. MQTMC2 Trigger message 2 (character format) . . . . 291 Overview . . . . . . . . . . . . . . . 291 Fields . . . . . . . . . . . . . . . . 291

    ApplId (MQCHAR256) . . . . . . . . . 292 ApplType (MQCHAR4) . . . . . . . . . 292 EnvData (MQCHAR128) . . . . . . . . . 292 ProcessName (MQCHAR48) . . . . . . . 292 QMgrName (MQCHAR48) . . . . . . . . 292 QName (MQCHAR48) . . . . . . . . . 292 StrucId (MQCHAR4) . . . . . . . . . . 292 TriggerData (MQCHAR64) . . . . . . . . 292 UserData (MQCHAR128) . . . . . . . . 292 Version (MQCHAR4) . . . . . . . . . . 293

    Initial values and language declarations . . . . 293 C declaration . . . . . . . . . . . . 293 COBOL declaration . . . . . . . . . . 294 PL/I declaration . . . . . . . . . . . 294 System/390 assembler declaration . . . . . 294

    Contents vii

  • Visual Basic declaration . . . . . . . . . 295

    Chapter 25. MQWIH Work information header . . . . . . . . . 297 Overview . . . . . . . . . . . . . . . 297 Fields . . . . . . . . . . . . . . . . 297

    CodedCharSetId (MQLONG) . . . . . . . 297 Encoding (MQLONG) . . . . . . . . . 298 Flags (MQLONG) . . . . . . . . . . . 298 Format (MQCHAR8) . . . . . . . . . . 298 MsgToken (MQBYTE16) . . . . . . . . . 298 Reserved (MQCHAR32) . . . . . . . . . 298 ServiceName (MQCHAR32) . . . . . . . 298 ServiceStep (MQCHAR8) . . . . . . . . 299 StrucId (MQCHAR4) . . . . . . . . . . 299 StrucLength (MQLONG) . . . . . . . . 299 Version (MQLONG) . . . . . . . . . . 299

    Initial values and language declarations . . . . 299 C declaration . . . . . . . . . . . . 300 COBOL declaration . . . . . . . . . . 300 PL/I declaration . . . . . . . . . . . 301 System/390 assembler declaration . . . . . 301 Visual Basic declaration . . . . . . . . . 301

    Chapter 26. MQXP Exit parameter block . . . . . . . . . . . . . . . 303 Overview . . . . . . . . . . . . . . . 303 Fields . . . . . . . . . . . . . . . . 303

    ExitCommand (MQLONG) . . . . . . . . 303 ExitId (MQLONG) . . . . . . . . . . . 304 ExitParmCount (MQLONG) . . . . . . . 304 ExitReason (MQLONG) . . . . . . . . . 304 ExitResponse (MQLONG) . . . . . . . . 304 ExitUserArea (MQBYTE16) . . . . . . . . 305 Reserved (MQLONG) . . . . . . . . . 305 StrucId (MQCHAR4) . . . . . . . . . . 305 Version (MQLONG) . . . . . . . . . . 305

    Language declarations . . . . . . . . . . 306 C declaration . . . . . . . . . . . . 306 COBOL declaration . . . . . . . . . . 306 PL/I declaration . . . . . . . . . . . 306 System/390 assembler declaration . . . . . 307

    Chapter 27. MQXQH Transmission-queue header . . . . . 309 Overview . . . . . . . . . . . . . . . 309 Fields . . . . . . . . . . . . . . . . 312

    MsgDesc (MQMD1) . . . . . . . . . . 312 RemoteQMgrName (MQCHAR48) . . . . . 312 RemoteQName (MQCHAR48) . . . . . . . 312 StrucId (MQCHAR4) . . . . . . . . . . 313 Version (MQLONG) . . . . . . . . . . 313

    Initial values and language declarations . . . . 313 C declaration . . . . . . . . . . . . 314 COBOL declaration . . . . . . . . . . 314 PL/I declaration . . . . . . . . . . . 315 System/390 assembler declaration . . . . . 315 Visual Basic declaration . . . . . . . . . 316

    Part 2. Function calls . . . . . . . 317

    Chapter 28. Call descriptions . . . . 319 Conventions used in the call descriptions . . . . 319 Using the calls in the C language . . . . . . . 321

    Declaring the Buffer parameter . . . . . . 321

    Chapter 29. MQBACK Back out changes . . . . . . . . . . . . . 323 Syntax . . . . . . . . . . . . . . . . 323 Parameters . . . . . . . . . . . . . . 323

    Hconn (MQHCONN) input . . . . . . . 323 CompCode (MQLONG) output . . . . . . 323 Reason (MQLONG) output . . . . . . . 323

    Usage notes . . . . . . . . . . . . . . 324 Language invocations . . . . . . . . . . 326

    C invocation . . . . . . . . . . . . . 326 COBOL invocation . . . . . . . . . . 326 PL/I invocation . . . . . . . . . . . 326 System/390 assembler invocation . . . . . . 326 Visual Basic invocation . . . . . . . . . 326

    Chapter 30. MQBEGIN Begin unit of work . . . . . . . . . . . . . . . 329 Syntax . . . . . . . . . . . . . . . . 329 Parameters . . . . . . . . . . . . . . 329

    Hconn (MQHCONN) input . . . . . . . 329 BeginOptions (MQBO) input/output . . . . 329 CompCode (MQLONG) output . . . . . . 329 Reason (MQLONG) output . . . . . . . 329

    Usage notes . . . . . . . . . . . . . . 330 Language invocations . . . . . . . . . . 331

    C invocation . . . . . . . . . . . . . 331 COBOL invocation . . . . . . . . . . 332 PL/I invocation . . . . . . . . . . . 332 Visual Basic invocation . . . . . . . . . 332

    Chapter 31. MQCLOSE Close object 333 Syntax . . . . . . . . . . . . . . . . 333 Parameters . . . . . . . . . . . . . . 333

    Hconn (MQHCONN) input . . . . . . . 333 Hobj (MQHOBJ) input/output . . . . . . 333 Options (MQLONG) input . . . . . . . 333 CompCode (MQLONG) output . . . . . . 335 Reason (MQLONG) output . . . . . . . 335

    Usage notes . . . . . . . . . . . . . . 336 Language invocations . . . . . . . . . . 338

    C invocation . . . . . . . . . . . . . 338 COBOL invocation . . . . . . . . . . 338 PL/I invocation . . . . . . . . . . . 339 System/390 assembler invocation . . . . . . 339 Visual Basic invocation . . . . . . . . . 339

    Chapter 32. MQCMIT Commit changes . . . . . . . . . . . . . 341 Syntax . . . . . . . . . . . . . . . . 341 Parameters . . . . . . . . . . . . . . 341

    Hconn (MQHCONN) input . . . . . . . 341 CompCode (MQLONG) output . . . . . . 341

    viii Application Programming Reference

  • Reason (MQLONG) output . . . . . . . 341 Usage notes . . . . . . . . . . . . . . 342 Language invocations . . . . . . . . . . 344

    C invocation . . . . . . . . . . . . . 344 COBOL invocation . . . . . . . . . . 344 PL/I invocation . . . . . . . . . . . 344 System/390 assembler invocation . . . . . . 344 Visual Basic invocation . . . . . . . . . 344

    Chapter 33. MQCONN Connect queue manager . . . . . . . . . . 345 Syntax . . . . . . . . . . . . . . . . 345 Parameters . . . . . . . . . . . . . . 345

    QMgrName (MQCHAR48) input . . . . . 345 Hconn (MQHCONN) output . . . . . . 347 CompCode (MQLONG) output . . . . . . 348 Reason (MQLONG) output . . . . . . . 348

    Usage notes . . . . . . . . . . . . . . 350 Language invocations . . . . . . . . . . 352

    C invocation . . . . . . . . . . . . . 352 COBOL invocation . . . . . . . . . . 352 PL/I invocation . . . . . . . . . . . 352 System/390 assembler invocation . . . . . . 352 Visual Basic invocation . . . . . . . . . 352

    Chapter 34. MQCONNX Connect queue manager (extended) . . . . . 353 Syntax . . . . . . . . . . . . . . . . 353 Parameters . . . . . . . . . . . . . . 353

    QMgrName (MQCHAR48) input . . . . . 353 ConnectOpts (MQCNO) input/output . . . 353 Hconn (MQHCONN) output . . . . . . 353 CompCode (MQLONG) output . . . . . . 353 Reason (MQLONG) output . . . . . . . 353

    Usage notes . . . . . . . . . . . . . . 355 Language invocations . . . . . . . . . . 355

    C invocation . . . . . . . . . . . . . 355 COBOL invocation . . . . . . . . . . 355 PL/I invocation . . . . . . . . . . . 355 System/390 assembler invocation . . . . . . 356 Visual Basic invocation . . . . . . . . . 356

    Chapter 35. MQDISC Disconnect queue manager . . . . . . . . . . 357 Syntax . . . . . . . . . . . . . . . . 357 Parameters . . . . . . . . . . . . . . 357

    Hconn (MQHCONN) input/output . . . . 357 CompCode (MQLONG) output . . . . . . 357 Reason (MQLONG) output . . . . . . . 357

    Usage notes . . . . . . . . . . . . . . 359 Language invocations . . . . . . . . . . 359

    C invocation . . . . . . . . . . . . . 360 COBOL invocation . . . . . . . . . . 360 PL/I invocation . . . . . . . . . . . 360 System/390 assembler invocation . . . . . . 360 Visual Basic invocation . . . . . . . . . 360

    Chapter 36. MQGET Get message 361 Syntax . . . . . . . . . . . . . . . . 361

    Parameters . . . . . . . . . . . . . . 361 Hconn (MQHCONN) input . . . . . . . 361 Hobj (MQHOBJ) input . . . . . . . . . 361 MsgDesc (MQMD) input/output . . . . . 361 GetMsgOpts (MQGMO) input/output . . . 362 BufferLength (MQLONG) input . . . . . 362 Buffer (MQBYTExBufferLength) output . . . 362 DataLength (MQLONG) output . . . . . 362 CompCode (MQLONG) output . . . . . . 363 Reason (MQLONG) output . . . . . . . 363

    Usage notes . . . . . . . . . . . . . . 367 Language invocations . . . . . . . . . . 370

    C invocation . . . . . . . . . . . . . 370 COBOL invocation . . . . . . . . . . 371 PL/I invocation . . . . . . . . . . . 371 System/390 assembler invocation . . . . . . 371 Visual Basic invocation . . . . . . . . . 372

    Chapter 37. MQINQ Inquire object attributes . . . . . . . . . . . . . 373 Syntax . . . . . . . . . . . . . . . . 373 Parameters . . . . . . . . . . . . . . 373

    Hconn (MQHCONN) input . . . . . . . 373 Hobj (MQHOBJ) input . . . . . . . . . 373 SelectorCount (MQLONG) input . . . . . 373 Selectors (MQLONGxSelectorCount) input . . 373 IntAttrCount (MQLONG) input . . . . . 378 IntAttrs (MQLONGxIntAttrCount) output . . 378 CharAttrLength (MQLONG) input . . . . 379 CharAttrs (MQCHARxCharAttrLength) output 379 CompCode (MQLONG) output . . . . . . 379 Reason (MQLONG) output . . . . . . . 379

    Usage notes . . . . . . . . . . . . . . 381 Language invocations . . . . . . . . . . 382

    C invocation . . . . . . . . . . . . . 382 COBOL invocation . . . . . . . . . . 382 PL/I invocation . . . . . . . . . . . 383 System/390 assembler invocation . . . . . . 383 Visual Basic invocation . . . . . . . . . 383

    Chapter 38. MQOPEN Open object 385 Syntax . . . . . . . . . . . . . . . . 385 Parameters . . . . . . . . . . . . . . 385

    Hconn (MQHCONN) input . . . . . . . 385 ObjDesc (MQOD) input/output . . . . . 385 Options (MQLONG) input . . . . . . . 385 Hobj (MQHOBJ) output . . . . . . . . 391 CompCode (MQLONG) output . . . . . . 391 Reason (MQLONG) output . . . . . . . 392

    Usage notes . . . . . . . . . . . . . . 395 Language invocations . . . . . . . . . . 400

    C invocation . . . . . . . . . . . . . 400 COBOL invocation . . . . . . . . . . 400 PL/I invocation . . . . . . . . . . . 400 System/390 assembler invocation . . . . . . 401 Visual Basic invocation . . . . . . . . . 401

    Chapter 39. MQPUT Put message 403 Syntax . . . . . . . . . . . . . . . . 403 Parameters . . . . . . . . . . . . . . 403

    Contents ix

  • Hconn (MQHCONN) input . . . . . . . 403 Hobj (MQHOBJ) input . . . . . . . . . 403 MsgDesc (MQMD) input/output . . . . . 403 PutMsgOpts (MQPMO) input/output . . . 403 BufferLength (MQLONG) input . . . . . 403 Buffer (MQBYTExBufferLength) input . . . 404 CompCode (MQLONG) output . . . . . . 405 Reason (MQLONG) output . . . . . . . 405

    Usage notes . . . . . . . . . . . . . . 410 Language invocations . . . . . . . . . . 413

    C invocation . . . . . . . . . . . . . 414 COBOL invocation . . . . . . . . . . 414 PL/I invocation . . . . . . . . . . . 414 System/390 assembler invocation . . . . . . 414 Visual Basic invocation . . . . . . . . . 415

    Chapter 40. MQPUT1 Put one message . . . . . . . . . . . . . 417 Syntax . . . . . . . . . . . . . . . . 417 Parameters . . . . . . . . . . . . . . 417

    Hconn (MQHCONN) input . . . . . . . 417 ObjDesc (MQOD) input/output . . . . . 417 MsgDesc (MQMD) input/output . . . . . 417 PutMsgOpts (MQPMO) input/output . . . 417 BufferLength (MQLONG) input . . . . . 417 Buffer (MQBYTExBufferLength) input . . . 418 CompCode (MQLONG) output . . . . . . 418 Reason (MQLONG) output . . . . . . . 418

    Usage notes . . . . . . . . . . . . . . 423 Language invocations . . . . . . . . . . 425

    C invocation . . . . . . . . . . . . . 425 COBOL invocation . . . . . . . . . . 425 PL/I invocation . . . . . . . . . . . 425 System/390 assembler invocation . . . . . . 426 Visual Basic invocation . . . . . . . . . 426

    Chapter 41. MQSET Set object attributes . . . . . . . . . . . . . 427 Syntax . . . . . . . . . . . . . . . . 427 Parameters . . . . . . . . . . . . . . 427

    Hconn (MQHCONN) input . . . . . . . 427 Hobj (MQHOBJ) input . . . . . . . . . 427 SelectorCount (MQLONG) input . . . . . 427 Selectors (MQLONGxSelectorCount) input . . 427 IntAttrCount (MQLONG) input . . . . . 428 IntAttrs (MQLONGxIntAttrCount) input . . 428 CharAttrLength (MQLONG) input . . . . 428 CharAttrs (MQCHARxCharAttrLength) input 429 CompCode (MQLONG) output . . . . . . 429 Reason (MQLONG) output . . . . . . . 429

    Usage notes . . . . . . . . . . . . . . 431 Language invocations . . . . . . . . . . 431

    C invocation . . . . . . . . . . . . . 431 COBOL invocation . . . . . . . . . . 432 PL/I invocation . . . . . . . . . . . 432 System/390 assembler invocation . . . . . . 432 Visual Basic invocation . . . . . . . . . 433

    Part 3. Attributes of objects . . . . 435

    Chapter 42. Attributes for queues . . . 437 Attribute descriptions . . . . . . . . . . 440

    AlterationDate (MQCHAR12) . . . . . . . 440 AlterationTime (MQCHAR8) . . . . . . . 440 BackoutRequeueQName (MQCHAR48) . . . . 441 BackoutThreshold (MQLONG) . . . . . . 441 BaseQName (MQCHAR48) . . . . . . . . 441 CFStrucName (MQCHAR12) . . . . . . . 442 ClusterName (MQCHAR48) . . . . . . . 442 ClusterNamelist (MQCHAR48) . . . . . . 442 CLWLQueuePriority (MQLONG) . . . . . . 443 CLWLQueueRank (MQLONG) . . . . . . 443 CLWLUseQ (MQLONG) . . . . . . . . . 443 CreationDate (MQCHAR12) . . . . . . . 444 CreationTime (MQCHAR8) . . . . . . . . 444 CurrentQDepth (MQLONG) . . . . . . . 444 DefBind (MQLONG) . . . . . . . . . . 445 DefinitionType (MQLONG) . . . . . . . . 445 DefInputOpenOption (MQLONG) . . . . . 446 DefPersistence (MQLONG) . . . . . . . . 447 DefPriority (MQLONG) . . . . . . . . . 447 DistLists (MQLONG) . . . . . . . . . . 448 HardenGetBackout (MQLONG) . . . . . . 449 IndexType (MQLONG) . . . . . . . . . 450 InhibitGet (MQLONG) . . . . . . . . . 452 InhibitPut (MQLONG) . . . . . . . . . 453 InitiationQName (MQCHAR48) . . . . . . 453 MaxMsgLength (MQLONG) . . . . . . . 453 MaxQDepth (MQLONG) . . . . . . . . 454 MsgDeliverySequence (MQLONG) . . . . . 454 NonPersistentMessageClass (MQLONG) . . . 455 OpenInputCount (MQLONG) . . . . . . . 456 OpenOutputCount (MQLONG) . . . . . . 456 ProcessName (MQCHAR48) . . . . . . . 457 QDepthHighEvent (MQLONG) . . . . . . 457 QDepthHighLimit (MQLONG) . . . . . . 457 QDepthLowEvent (MQLONG) . . . . . . 458 QDepthLowLimit (MQLONG) . . . . . . . 458 QDepthMaxEvent (MQLONG) . . . . . . 459 QDesc (MQCHAR64) . . . . . . . . . . 459 QName (MQCHAR48) . . . . . . . . . 460 QServiceInterval (MQLONG) . . . . . . . 460 QServiceIntervalEvent (MQLONG) . . . . . 460 QSGDisp (MQLONG) . . . . . . . . . 461 QueueAccounting (MQCHAR12) . . . . . . 462 QueueMonitoring (MQLONG) . . . . . . . 462 QueueStatistics (MQCHAR12) . . . . . . . 463 QType (MQLONG) . . . . . . . . . . 463 RemoteQMgrName (MQCHAR48) . . . . . 463 RemoteQName (MQCHAR48) . . . . . . . 464 RetentionInterval (MQLONG) . . . . . . . 464 Scope (MQLONG) . . . . . . . . . . . 465 Shareability (MQLONG) . . . . . . . . . 465 StorageClass (MQCHAR8) . . . . . . . . 466 TriggerControl (MQLONG) . . . . . . . . 466 TriggerData (MQCHAR64) . . . . . . . . 466 TriggerDepth (MQLONG) . . . . . . . . 467 TriggerMsgPriority (MQLONG) . . . . . . 467 TriggerType (MQLONG) . . . . . . . . . 467 Usage (MQLONG) . . . . . . . . . . 468 XmitQName (MQCHAR48) . . . . . . . . 468

    x Application Programming Reference

  • Chapter 43. Attributes for namelists 471 Attribute descriptions . . . . . . . . . . 471

    AlterationDate (MQCHAR12) . . . . . . . 471 AlterationTime (MQCHAR8) . . . . . . . 471 NameCount (MQLONG) . . . . . . . . 472 NamelistDesc (MQCHAR64) . . . . . . . 472 NamelistName (MQCHAR48) . . . . . . . 472 NamelistType (MQLONG) . . . . . . . . 472 Names (MQCHAR48xNameCount) . . . . . 473 QSGDisp (MQLONG) . . . . . . . . . 473

    Chapter 44. Attributes for process definitions . . . . . . . . . . . . . 475 Attribute descriptions . . . . . . . . . . 475

    AlterationDate (MQCHAR12) . . . . . . . 475 AlterationTime (MQCHAR8) . . . . . . . 475 ApplId (MQCHAR256) . . . . . . . . . 476 ApplType (MQLONG) . . . . . . . . . 476 EnvData (MQCHAR128) . . . . . . . . . 477 ProcessDesc (MQCHAR64) . . . . . . . . 477 ProcessName (MQCHAR48) . . . . . . . 478 QSGDisp (MQLONG) . . . . . . . . . 478 UserData (MQCHAR128) . . . . . . . . 478

    Chapter 45. Attributes for the queue manager . . . . . . . . . . . . . 481 Attribute descriptions . . . . . . . . . . 484

    AccountingConnOverride (MQLONG) . . . . 484 AccountingInterval (MQLONG) . . . . . . 484 AdoptNewMCACheck (MQLONG) . . . . . 485 AdoptNewMCAType (MQLONG) . . . . . 485 AlterationDate (MQCHAR12) . . . . . . . 485 AlterationTime (MQCHAR8) . . . . . . . 486 AuthorityEvent (MQLONG) . . . . . . . 486 BridgeEvent (MQLONG) . . . . . . . . 486 ChannelAutoDef (MQLONG) . . . . . . . 486 ChannelAutoDefEvent (MQLONG) . . . . . 487 ChannelAutoDefExit (MQCHARn) . . . . . 487 ChannelEvent (MQLONG) . . . . . . . . 487 ChannelInitiatorControl (MQLONG) . . . . . 488 ChannelMonitoring (MQLONG) . . . . . . 488 ChannelStatistics (MQLONG) . . . . . . . 489 ChinitAdapters (MQLONG) . . . . . . . 489 ChinitDispatchers (MQLONG) . . . . . . . 489 ChinitTraceAutoStart (MQLONG) . . . . . 490 ChinitTraceTableSize (MQLONG) . . . . . . 490 ClusterSenderMonitoringDefault (MQLONG) 490 ClusterSenderStatistics (MQLONG) . . . . . 491 ClusterWorkloadData (MQCHAR32) . . . . . 492 ClusterWorkloadExit (MQCHARn) . . . . . 492 ClusterWorkloadLength (MQLONG) . . . . 492 CLWLMRUChannels (MQLONG) . . . . . 492 CLWLUseQ (MQLONG) . . . . . . . . . 493 CodedCharSetId (MQLONG) . . . . . . . 493 CommandEvent (MQLONG) . . . . . . . 493 CommandInputQName (MQCHAR48) . . . . 493 CommandLevel (MQLONG) . . . . . . . 494 CommandServerControl (MQLONG) . . . . 496 ConfigurationEvent (MQLONG) . . . . . . 496 DeadLetterQName (MQCHAR48) . . . . . 497

    DefXmitQName (MQCHAR48) . . . . . . 498 DistLists (MQLONG) . . . . . . . . . . 498 DNSGroup (MQCHAR18) . . . . . . . . 498 DNSWLM (MQLONG) . . . . . . . . . 498 ExpiryInterval (MQLONG) . . . . . . . . 499 IGQPutAuthority (MQLONG) . . . . . . . 499 IGQUserId (MQLONG) . . . . . . . . . 500 InhibitEvent (MQLONG) . . . . . . . . 500 IntraGroupQueuing (MQLONG) . . . . . . 501 IPAddressVersion (MQLONG) . . . . . . . 501 ListenerTimer (MQLONG) . . . . . . . . 502 LocalEvent (MQLONG) . . . . . . . . . 502 LoggerEvent (MQLONG) . . . . . . . . 502 LUGroupName (MQCHAR8) . . . . . . . 502 LUName (MQCHAR8) . . . . . . . . . 503 LU62ARMSuffix (MQCHAR2) . . . . . . . 503 LU62Channels (MQLONG) . . . . . . . . 503 MaxActiveChannels (MQLONG) . . . . . . 503 MaxChannels (MQLONG) . . . . . . . . 503 MaxHandles (MQLONG) . . . . . . . . 504 MaxMsgLength (MQLONG) . . . . . . . 504 MaxPriority (MQLONG) . . . . . . . . 504 MaxUncommittedMsgs (MQLONG) . . . . . 505 MQIAccounting (MQLONG) . . . . . . . 505 MQIStatistics (MQLONG) . . . . . . . . 506 OutboundPortMax (MQLONG) . . . . . . 506 OutboundPortMin (MQLONG) . . . . . . 506 PerformanceEvent (MQLONG) . . . . . . 506 Platform (MQLONG) . . . . . . . . . . 507 QMgrDesc (MQCHAR64) . . . . . . . . 507 QMgrIdentifier (MQCHAR48) . . . . . . . 508 QMgrName (MQCHAR48) . . . . . . . . 508 QSGName (MQCHAR4) . . . . . . . . . 508 QueueAccounting (MQLONG) . . . . . . 508 QueueMonitoring (MQLONG) . . . . . . . 509 QueueStatistics (MQLONG) . . . . . . . 509 ReceiveTimeout (MQLONG) . . . . . . . 510 ReceiveTimeoutMin (MQLONG) . . . . . . 510 ReceiveTimeoutType (MQLONG) . . . . . . 510 RemoteEvent (MQLONG) . . . . . . . . 511 RepositoryName (MQCHAR48) . . . . . . 511 RepositoryNamelist (MQCHAR48) . . . . . 511 SharedQMgrName (MQLONG) . . . . . . 512 SSLEvent (MQLONG) . . . . . . . . . 512 SSLFIPSRequired (MQLONG) . . . . . . . 512 SSLKeyResetCount (MQLONG) . . . . . . 513 StartStopEvent (MQLONG) . . . . . . . . 513 StatisticsInterval (MQLONG) . . . . . . . 513 SyncPoint (MQLONG) . . . . . . . . . 513 TCPChannels (MQLONG) . . . . . . . . 514 TCPKeepAlive (MQLONG) . . . . . . . . 514 TCPName (MQCHAR8) . . . . . . . . . 514 TCPStackType (MQLONG) . . . . . . . . 514 TraceRouteRecording (MQLONG) . . . . . 515 TriggerInterval (MQLONG) . . . . . . . . 515

    Chapter 46. Attributes for authentication information objects . . 517 Attribute descriptions . . . . . . . . . . 517

    AlterationDate (MQCHAR12) . . . . . . . 517 AlterationTime (MQCHAR8) . . . . . . . 517

    Contents xi

  • AuthInfoConnName (MQCHAR264) . . . . . 518 AuthInfoDesc (MQCHAR64) . . . . . . . 518 AuthInfoName (MQCHAR48) . . . . . . . 518 AuthInfoType (MQLONG) . . . . . . . . 518 LDAPPassword (MQCHAR32) . . . . . . 518 LDAPUserName (MQ_DISTINGUISHED_NAME_LENGTH) . . 518

    Part 4. Appendixes . . . . . . . . 519

    Appendix A. Return codes . . . . . . 521 Completion codes . . . . . . . . . . . . 521 Reason codes . . . . . . . . . . . . . 522

    Appendix B. MQ constants . . . . . 523

    Appendix C. Rules for validating MQI options . . . . . . . . . . . . . . 525 MQOPEN call . . . . . . . . . . . . . 525 MQPUT call . . . . . . . . . . . . . . 525 MQPUT1 call . . . . . . . . . . . . . 526 MQGET call . . . . . . . . . . . . . . 526 MQCLOSE call . . . . . . . . . . . . . 526

    Appendix D. Machine encodings . . . 527 Binary-integer encoding . . . . . . . . . . 527 Packed-decimal-integer encoding . . . . . . . 528 Floating-point encoding . . . . . . . . . . 528 Constructing encodings . . . . . . . . . . 529 Analyzing encodings . . . . . . . . . . . 529

    Using bit operations . . . . . . . . . . 529 Using arithmetic . . . . . . . . . . . 529

    Summary of machine architecture encodings . . . 530

    Appendix E. Report options and message flags . . . . . . . . . . . 531 Structure of the report field . . . . . . . . . 531 Analyzing the report field . . . . . . . . . 532

    Using bit operations . . . . . . . . . . 532 Using arithmetic . . . . . . . . . . . 533

    Structure of the message-flags field . . . . . . 534

    Appendix F. Data conversion . . . . . 537 Conversion processing . . . . . . . . . . 537 Processing conventions . . . . . . . . . . 538 Conversion of report messages . . . . . . . 543 MQDXP Data-conversion exit parameter . . . . 544

    Overview . . . . . . . . . . . . . . 544 Fields . . . . . . . . . . . . . . . 545 C declaration . . . . . . . . . . . . 549 COBOL declaration (i5/OS only) . . . . . . 550 System/390 assembler declaration . . . . . 550

    MQXCNVC Convert characters . . . . . . . 550 Syntax . . . . . . . . . . . . . . . 551 Parameters . . . . . . . . . . . . . 551 C invocation . . . . . . . . . . . . . 556 COBOL invocation (i5/OS only) . . . . . . 556 System/390 assembler invocation . . . . . . 556

    MQ_DATA_CONV_EXIT Data conversion exit 557 Syntax . . . . . . . . . . . . . . . 557 Parameters . . . . . . . . . . . . . 557 Usage notes . . . . . . . . . . . . . 558 C invocation . . . . . . . . . . . . . 561 COBOL invocation (i5/OS only) . . . . . . 561 System/390 assembler invocation . . . . . . 561

    Appendix G. Code page conversion 563 Codeset names and CCSIDs . . . . . . . . 564 National languages . . . . . . . . . . . 565

    US English . . . . . . . . . . . . . 566 German . . . . . . . . . . . . . . 567 Danish and Norwegian . . . . . . . . . 568 Finnish and Swedish . . . . . . . . . . 569 Italian . . . . . . . . . . . . . . . 570 Spanish . . . . . . . . . . . . . . 571 UK English /Gaelic . . . . . . . . . . 572 French . . . . . . . . . . . . . . . 573 Multilingual . . . . . . . . . . . . . 574 Portuguese . . . . . . . . . . . . . 575 Icelandic . . . . . . . . . . . . . . 576 Eastern European languages . . . . . . . 577 Cyrillic . . . . . . . . . . . . . . 578 Estonian . . . . . . . . . . . . . . 579 Latvian and Lithuanian . . . . . . . . . 580 Ukranian . . . . . . . . . . . . . . 581 Greek . . . . . . . . . . . . . . . 582 Turkish . . . . . . . . . . . . . . 583 Hebrew . . . . . . . . . . . . . . 584 Arabic . . . . . . . . . . . . . . . 586 Farsi . . . . . . . . . . . . . . . 587 Urdu . . . . . . . . . . . . . . . 588 Thai . . . . . . . . . . . . . . . 589 Lao . . . . . . . . . . . . . . . . 590 Vietnamese . . . . . . . . . . . . . 591 Japanese Latin SBCS . . . . . . . . . . 592 Japanese Katakana SBCS . . . . . . . . 594 Japanese Kanji/ Latin Mixed . . . . . . . 596 Japanese Kanji/ Katakana Mixed . . . . . . 598 Korean . . . . . . . . . . . . . . 600 Simplified Chinese . . . . . . . . . . 601 Traditional Chinese . . . . . . . . . . 602

    z/OS conversion support . . . . . . . . . 603 OS/400 conversion support . . . . . . . . 621 Unicode conversion support . . . . . . . . 621

    WebSphere MQ AIX support for Unicode . . . 621 WebSphere MQ HP-UX support for Unicode 622 WebSphere MQ (for Windows, Solaris, and Linux) and MQSeries (for Compaq NSK, OVMS, and Tru64) support for Unicode . . . . . . 622 OS/400 support for Unicode . . . . . . . 622 WebSphere MQ for z/OS support for Unicode 623

    Appendix H. Notices . . . . . . . . 625 Trademarks . . . . . . . . . . . . . . 626

    Index . . . . . . . . . . . . . . . 629

    Sending your comments to IBM . . . 637

    xii Application Programming Reference

  • Tables 1. Short names used for supported environments xvi 2. Language compilers for WebSphere MQ for

    AIX . . . . . . . . . . . . . . . xvii 3. Language compilers for WebSphere MQ for

    HP-UX . . . . . . . . . . . . . xvii 4. Language compilers for WebSphere MQ for

    iSeries . . . . . . . . . . . . . . xvii 5. Language compilers for WebSphere MQ for

    Linux . . . . . . . . . . . . . . xvii 6. Language compilers for WebSphere MQ for

    Solaris . . . . . . . . . . . . . . xvii 7. Language compilers for WebSphere MQ for

    Windows . . . . . . . . . . . . xviii 8. Language compilers and assemblers for

    WebSphere MQ for z/OS . . . . . . . xviii 9. Language compilers for Windows 98 clients xviii 10. Elementary data types in C . . . . . . . 11 11. Elementary data types in COBOL . . . . . 14 12. Elementary data types in PL/I . . . . . . 14 13. Elementary data types in System/390

    assembler . . . . . . . . . . . . . 15 14. Structure data types used on MQI calls (or exit

    functions): . . . . . . . . . . . . . 16 15. Structure data types used in message data: 16 16. C header files . . . . . . . . . . . . 18 17. COBOL COPY files . . . . . . . . . . 21 18. Assembler macros . . . . . . . . . . 24 19. Fields in MQAIR . . . . . . . . . . . 29 20. Initial values of fields in MQAIR . . . . . 32 21. Fields in MQBO . . . . . . . . . . . 35 22. Initial values of fields in MQBO . . . . . . 36 23. Fields in MQCIH . . . . . . . . . . . 39 24. Contents of error information fields in MQCIH

    structure . . . . . . . . . . . . . 41 25. Initial values of fields in MQCIH . . . . . 50 26. Fields in MQCNO . . . . . . . . . . 57 27. Initial values of fields in MQCNO . . . . . 68 28. Fields in MQCSP . . . . . . . . . . . 71 29. Initial values of fields in MQCSP . . . . . 73 30. Fields in MQDH . . . . . . . . . . . 77 31. Initial values of fields in MQDH . . . . . 81 32. Fields in MQDLH . . . . . . . . . . 85 33. Initial values of fields in MQDLH . . . . . 91 34. Fields in MQEPH . . . . . . . . . . 95 35. Initial values of fields in MQDH . . . . . 96 36. Initial values of fields in MQEPH . . . . . 98 37. Fields in MQGMO . . . . . . . . . . 101 38. MQGET options relating to messages in

    groups and segments of logical messages . . 120 39. Outcome when MQGET or MQCLOSE call is

    not consistent with group and segment information . . . . . . . . . . . . 122

    40. Initial values of fields in MQGMO . . . . 130 41. Fields in MQIIH . . . . . . . . . . 135 42. Initial values of fields in MQIIH . . . . . 139 43. Fields in MQMD . . . . . . . . . . 143

    44. Initial values of fields in MQMD . . . . . 195 45. Fields in MQMDE . . . . . . . . . . 201 46. Queue-manager action when MQMDE

    specified on MQPUT or MQPUT1 . . . . . 202 47. Initial values of fields in MQMDE . . . . 205 48. Fields in MQOD . . . . . . . . . . 209 49. Initial values of fields in MQOD . . . . . 219 50. Fields in MQOR . . . . . . . . . . 223 51. Initial values of fields in MQOR . . . . . 224 52. Fields in MQPMO . . . . . . . . . . 225 53. MQPUT options relating to messages in

    groups and segments of logical messages . . 230 54. Outcome when MQPUT or MQCLOSE call is

    not consistent with group and segment information . . . . . . . . . . . . 232

    55. Initial values of fields in MQPMO . . . . 240 56. Fields in MQPMR . . . . . . . . . . 245 57. Fields in MQRFH . . . . . . . . . . 249 58. Initial values of fields in MQRFH . . . . . 252 59. Fields in MQRFH2 . . . . . . . . . . 255 60. Initial values of fields in MQRFH2 . . . . 261 61. Fields in MQRMH . . . . . . . . . . 263 62. Initial values of fields in MQRMH . . . . 269 63. Fields in MQRR . . . . . . . . . . . 273 64. Initial values of fields in MQRR . . . . . 274 65. Fields in MQSCO . . . . . . . . . . 275 66. Initial values of fields in MQSCO . . . . . 279 67. Fields in MQTM . . . . . . . . . . 283 68. Initial values of fields in MQTM . . . . . 288 69. Fields in MQTMC2 . . . . . . . . . 291 70. Initial values of fields in MQTMC2 . . . . 293 71. Fields in MQWIH . . . . . . . . . . 297 72. Initial values of fields in MQWIH . . . . . 299 73. Fields in MQXP . . . . . . . . . . . 303 74. Fields in MQXQH . . . . . . . . . . 309 75. Initial values of fields in MQXQH . . . . 313 76. Effect of MQCLOSE options on various types

    of object and queue . . . . . . . . . 334 77. Scope of nonshared handles on various

    platforms . . . . . . . . . . . . . 348 78. MQINQ attribute selectors for queues 374 79. MQINQ attribute selectors for namelists 376 80. MQINQ attribute selectors for process

    definitions . . . . . . . . . . . . 376 81. MQINQ attribute selectors for the queue

    manager . . . . . . . . . . . . . 376 82. Valid MQOPEN options for each queue type 391 83. MQSET attribute selectors for queues 428 84. Attributes for queues . . . . . . . . . 438 85. Recommended or required values of queue

    index type when MQGMO_LOGICAL_ORDER not specified . 451

    86. Recommended or required values of queue index type when MQGMO_LOGICAL_ORDER specified . . . 452

    87. Attributes for namelists . . . . . . . . 471

    Copyright IBM Corp. 1994, 2005 xiii

  • 88. Attributes for process definitions . . . . . 475 89. Attributes for the queue manager . . . . . 481 90. Attributes for authentication information

    objects . . . . . . . . . . . . . . 517 91. Summary of encodings for machine

    architectures . . . . . . . . . . . . 530

    92. Fields in MQDXP . . . . . . . . . . 544 93. Codeset names and CCSIDs . . . . . . . 564 94. WebSphere MQ for z/OS CCSID conversion

    support . . . . . . . . . . . . . 603

    xiv Application Programming Reference

  • About this book The IBM WebSphere MQ set of products provides application programming services, on various platforms, that allow a new style of programming. This style enables you to code indirect program-to-program communication using message queues.

    This book gives a full description of the WebSphere MQ programming interface, the MQI, for the following products:

    WebSphere MQ for AIX

    WebSphere MQ for HP-UX WebSphere MQ for iSeries

    WebSphere MQ for Linux

    WebSphere MQ for Solaris WebSphere MQ for Windows

    WebSphere MQ for z/OS

    The WebSphere MQ product family Web site is at: http://www.ibm.com/software/integration/mqfamily/

    By following links from this Web site you can: v Obtain latest information about the product family. v Access the books in HTML and PDF formats. v Download a WebSphere MQ SupportPac.

    For information about versions of WebSphere MQ or MQSeries earlier than Version 6.0, refer to the documentation for the platform in which you are interested, available from the WebSphere MQ product family Web site at: http://www.ibm.com/software/integration/mqfamily/

    By following links from this Web site you can: v Obtain information about the product family. v Access the books in HTML and PDF formats. v Download a WebSphere MQ SupportPac.Notes:

    1. This book does not apply to the WebSphere MQ for iSeries, V6.0 product using the RPG programming language. Use the WebSphere MQ for iSeries V6 Application Programming Reference (ILE RPG), SC34-6071 for this programming language.

    2. C++ This book does not describe the C++ programming language binding. For information on C++ , see WebSphere MQ Using C++.

    3. Java This book does not tell you how to write MQ applications using Java or the JMS. For information on using Java , see WebSphere MQ Using Java.

    4. API exits This book does not describe API exits. For information on API exits, see the WebSphere MQ Application Programming Guide.

    Copyright IBM Corp. 1994, 2005 xv

  • For information on how to design and write applications that use the services WebSphere MQ provides, see the WebSphere MQ Application Programming Guide.

    Who this book is for This book is for the designers of applications that use message queuing techniques, and for programmers who have to implement these designs.

    What you need to know to understand this book To write message queuing applications using WebSphere MQ, you need to know how to write programs in one of the supported programming languages: v C or COBOL (available on all supported platforms) v PL/I (available on z/OS) v System/390 assembler (available on z/OS only) v Visual Basic V6 (Windows systems only)

    If the applications you are writing are to run within a CICS system, you must also be familiar with CICS on your platform and its application programming interface.

    To understand this book, you do not need to have written message queuing programs before.

    Terms used in this book All new terms that this book introduces are defined in the glossary. This book uses the following shortened names: WebSphere MQ

    The WebSphere MQ set of products CICS The CICS, or Transaction Server, product for the specific platform on which

    you are working.

    Not all the capabilities described in this book are available in all environments. Those calls, structures, fields, or options that are not supported everywhere are identified as such in the explanatory text. Table 1 shows the short names used in this book for the various environments, and the products to which they refer.

    Table 1. Short names used for supported environments Short name used in this book

    Full product or environment name

    AIX WebSphere MQ for AIX, V6.0

    HP-UX WebSphere MQ for HP-UX, V6.0

    Linux WebSphere MQ for Linux, V6.0

    i5/OS WebSphere MQ for iSeries, V6.0

    Solaris WebSphere MQ for Solaris, V6.0

    Windows WebSphere MQ for Windows, V6.0

    z/OS WebSphere MQ for z/OS, V6.0

    The WebSphere MQ Windows client runs on the following Windows platforms: v Windows 2000

    About this book

    xvi Application Programming Reference

  • v Windows XP v Windows 2003

    Language compilers and assemblers The following tables list the language compilers and assemblers supported.

    Table 2. Language compilers for WebSphere MQ for AIX Language Compiler

    C++ IBM VisualAge C++ Professional for AIX, V6.0

    C IBM C for AIX, V6.0

    COBOL IBM COBOL Set for AIX V1.1 Micro Focus Server Express, V4.0

    Table 3. Language compilers for WebSphere MQ for HP-UX Language Compiler

    C++ HP aC++ version A.03.52 for HP-UX 11.0 and 11i Version 1 (A.03.52 available as patch PHSS_29483)

    C HP C/ANSI Developers Bundle for HP-UX and 11i Version 1

    COBOL Micro Focus Server Express, V4.0

    Table 4. Language compilers for WebSphere MQ for iSeries Language Compiler

    C++ Integrated Language Environment C++ for iSeries

    C Integrated Language Environment C for iSeries

    COBOL Integrated Language Environment COBOL for iSeries

    RPG Integrated Language Environment RPG for iSeries

    Table 5. Language compilers for WebSphere MQ for Linux Language Compiler

    C++ GNU C compiler (gcc) and g++ Versions 3.2 and 3.4

    C GNU C compiler (gcc) and g++ Versions 3.2 and 3.4

    COBOL Micro Focus Server Express, V4.0

    Table 6. Language compilers for WebSphere MQ for Solaris Language Compiler

    C++ Sun ONE Studio 7, Enterprise Edition for Solaris Sun ONE Studio 8 Compiler Collection

    C Sun ONE Studio 7, Enterprise Edition for Solaris Sun ONE Studio 8 Compiler Collection

    COBOL Micro Focus Server Express, V4.0

    About this book

    About this book xvii

  • Table 7. Language compilers for WebSphere MQ for Windows Language Compiler

    Basic Microsoft Visual Basic .NET 2003

    C++ Microsoft Visual C++ .NET 2003

    C Microsoft Visual C# .NET 2003

    COBOL Micro Focus Net Express, V4.0

    Table 8. Language compilers and assemblers for WebSphere MQ for z/OS Language Compiler/Assembler

    Assembler Assembler H assembler IBM High Level Assembler/MVS assembler

    C++ IBM OS/390 C/C++, V2R4

    C C/370, Release 2.1.0 IBM OS/390 C/C++, V2R4 IBM SAA AD/Cycle C/370

    COBOL IBM SAA AD/Cycle COBOL/370 VS COBOL II COBOL for OS/390 & VM

    PL/I IBM SAA AD/Cycle PL/I Compiler OS PL/I Optimizing compiler

    Table 9. Language compilers for Windows 98 clients Language Compiler

    C++ Microsoft Visual C++, V6.0

    C Microsoft Visual C++, V6.0

    COBOL Micro Focus Net Express, V4.0

    How to use this book This book enables you to find out quickly, for example, how to use a particular call or how to correct a particular error situation.

    The book presents detailed reference information about the WebSphere MQ programming interface, called the Message Queue Interface (MQI). It describes the: v Data types that the MQI calls use v Parameters and return codes for the calls v Attributes of WebSphere MQ objects v Values of constants that you need to use when you write WebSphere MQ

    programs v Reason codes that might occur when you run your programs

    Appearance of text in this book This book uses the following type styles: MQOPEN

    Example of the name of a call CompCode

    Example of the name of a parameter of a call, a field in a structure, or the attribute of an object

    About this book

    xviii Application Programming Reference

  • MQMD Example of the name of a data type or structure

    MQCC_FAILED Example of the name of a constant

    About this book

    About this book xix

  • About this book

    xx Application Programming Reference

  • Summary of changes This section describes changes in this edition of WebSphere MQ Application Programming Reference.

    Changes for this edition (SC34-6596-00) Major changes for this edition include: v Addition of the MQCSP - Security parameters structure v Addition of the MQEPH - Embedded PCF header structure v Addition of attributes to queues and the queue manager

    Copyright IBM Corp. 1994, 2005 xxi

  • Changes

    xxii Application Programming Reference

  • Part 1. Data type descriptions Chapter 1. Introduction . . . . . . . . . . 7 Elementary data types . . . . . . . . . . . 7

    MQBYTE . . . . . . . . . . . . . . 8 MQBYTEn . . . . . . . . . . . . . . 8 MQCHAR . . . . . . . . . . . . . . 8 MQCHARn . . . . . . . . . . . . . . 9 MQHCONN . . . . . . . . . . . . . 9 MQHOBJ . . . . . . . . . . . . . . 9 MQINT32 . . . . . . . . . . . . . . 9 MQINT64 . . . . . . . . . . . . . . 9 MQLONG . . . . . . . . . . . . . . 9 MQPID . . . . . . . . . . . . . . . 10 MQPTR . . . . . . . . . . . . . . 10 MQTID . . . . . . . . . . . . . . . 10 MQUINT32 . . . . . . . . . . . . . 10 MQUINT64 . . . . . . . . . . . . . 10 MQULONG . . . . . . . . . . . . . 10 PMQCHAR . . . . . . . . . . . . . 10 PMQINT32 . . . . . . . . . . . . . 10 PMQINT64 . . . . . . . . . . . . . 10 PMQLONG A pointer to data of type MQLONG . . . . . . . . . . . . . . 10 PMQMD A pointer to structure of type MQMD 11 PMQUINT32 . . . . . . . . . . . . . 11 PMQUINT64 . . . . . . . . . . . . . 11 PMQULONG A pointer to data of type MQULONG . . . . . . . . . . . . . 11 C declarations . . . . . . . . . . . . 11 COBOL declarations . . . . . . . . . . 14 PL/I declarations . . . . . . . . . . . 14 System/390 assembler declarations . . . . . 15

    Structure data types introduction . . . . . . 15 Summary . . . . . . . . . . . . . . 16 Rules for structure data types . . . . . . . 16 Conventions used in the descriptions . . . . . 17

    C programming . . . . . . . . . . . . . 18 Header files . . . . . . . . . . . . . 18 Functions . . . . . . . . . . . . . . 18 Parameters with undefined data type . . . . . 19 Data types . . . . . . . . . . . . . . 19 Manipulating binary strings . . . . . . . . 19 Manipulating character strings . . . . . . . 19 Initial values for structures . . . . . . . . 20 Initial values for dynamic structures . . . . . 20 Use from C++ . . . . . . . . . . . . 20 Notational conventions . . . . . . . . . 21

    COBOL programming . . . . . . . . . . . 21 COPY files . . . . . . . . . . . . . . 21 Structures . . . . . . . . . . . . . . 22 Pointers . . . . . . . . . . . . . . 23 Named constants . . . . . . . . . . . 23 Notational conventions . . . . . . . . . 24

    System/390 assembler programming . . . . . . 24 Macros . . . . . . . . . . . . . . . 24 Structures . . . . . . . . . . . . . . 24

    Specifying the name of the structure . . . . 25

    Specifying the form of the structure . . . . 25 Controlling the version of the structure . . . 25 Declaring one structure embedded within another . . . . . . . . . . . . . . 26 Specifying initial values for fields . . . . . 26 Controlling the listing . . . . . . . . . 26

    CMQVERA macro . . . . . . . . . . . 26 Notational conventions . . . . . . . . . 27

    Chapter 2. MQAIR Authentication information record . . . . . . . . . . . . . . . . 29 Overview . . . . . . . . . . . . . . . 29 Fields . . . . . . . . . . . . . . . . 29

    AuthInfoConnName (MQCHAR264) . . . . . 29 AuthInfoType (MQLONG) . . . . . . . . 29 LDAPPassword (MQCHAR32) . . . . . . . 30 LDAPUserNameLength (MQLONG) . . . . . 30 LDAPUserNameOffset (MQLONG) . . . . . 30 LDAPUserNamePtr (PMQCHAR) . . . . . . 30 StrucId (MQCHAR4) . . . . . . . . . . 31 Version (MQLONG) . . . . . . . . . . 31

    Initial values and language declarations . . . . . 32 C declaration . . . . . . . . . . . . . 32 COBOL declaration . . . . . . . . . . . 32 PL/I declaration . . . . . . . . . . . . 33 Visual Basic declaration . . . . . . . . . 33

    Chapter 3. MQBO Begin options . . . . . . 35 Overview . . . . . . . . . . . . . . . 35 Fields . . . . . . . . . . . . . . . . 35

    Options (MQLONG) . . . . . . . . . . 35 StrucId (MQCHAR4) . . . . . . . . . . 35 Version (MQLONG) . . . . . . . . . . 36

    Initial values and language declarations . . . . . 36 C declaration . . . . . . . . . . . . . 36 COBOL declaration . . . . . . . . . . . 36 PL/I declaration . . . . . . . . . . . . 36 Visual Basic declaration . . . . . . . . . 37

    Chapter 4. MQCIH CICS bridge header . . . . 39 Overview . . . . . . . . . . . . . . . 40 Fields . . . . . . . . . . . . . . . . 41

    AbendCode (MQCHAR4) . . . . . . . . . 41 ADSDescriptor (MQLONG) . . . . . . . . 41 AttentionId (MQCHAR4) . . . . . . . . . 42 Authenticator (MQCHAR8) . . . . . . . . 42 CancelCode (MQCHAR4) . . . . . . . . . 42 CodedCharSetId (MQLONG) . . . . . . . 42 CompCode (MQLONG) . . . . . . . . . 42 ConversationalTask (MQLONG) . . . . . . 42 CursorPosition (MQLONG) . . . . . . . . 43 Encoding (MQLONG) . . . . . . . . . . 43 ErrorOffset (MQLONG) . . . . . . . . . 43 Facility (MQBYTE8) . . . . . . . . . . 43 FacilityKeepTime (MQLONG) . . . . . . . 43

    Copyright IBM Corp. 1994, 2005 1

  • FacilityLike (MQCHAR4) . . . . . . . . . 43 Flags (MQLONG) . . . . . . . . . . . 44 Format (MQCHAR8) . . . . . . . . . . 44 Function (MQCHAR4) . . . . . . . . . . 45 GetWaitInterval (MQLONG) . . . . . . . . 45 InputItem (MQLONG) . . . . . . . . . . 45 LinkType (MQLONG) . . . . . . . . . . 45 NextTransactionId (MQCHAR4) . . . . . . 46 OutputDataLength (MQLONG) . . . . . . . 46 Reason (MQLONG) . . . . . . . . . . 46 RemoteSysId (MQCHAR4) . . . . . . . . 46 RemoteTransId (MQCHAR4) . . . . . . . 47 ReplyToFormat (MQCHAR8) . . . . . . . 47 Reserved1 (MQCHAR8) . . . . . . . . . 47 Reserved2 (MQCHAR8) . . . . . . . . . 47 Reserved3 (MQCHAR8) . . . . . . . . . 47 Reserved4 (MQLONG) . . . . . . . . . 47 ReturnCode (MQLONG) . . . . . . . . . 47 StartCode (MQCHAR4) . . . . . . . . . 48 StrucId (MQCHAR4) . . . . . . . . . . 48 StrucLength (MQLONG) . . . . . . . . . 49 TaskEndStatus (MQLONG) . . . . . . . . 49 TransactionId (MQCHAR4) . . . . . . . . 49 UOWControl (MQLONG) . . . . . . . . 50 Version (MQLONG) . . . . . . . . . . 50

    Initial values and language declarations . . . . . 50 C declaration . . . . . . . . . . . . . 52 COBOL declaration . . . . . . . . . . . 53 PL/I declaration . . . . . . . . . . . . 54 System/390 assembler declaration . . . . . . 55 Visual Basic declaration . . . . . . . . . 55

    Chapter 5. MQCNO Connect options . . . . 57 Overview . . . . . . . . . . . . . . . 57 Fields . . . . . . . . . . . . . . . . 58

    ClientConnOffset (MQLONG) . . . . . . . 58 ClientConnPtr (MQPTR) . . . . . . . . . 58 ConnectionId (MQBYTE24) . . . . . . . . 60 ConnTag (MQBYTE128) . . . . . . . . . 60 Options (MQLONG) . . . . . . . . . . 61 SecurityParmsOffset (MQCSP) . . . . . . . 66 SecurityParmsPtr (MQLONG) . . . . . . . 66 SSLConfigOffset (MQLONG) . . . . . . . 66 SSLConfigPtr (PMQSCO) . . . . . . . . . 66 StrucId (MQCHAR4) . . . . . . . . . . 67 Version (MQLONG) . . . . . . . . . . 67

    Initial values and language declarations . . . . . 68 C declaration . . . . . . . . . . . . . 68 COBOL declaration . . . . . . . . . . . 69 PL/I declaration . . . . . . . . . . . . 69 System/390 assembler declaration . . . . . . 69 Visual Basic declaration . . . . . . . . . 70

    Chapter 6. MQCSP Security parameters . . . 71 Overview . . . . . . . . . . . . . . . 71 Fields . . . . . . . . . . . . . . . . 71

    AuthenticationType (MQLONG) . . . . . . 71 CSPPasswordLength (MQLONG) . . . . . . 71 CSPPasswordOffset (MQLONG) . . . . . . 72 CSPPasswordPtr (MQPTR) . . . . . . . . 72 CSPUserIdLength (MQLONG) . . . . . . . 72

    CSPUserIdOffset (MQLONG) . . . . . . . 72 CSPUserIdPtr (MQPTR) . . . . . . . . . 72 Reserved1 (MQBYTE4) . . . . . . . . . 72 Reserved2 (MQBYTE8) . . . . . . . . . 72 StrucId (MQCHAR4) . . . . . . . . . . 73 Version (MQLONG) . . . . . . . . . . 73

    Initial values and language declarations . . . . . 73 C declaration . . . . . . . . . . . . . 74 COBOL declaration . . . . . . . . . . . 74 PL/I declaration . . . . . . . . . . . . 75 Visual Basic declaration . . . . . . . . . 75

    Chapter 7. MQDH Distribution header . . . . 77 Overview . . . . . . . . . . . . . . . 77 Fields . . . . . . . . . . . . . . . . 78

    CodedCharSetId (MQLONG) . . . . . . . 78 Encoding (MQLONG) . . . . . . . . . . 79 Flags (MQLONG) . . . . . . . . . . . 79 Format (MQCHAR8) . . . . . . . . . . 79 ObjectRecOffset (MQLONG) . . . . . . . . 80 PutMsgRecFields (MQLONG) . . . . . . . 80 PutMsgRecOffset (MQLONG) . . . . . . . 80 RecsPresent (MQLONG) . . . . . . . . . 80 StrucId (MQCHAR4) . . . . . . . . . . 81 StrucLength (MQLONG) . . . . . . . . . 81 Version (MQLONG) . . . . . . . . . . 81

    Initial values and language declarations . . . . . 81 C declaration . . . . . . . . . . . . . 82 COBOL declaration . . . . . . . . . . . 82 PL/I declaration . . . . . . . . . . . . 83 Visual Basic declaration . . . . . . . . . 83

    Chapter 8. MQDLH Dead-letter header . . . . 85 Overview . . . . . . . . . . . . . . . 85 Fields . . . . . . . . . . . . . . . . 87

    CodedCharSetId (MQLONG) . . . . . . . 87 DestQMgrName (MQCHAR48) . . . . . . . 87 DestQName (MQCHAR48) . . . . . . . . 87 Encoding (MQLONG) . . . . . . . . . . 88 Format (MQCHAR8) . . . . . . . . . . 88 PutApplName (MQCHAR28) . . . . . . . 88 PutApplType (MQLONG) . . . . . . . . 88 PutDate (MQCHAR8) . . . . . . . . . . 89 PutTime (MQCHAR8) . . . . . . . . . . 89 Reason (MQLONG) . . . . . . . . . . 89 StrucId (MQCHAR4) . . . . . . . . . . 90 Version (MQLONG) . . . . . . . . . . 91

    Initial values and language declarations . . . . . 91 C declaration . . . . . . . . . . . . . 91 COBOL declaration . . . . . . . . . . . 92 PL/I declaration . . . . . . . . . . . . 92 System/390 assembler declaration . . . . . . 93 Visual Basic declaration . . . . . . . . . 93

    Chapter 9. MQEPH Embedded PCF header . . 95 Overview . . . . . . . . . . . . . . . 95 Fields . . . . . . . . . . . . . . . . 96

    CodedCharSetId (MQLONG) . . . . . . . 96 Encoding (MQLONG) . . . . . . . . . . 96 Flags (MQLONG) . . . . . . . . . . . 96 Format (MQCHAR8) . . . . . . . . . . 96

    Data types

    2 Application Programming Reference

  • PCFHeader (MQCFH) . . . . . . . . . . 96 StrucId (MQCHAR4) . . . . . . . . . . 97 StrucLength (MQLONG) . . . . . . . . . 97 Version (MQLONG) . . . . . . . . . . 97

    Initial values and language declarations . . . . . 98 C declaration . . . . . . . . . . . . . 98 COBOL declaration . . . . . . . . . . . 98 PL/I declaration . . . . . . . . . . . . 99 System/390 assembler declaration . . . . . . 99 Visual Basic declaration . . . . . . . . . 100

    Chapter 10. MQGMO Get-message options 101 Overview . . . . . . . . . . . . . . . 101 Fields . . . . . . . . . . . . . . . . 102

    GroupStatus (MQCHAR) . . . . . . . . 102 MatchOptions (MQLONG) . . . . . . . . 102 MsgToken (MQBYTE16) . . . . . . . . . 105 Options (MQLONG) . . . . . . . . . . 105 Reserved1 (MQCHAR) . . . . . . . . . 127 ResolvedQName (MQCHAR48) . . . . . . 127 ReturnedLength (MQLONG) . . . . . . . 127 Segmentation (MQCHAR) . . . . . . . . 127 SegmentStatus (MQCHAR) . . . . . . . . 128 Signal1 (MQLONG) . . . . . . . . . . 128 Signal2 (MQLONG) . . . . . . . . . . 129 StrucId (MQCHAR4) . . . . . . . . . . 129 Version (MQLONG) . . . . . . . . . . 129 WaitInterval (MQLONG) . . . . . . . . 130

    Initial values and language declarations . . . . 130 C declaration . . . . . . . . . . . . 131 COBOL declaration . . . . . . . . . . 131 PL/I declaration . . . . . . . . . . . 132 System/390 assembler declaration . . . . . 132 Visual Basic declaration . . . . . . . . . 133

    Chapter 11. MQIIH IMS information header 135 Overview . . . . . . . . . . . . . . . 135 Fields . . . . . . . . . . . . . . . . 136

    Authenticator (MQCHAR8) . . . . . . . . 136 CodedCharSetId (MQLONG) . . . . . . . 136 CommitMode (MQCHAR) . . . . . . . . 136 Encoding (MQLONG) . . . . . . . . . 137 Flags (MQLONG) . . . . . . . . . . . 137 Format (MQCHAR8) . . . . . . . . . . 137 LTermOverride (MQCHAR8) . . . . . . . 137 MFSMapName (MQCHAR8) . . . . . . . 137 ReplyToFormat (MQCHAR8) . . . . . . . 138 Reserved (MQCHAR) . . . . . . . . . 138 SecurityScope (MQCHAR) . . . . . . . . 138 StrucId (MQCHAR4) . . . . . . . . . . 138 StrucLength (MQLONG) . . . . . . . . 138 TranInstanceId (MQBYTE16) . . . . . . . 138 TranState (MQCHAR) . . . . . . . . . 139 Version (MQLONG) . . . . . . . . . . 139

    Initial values and language declarations . . . . 139 C declaration . . . . . . . . . . . . 140 COBOL declaration . . . . . . . . . . 140 PL/I declaration . . . . . . . . . . . 141 System/390 assembler declaration . . . . . 141 Visual Basic declaration . . . . . . . . . 142

    Chapter 12. MQMD Message descriptor . . . 143 Overview . . . . . . . . . . . . . . . 143 Fields . . . . . . . . . . . . . . . . 145

    AccountingToken (MQBYTE32) . . . . . . 145 ApplIdentityData (MQCHAR32) . . . . . . 147 ApplOriginData (MQCHAR4) . . . . . . . 148 BackoutCount (MQLONG) . . . . . . . . 148 CodedCharSetId (MQLONG) . . . . . . . 148 CorrelId (MQBYTE24) . . . . . . . . . 150 Encoding (MQLONG) . . . . . . . . . 151 Expiry (MQLONG) . . . . . . . . . . 152

    Expired messages on z/OS . . . . . . . 154 Feedback (MQLONG) . . . . . . . . . 154 Format (MQCHAR8) . . . . . . . . . . 158 GroupId (MQBYTE24) . . . . . . . . . 164 MsgFlags (MQLONG) . . . . . . . . . 165 MsgId (MQBYTE24) . . . . . . . . . . 169 MsgSeqNumber (MQLONG) . . . . . . . 171 MsgType (MQLONG) . . . . . . . . . 172 Offset (MQLONG) . . . . . . . . . . . 173 OriginalLength (MQLONG) . . . . . . . 173 Persistence (MQLONG) . . . . . . . . . 174 Priority (MQLONG) . . . . . . . . . . 175 PutApplName (MQCHAR28) . . . . . . . 176 PutApplType (MQLONG) . . . . . . . . 177 PutDate (MQCHAR8) . . . . . . . . . 180 PutTime (MQCHAR8) . . . . . . . . . 180 ReplyToQ (MQCHAR48) . . . . . . . . 181 ReplyToQMgr (MQCHAR48) . . . . . . . 182 Report (MQLONG) . . . . . . . . . . 182 StrucId (MQCHAR4) . . . . . . . . . . 192 UserIdentifier (MQCHAR12) . . . . . . . 193 Version (MQLONG) . . . . . . . . . . 194

    Initial values and language declarations . . . . 195 C declaration . . . . . . . . . . . . 196 COBOL declaration . . . . . . . . . . 196 PL/I declaration . . . . . . . . . . . 197 System/390 assembler declaration . . . . . 198 Visual Basic declaration . . . . . . . . . 198

    Chapter 13. MQMDE Message descriptor extension . . . . . . . . . . . . . . 201 Overview . . . . . . . . . . . . . . . 201 Fields . . . . . . . . . . . . . . . . 203

    CodedCharSetId (MQLONG) . . . . . . . 203 Encoding (MQLONG) . . . . . . . . . 204 Flags (MQLONG) . . . . . . . . . . . 204 Format (MQCHAR8) . . . . . . . . . . 204 GroupId (MQBYTE24) . . . . . . . . . 204 MsgFlags (MQLONG) . . . . . . . . . 204 MsgSeqNumber (MQLONG) . . . . . . . 204 Offset (MQLONG) . . . . . . . . . . . 205 OriginalLength (MQLONG) . . . . . . . 205 StrucId (MQCHAR4) . . . . . . . . . . 205 StrucLength (MQLONG) . . . . . . . . 205 Version (MQLONG) . . . . . . . . . . 205

    Initial values and language declarations . . . . 205 C declaration . . . . . . . . . . . . 206 COBOL declaration . . . . . . . . . . 206 PL/I declaration . . . . . . . . . . . 207 System/390 assembler declaration . . . . . 207

    Data types

    Part 1. Data type descriptions 3

  • Visual Basic declaration . . . . . . . . . 207

    Chapter 14. MQOD Object descriptor . . . . 209 Overview . . . . . . . . . . . . . . . 209 Fields . . . . . . . . . . . . . . . . 210

    AlternateSecurityId (MQBYTE40) . . . . . . 210 AlternateUserId (MQCHAR12) . . . . . . 211 DynamicQName (MQCHAR48) . . . . . . 212 InvalidDestCount (MQLONG) . . . . . . . 212 KnownDestCount (MQLONG) . . . . . . 212 ObjectName (MQCHAR48) . . . . . . . . 213 ObjectQMgrName (MQCHAR48) . . . . . . 213 ObjectRecOffset (MQLONG) . . . . . . . 214 ObjectRecPtr (MQPTR) . . . . . . . . . 215 ObjectType (MQLONG) . . . . . . . . . 215 RecsPresent (MQLONG) . . . . . . . . . 216 ResolvedQMgrName (MQCHAR48) . . . . . 216 ResolvedQName (MQCHAR48) . . . . . . 217 ResponseRecOffset (MQLONG) . . . . . . 217 ResponseRecPtr (MQPTR) . . . . . . . . 218 StrucId (MQCHAR4) . . . . . . . . . . 218 UnknownDestCount (MQLONG) . . . . . . 218 Version (MQLONG) . . . . . . . . . . 218

    Initial values and language declarations . . . . 219 C declaration . . . . . . . . . . . . 219 COBOL declaration . . . . . . . . . . 220 PL/I declaration . . . . . . . . . . . 220 System/390 assembler declaration . . . . . 221 Visual Basic declaration . . . . . . . . . 221

    Chapter 15. MQOR Object record . . . . . 223 Overview . . . . . . . . . . . . . . . 223 Fields . . . . . . . . . . . . . . . . 223

    ObjectName (MQCHAR48) . . . . . . . . 223 ObjectQMgrName (MQCHAR48) . . . . . . 223

    Initial values and language declarations . . . . 224 C declaration . . . . . . . . . . . . 224 COBOL declaration . . . . . . . . . . 224 PL/I declaration . . . . . . . . . . . 224 Visual Basic declaration . . . . . . . . . 224

    Chapter 16. MQPMO Put-message options 225 Overview . . . . . . . . . . . . . . . 225 Fields . . . . . . . . . . . . . . . . 226

    Context (MQHOBJ) . . . . . . . . . . 226 InvalidDestCount (MQLONG) . . . . . . . 226 KnownDestCount (MQLONG) . . . . . . 226 Options (MQLONG) . . . . . . . . . . 226 PutMsgRecFields (MQLONG) . . . . . . . 235 PutMsgRecOffset (MQLONG) . . . . . . . 236 PutMsgRecPtr (MQPTR) . . . . . . . . . 236 RecsPresent (MQLONG) . . . . . . . . . 237 ResolvedQMgrName (MQCHAR48) . . . . . 237 ResolvedQName (MQCHAR48) . . . . . . 237 ResponseRecOffset (MQLONG) . . . . . . 238 ResponseRecPtr (MQPTR) . . . . . . . . 239 StrucId (MQCHAR4) . . . . . . . . . . 239 Timeout (MQLONG) . . . . . . . . . . 239 UnknownDestCount (MQLONG) . . . . . . 239 Version (MQLONG) . . . . . . . . . . 239

    Initial values and language declarations . . . . 240

    C declaration . . . . . . . . . . . . 241 COBOL declaration . . . . . . . . . . 241 PL/I declaration . . . . . . . . . . . 242 System/390 assembler declaration . . . . . 242 Visual Basic declaration . . . . . . . . . 242

    Chapter 17. MQPMR Put-message record . . 245 Overview . . . . . . . . . . . . . . . 245 Fields . . . . . . . . . . . . . . . . 246

    AccountingToken (MQBYTE32) . . . . . . 246 CorrelId (MQBYTE24) . . . . . . . . . 246 Feedback (MQLONG) . . . . . . . . . 246 GroupId (MQBYTE24) . . . . . . . . . 246 MsgId (MQBYTE24) . . . . . . . . . . 247

    Initial values and language declarations . . . . 247 C declaration . . . . . . . . . . . . 247 COBOL declaration . . . . . . . . . . 247 PL/I declaration . . . . . . . . . . . 248 Visual Basic declaration . . . . . . . . . 248

    Chapter 18. MQRFH Rules and formatting header . . . . . . . . . . . . . . . 249 Overview . . . . . . . . . . . . . . . 249 Fields . . . . . . . . . . . . . . . . 249

    CodedCharSetId (MQLONG) . . . . . . . 249 Encoding (MQLONG) . . . . . . . . . 250 Flags (MQLONG) . . .