MQWDR - Cluster workload destination-record structure

 


The MQWDR structure contains information relating to one of the possible destinations for the message. There is one MQWDR structure for each instance of the destination queue.

This structure is supported in the following environments: AIX, Compaq Tru64 UNIX, Compaq OpenVMS Alpha, Compaq NonStop Kernel, HP-UX, Linux, OS/2, z/OS, OS/400, Solaris, and Windows.

 

Fields

StrucId  (MQCHAR4) 
Structure identifier.

The value is:

MQWDR_STRUC_ID
Identifier for cluster workload destination record.

For the C programming language, the constant MQWDR_STRUC_ID_ARRAY is also defined; this has the same value as MQWDR_STRUC_ID, but is an array of characters instead of a string.

This is an input field to the exit.

Version  (MQLONG) 
Structure version number.

The value is:

MQWDR_VERSION_1
Version-1 cluster workload destination record.

The following constant specifies the version number of the current version:

MQWDR_CURRENT_VERSION
Current version of cluster workload destination record.

This is an input field to the exit.

StrucLength  (MQLONG) 
Length of MQWDR structure.

The value is:

MQWDR_LENGTH_1
Length of version-1 cluster workload destination record.

The following constant specifies the length of the current version:

MQWDR_CURRENT_LENGTH
Length of current version of cluster workload destination record.

This is an input field to the exit.

QMgrFlags  (MQLONG) 
Queue-manager flags

These are bit flags that indicate various properties of the queue manager that hosts the instance of the destination queue described by this MQWDR structure. The following flags are defined:

MQQMF_REPOSITORY_Q_MGR
Destination is a full repository queue manager.

MQQMF_CLUSSDR_USER_DEFINED
Cluster sender channel was defined manually.

MQQMF_CLUSSDR_AUTO_DEFINED
Cluster sender channel was defined automatically.

MQQMF_AVAILABLE
Destination queue manager is available to receive messages.

Note:
Other flags in the field might be set by the queue manager for internal purposes.

This is an input field to the exit.

QMgrIdentifier  (MQCHAR48) 
Queue-manager identifier.

This is a string that acts as a unique identifier for the queue manager. It is generated by the queue manager.

The length of this field is given by MQ_Q_MGR_IDENTIFIER_LENGTH. This is an input field to the exit.

QMgrName  (MQCHAR48) 
Queue-manager name.

Name of the queue manager that hosts the instance of the destination queue described by this MQWDR structure. This can be the name of the local queue manager.

The length of this field is given by MQ_Q_MGR_NAME_LENGTH. This is an input field to the exit.

ClusterRecOffset  (MQLONG) 
Offset of first cluster record.

This is the offset of the first MQWCR structure that belongs to this MQWDR structure. The offset is measured in bytes from the start of the MQWDR structure.

This is an input field to the exit.

ChannelState  (MQLONG) 
Channel state.

This indicates the state of the channel that links the local queue manager to the queue manager identified by this MQWDR structure. The following values are possible:

MQCHS_INACTIVE
Channel is not active.

MQCHS_BINDING
Channel is negotiating with the partner.

MQCHS_STARTING
Channel is waiting to become active.

MQCHS_RUNNING
Channel is transferring or waiting for messages.

MQCHS_STOPPING
Channel is stopping.

MQCHS_RETRYING
Channel is reattempting to establish connection.

MQCHS_STOPPED
Channel has stopped.

MQCHS_REQUESTING
Requester channel is requesting connection.

MQCHS_PAUSED
Channel has paused.

MQCHS_INITIALIZING
Channel is initializing.

This is an input field to the exit.

ChannelDefOffset  (MQLONG) 
Offset of channel definition structure.

This is the offset of the channel definition (MQCD) for the channel that links the local queue manager to the queue manager identified by this MQWDR structure. The offset is measured in bytes from the start of the MQWDR structure.

This is an input field to the exit.

 

C declaration

typedef struct tagMQWDR {
  MQCHAR4   StrucId;           /* Structure identifier */
  MQLONG    Version;           /* Structure version number */
  MQLONG    StrucLength;       /* Length of MQWDR structure */
  MQLONG    QMgrFlags;         /* Queue-manager flags */
  MQCHAR48  QMgrIdentifier;    /* Queue-manager identifier */
  MQCHAR48  QMgrName;          /* Queue-manager name */
  MQLONG    ClusterRecOffset;  /* Offset of first cluster record */
  MQLONG    ChannelState;      /* Channel state */
  MQLONG    ChannelDefOffset;  /* Offset of channel definition
                                  structure */
} MQWDR;

 

System/390 assembler declaration

MQWDR                          DSECT
MQWDR_STRUCID                  DS   CL4      Structure identifier
MQWDR_VERSION                  DS   F        Structure version number
MQWDR_STRUCLENGTH              DS   F        Length of MQWDR structure
MQWDR_QMGRFLAGS                DS   F        Queue-manager flags
MQWDR_QMGRIDENTIFIER           DS   CL48     Queue-manager identifier
MQWDR_QMGRNAME                 DS   CL48     Queue-manager name
MQWDR_CLUSTERRECOFFSET         DS   F        Offset of first cluster
*                                            record
MQWDR_CHANNELSTATE             DS   F        Channel state
MQWDR_CHANNELDEFOFFSET         DS   F        Offset of channel definition
*                                            structure
MQWDR_LENGTH                   EQU  *-MQWDR  Length of structure
                               ORG  MQWDR
MQWDR_AREA                     DS   CL(MQWDR_LENGTH)