MQOD - Object descriptor
The MQOD structure is used to specify an object by name. The structure is an input/output parameter on the MQOPEN and MQPUT1 calls.
The following types of object are valid:- Queue or distribution list
- Namelist
- Process definition
- Queue manager
- Topic
Availability
All IBM® MQ systems, plus IBM MQ MQI clients connected to those systems.
Version
The current version of MQOD is MQOD_VERSION_4. Applications that you want to port between several environments must ensure that the required version of MQOD is supported in all the environments concerned. Fields that exist only in the more-recent versions of the structure are identified as such in the descriptions that follow.
The header, COPY, and INCLUDE files provided for the supported programming languages contain the
most-recent version of MQOD that is supported by the environment, but with the initial value of the
Version
field set to MQOD_VERSION_1. To use fields that are not
present in the version-1 structure, the application must set the
Version
field to the version number of the version required.
To open a distribution list, Version
must be MQOD_VERSION_2
or greater.
Character set and encoding
Data in MQOD must be in the character set given by the CodedCharSetId queue manager attribute and encoding of the local queue manager given by MQENC_NATIVE. However, if the application is running as an MQ MQI client, the structure must be in the character set and encoding of the client.
Fields
Field name and description | Name of constant | Initial value (if any) of constant |
---|---|---|
StrucId (structure identifier) | MQOD_STRUC_ID | 'OD¬¬' |
Version (structure version number) | MQOD_VERSION_1 | 1 |
ObjectType (object type) | MQOT_Q | 1 |
ObjectName (object name) | None | Null string or blanks |
ObjectQMgrName (object queue manager name) | None | Null string or blanks |
DynamicQName (dynamic queue name) | None | 'CSQ.*' on z/OS® ;
'AMQ.*' otherwise |
AlternateUserId (alternate user identifier) | None | Null string or blanks |
Note: The remaining fields are ignored if
Version is less than
MQOD_VERSION_2. |
||
RecsPresent (number of object records present) | None | 0 |
KnownDestCount (number of local queues opened successfully) | None | 0 |
UnknownDestCount (number of remote queues opened successfully) | None | 0 |
InvalidDestCount (number of queues that failed to open) | None | 0 |
ObjectRecOffset (offset of first object record from start of MQOD) | None | 0 |
ResponseRecOffset (offset of first response record from start of MQOD) | None | 0 |
ObjectRecPtr (address of first object record) | None | Null pointer or null bytes |
ResponseRecPtr (address of first response record) | None | Null pointer or null bytes |
Note: The remaining fields are ignored if
Version is less than
MQOD_VERSION_3. |
||
AlternateSecurityId (alternate security identifier) | MQSID_NONE | Nulls |
ResolvedQName (resolved queue name) | None | Null string or blanks |
ResolvedQMgrName (resolved queue manager name) | None | Null string or blanks |
Note: The remaining fields are ignored if
Version is less than
MQOD_VERSION_4. |
||
ObjectString (long object name) | MQCHARV_DEFAULT | As defined for MQCHARV |
SelectionString (selection string) | MQCHARV_DEFAULT | As defined for MQCHARV |
ResObjectString (resolved long object name) | MQCHARV_DEFAULT | As defined for MQCHARV |
ResolvedType (resolved object type) | MQOT_NONE | 0 |
Notes:
|
Language declarations
C declaration for MQOD
typedef struct tagMQOD MQOD;
struct tagMQOD {
MQCHAR4 StrucId; /* Structure identifier */
MQLONG Version; /* Structure version number */
MQLONG ObjectType; /* Object type */
MQCHAR48 ObjectName; /* Object name */
MQCHAR48 ObjectQMgrName; /* Object queue manager name */
MQCHAR48 DynamicQName; /* Dynamic queue name */
MQCHAR12 AlternateUserId; /* Alternate user identifier */
/* Ver:1 */
MQLONG RecsPresent; /* Number of object records present */
MQLONG KnownDestCount; /* Number of local queues opened
successfully */
MQLONG UnknownDestCount; /* Number of remote queues opened
successfully */
MQLONG InvalidDestCount; /* Number of queues that failed to
open */
MQLONG ObjectRecOffset; /* Offset of first object record from
start of MQOD */
MQLONG ResponseRecOffset; /* Offset of first response record
from start of MQOD */
MQPTR ObjectRecPtr; /* Address of first object record */
MQPTR ResponseRecPtr; /* Address of first response record */
/* Ver:2 */
MQBYTE40 AlternateSecurityId; /* Alternate security identifier */
MQCHAR48 ResolvedQName; /* Resolved queue name */
MQCHAR48 ResolvedQMgrName; /* Resolved queue manager name */
/* Ver:3 */
MQCHARV ObjectString; /* Object Long name */
MQCHARV SelectionString; /* Message Selector */
MQCHARV ResObjectString; /* Resolved Long object name*/
MQLONG ResolvedType /* Alias queue resolved
oject type */
/* Ver:4 */
};
COBOL declaration for MQOD
** MQOD structure
10 MQOD.
** Structure identifier
15 MQOD-STRUCID PIC X(4).
** Structure version number
15 MQOD-VERSION PIC S9(9) BINARY.
** Object type
15 MQOD-OBJECTTYPE PIC S9(9) BINARY.
** Object name
15 MQOD-OBJECTNAME PIC X(48).
** Object queue manager name
15 MQOD-OBJECTQMGRNAME PIC X(48).
** Dynamic queue name
15 MQOD-DYNAMICQNAME PIC X(48).
** Alternate user identifier
15 MQOD-ALTERNATEUSERID PIC X(12).
** Number of object records present
15 MQOD-RECSPRESENT PIC S9(9) BINARY.
** Number of local queues opened successfully
15 MQOD-KNOWNDESTCOUNT PIC S9(9) BINARY.
** Number of remote queues opened successfully
15 MQOD-UNKNOWNDESTCOUNT PIC S9(9) BINARY.
** Number of queues that failed to open
15 MQOD-INVALIDDESTCOUNT PIC S9(9) BINARY.
** Offset of first object record from start of MQOD
15 MQOD-OBJECTRECOFFSET PIC S9(9) BINARY.
** Offset of first response record from start of MQOD
15 MQOD-RESPONSERECOFFSET PIC S9(9) BINARY.
** Address of first object record
15 MQOD-OBJECTRECPTR POINTER.
** Address of first response record
15 MQOD-RESPONSERECPTR POINTER.
** Alternate security identifier
15 MQOD-ALTERNATESECURITYID PIC X(40).
** Resolved queue name
15 MQOD-RESOLVEDQNAME PIC X(48).
** Resolved queue manager name
15 MQOD-RESOLVEDQMGRNAME PIC X(48).
** Object Long name
15 MQOD-OBJECTSTRING.
** Address of variable length string
20 MQOD-OBJECTSTRING-VSPTR POINTER.
** Offset of variable length string
20 MQOD-OBJECTSTRING-VSOFFSET PIC S9(9) BINARY.
** size of buffer
20 MQOD-OBJECTSTRING-VSBUFSIZE PIC S9(9) BINARY.
** Length of variable length string
20 MQOD-OBJECTSTRING-VSLENGTH PIC S9(9) BINARY.
** CCSID of variable length string
20 MQOD-OBJECTSTRING-VSCCSID PIC S9(9) BINARY.
** Message Selector
15 MQOD-SELECTIONSTRING.
** Address of variable length string
20 MQOD-SELECTIONSTRING-VSPTR POINTER.
** Offset of variable length string
20 MQOD-SELECTIONSTRING-VSOFFSET PIC S9(9) BINARY.
** size of buffer
20 MQOD-SELECTIONSTRING-VSBUFSIZE PIC S9(9) BINARY.
** Length of variable length string
20 MQOD-SELECTIONSTRING-VSLENGTH PIC S9(9) BINARY.
** CCSID of variable length string
20 MQOD-SELECTIONSTRING-VSCCSID PIC S9(9) BINARY.
** Resolved Long object name
15 MQOD-RESOBJECTSTRING.
** Address of variable length string
20 MQOD-RESOBJECTSTRING-VSPTR POINTER.
** Offset of variable length string
20 MQOD-RESOBJECTSTRING-VSOFFSET PIC S9(9) BINARY.
** size of buffer
20 MQOD-RESOBJECTSTRING-VSBUFSIZE PIC S9(9) BINARY.
** Length of variable length string
20 MQOD-RESOBJECTSTRING-VSLENGTH PIC S9(9) BINARY.
** CCSID of variable length string
20 MQOD-RESOBJECTSTRING-VSCCSID PIC S9(9) BINARY.
** Alias queue resolved object type
15 MQOD-RESOLVEDTYPE PIC S9(9) BINARY.
PL/I declaration for MQOD
dcl
1 MQOD based,
3 StrucId char(4), /* Structure identifier */
3 Version fixed bin(31), /* Structure version number */
3 ObjectType fixed bin(31), /* Object type */
3 ObjectName char(48), /* Object name */
3 ObjectQMgrName char(48), /* Object queue manager name */
3 DynamicQName char(48), /* Dynamic queue name */
3 AlternateUserId char(12), /* Alternate user identifier */
3 RecsPresent fixed bin(31), /* Number of object records
present */
3 KnownDestCount fixed bin(31), /* Number of local queues opened
successfully */
3 UnknownDestCount fixed bin(31), /* Number of remote queues opened
successfully */
3 InvalidDestCount fixed bin(31), /* Number of queues that failed to
open */
3 ObjectRecOffset fixed bin(31), /* Offset of first object record
from start of MQOD */
3 ResponseRecOffset fixed bin(31), /* Offset of first response record
from start of MQOD */
3 ObjectRecPtr pointer, /* Address of first object record */
3 ResponseRecPtr pointer, /* Address of first response
record */
3 AlternateSecurityId char(40), /* Alternate security identifier */
3 ResolvedQName char(48), /* Resolved queue name */
3 ResolvedQMgrName char(48), /* Resolved queue manager name */
3 ObjectString, /* Object Long name */
5 VSPtr pointer, /* Address of variable length string */
5 VSOffset fixed bin(31), /* Offset of variable length string */
5 VSBufSize fixed bin(31), /* size of buffer */
5 VSLength fixed bin(31), /* Length of variable length string */
5 VSCCSID fixed bin(31), /* CCSID of variable length string */
3 SelectionString, /* Message Selection */
5 VSPtr pointer, /* Address of variable length string */
5 VSOffset fixed bin(31), /* Offset of variable length string */
5 VSBufSize fixed bin(31), /* size of buffer */
5 VSLength fixed bin(31), /* Length of variable length string */
5 VSCCSID fixed bin(31), /* CCSID of variable length string */
3 ResObjectString, /* Resolved Long object name */
5 VSPtr pointer, /* Address of variable length string */
5 VSOffset fixed bin(31), /* Offset of variable length string */
5 VSBufSize fixed bin(31), /* size of buffer */
5 VSLength fixed bin(31), /* Length of variable length string */
5 VSCCSID fixed bin(31), /* CCSID of variable length string */
3 ResolvedType fixed bin(31); /* Alias queue resolved object type */
High Level Assembler declaration for MQOD
MQOD DSECT
MQOD_STRUCID DS CL4 Structure identifier
MQOD_VERSION DS F Structure version number
MQOD_OBJECTTYPE DS F Object type
MQOD_OBJECTNAME DS CL48 Object name
MQOD_OBJECTQMGRNAME DS CL48 Object queue manager name
MQOD_DYNAMICQNAME DS CL48 Dynamic queue name
MQOD_ALTERNATEUSERID DS CL12 Alternate user identifier
MQOD_RECSPRESENT DS F Number of object records present
MQOD_KNOWNDESTCOUNT DS F Number of local queues opened
* successfully
MQOD_UNKNOWNDESTCOUNT DS F Number of remote queues opened
* successfully
MQOD_INVALIDDESTCOUNT DS F Number of queues that failed to
* open
MQOD_OBJECTRECOFFSET DS F Offset of first object record from
* start of MQOD
MQOD_RESPONSERECOFFSET DS F Offset of first response record
* from start of MQOD
MQOD_OBJECTRECPTR DS F Address of first object record
MQOD_RESPONSERECPTR DS F Address of first response record
MQOD_ALTERNATESECURITYID DS XL40 Alternate security identifier
MQOD_RESOLVEDQNAME DS CL48 Resolved queue name
MQOD_RESOLVEDQMGRNAME DS CL48 Resolved queue manager name
MQOD_OBJECTSTRING DS F Object Long name
MQOD_OBJECTSTRING_VSPTR DS F Address of variable length string
MQOD_OBJECTSTRING_VSOFFSET DS F Offset of variable length string
MQOD_OBJECTSTRING_VSBUFSIZE DS F size of buffer
MQOD_OBJECTSTRING_VSLENGTH DS F Length of variable length string
MQOD_OBJECTSTRING_VSCCSID DS F CCSID of variable length string
MQOD_OBJECTSTRING_LENGTH EQU *- MQOD_OBJECTSTRING
ORG MQOD_OBJECTSTRING
MQOD_OBJECTSTRING_AREA DS CL(MQOD_OBJECTSTRING_LENGTH)
*
MQOD_SELECTIONSTRING DS F Message Selector
MQOD_SELECTIONSTRING_VSPTR DS F Address of variable length string
MQOD_SELECTIONSTRING_VSOFFSET DS F Offset of variable length string
MQOD_SELECTIONSTRING_VSBUFSIZE DS F size of buffer
MQOD_SELECTIONSTRING_VSLENGTH DS F Length of variable length string
MQOD_SELECTIONSTRING_VSCCSID DS F CCSID of variable length string
MQOD_SELECTIONSTRING_LENGTH EQU *- MQOD_SELECTIONSTRING
ORG MQOD_SELECTIONSTRING
MQOD_SELECTIONSTRING_AREA DS CL(MQOD_SELECTIONSTRING_LENGTH)
*
MQOD_RESOBJECTSTRING DS F Resolved Long object name
MQOD_RESOBJECTSTRING_VSPTR DS F Address of variable length string
MQOD_RESOBJECTSTRING_VSOFFSET DS F Offset of variable length string
MQOD_RESOBJECTSTRING_VSBUFSIZE DS F size of buffer
MQOD_RESOBJECTSTRING_VSLENGTH DS F Length of variable length string
MQOD_RESOBJECTSTRING_VSCCSID DS F CCSID of variable length string
MQOD_RESOBJECTSTRING_LENGTH EQU *- MQOD_RESOBJECTSTRING
ORG MQOD_RESOBJECTSTRING
MQOD_RESOBJECTSTRING_AREA DS CL(MQOD_RESOBJECTSTRING_LENGTH)
MQOD_RESOLVEDTYPE DS F Alias queue object resolved type
*
MQOD_LENGTH EQU *-MQOD
ORG MQOD
MQOD_AREA DS CL(MQOD_LENGTH)
Visual Basic declaration for MQOD
Type MQOD
StrucId As String*4 'Structure identifier'
Version As Long 'Structure version number'
ObjectType As Long 'Object type'
ObjectName As String*48 'Object name'
ObjectQMgrName As String*48 'Object queue manager name'
DynamicQName As String*48 'Dynamic queue name'
AlternateUserId As String*12 'Alternate user identifier'
RecsPresent As Long 'Number of object records present'
KnownDestCount As Long 'Number of local queues opened'
'successfully'
UnknownDestCount As Long 'Number of remote queues opened'
'successfully'
InvalidDestCount As Long 'Number of queues that failed to'
'open'
ObjectRecOffset As Long 'Offset of first object record from'
'start of MQOD'
ResponseRecOffset As Long 'Offset of first response record'
'from start of MQOD'
ObjectRecPtr As MQPTR 'Address of first object record'
ResponseRecPtr As MQPTR 'Address of first response record'
AlternateSecurityId As MQBYTE40 'Alternate security identifier'
ResolvedQName As String*48 'Resolved queue name'
ResolvedQMgrName As String*48 'Resolved queue manager name'
End Type