|
|
Message Reference
This chapter contains detailed descriptions of all BEA MessageQ message-based services alphabetized by message type. Each description lists the message type code name, the name of the BEA MessageQ server performing the service, and a detailed definition of the message area and required arguments to send messages or read response and notification messages using the BEA MessageQ API or scripts. The definition of all BEA MessageQ message-based services messages is now provided in the p_msg.h include file.
BEA MessageQ message-based services are sent between a user application program that functions as a requestor and a BEA MessageQ server process that fulfills the request. For messages to be properly understood between systems, message data must be sent and returned in the endian format understood by both the requestor and the server. Most BEA MessageQ message-based services automatically perform this conversion if the endian format of the two systems is different. However, some message-based services do not perform this conversion, therefore, the user application must convert the message to the endian format of the server system to ensure that the message data is correctly interpreted. Each message-based service description notes whether the data structure is RISC aligned and whether the server performs the endian conversion automatically.
AVAIL
Applications can register to receive notification when queues become active or inactive in local and remote groups by sending an AVAIL_REG message to the Avail Server. The AVAIL notification message is sent to registered applications when a queue in the selected group becomes active. See the Obtaining the Status of a Queue topic in the Using Message-Based Services section for an explanation of how to use this message.
Applications must cancel availability notification by sending a message of type AVAIL_DEREG. The application receives a AVAIL_REG_REPLY message indicating the status of the operation. It is important to note that if the distribution queue for an AVAIL registration becomes unavailable, the registration will be automatically deleted by BEA MessageQ. A subsequent attempt to deregister AVAIL services for this distribution queue will result in an error message indicating that the registration does not exist.
Note: The Avail Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _AVAIL {
q_address target_q;
} AVAIL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
target_q |
q_address |
DL |
Address of queue that is now available. |
Argument |
Data Type |
Mechanism |
Prototype |
Access |
---|---|---|---|---|
Target |
Supplied by AVAIL_REG |
Supplied by AVAIL_REG |
Target |
Supplied by AVAIL_REG |
Source |
AVAIL_SERVER |
PAMS_AVAIL_SERVER |
Source |
AVAIL_SERVER |
Class |
PAMS |
MSG_CLAS_ PAMS |
Class |
PAMS |
Type |
AVAIL |
MSG_TYPE_ AVAIL |
Type |
AVAIL |
The AVAIL services example illustrates avail services, avail register, avail deregister, and getting avail messages. The complete code example called x_avail.c is contained in the examples directory.
AVAIL_DEREG
Applications can register to receive notification when queues become active or inactive in local and remote groups by sending an AVAIL_REG message to the Avail Server. When notification messages are no longer needed, the application sends an AVAIL_DEREG message to the Avail Server to cancel registration. It is important to note that if the distribution queue for an AVAIL registration becomes unavailable, the registration will be automatically deleted by BEA MessageQ. A subsequent attempt to deregister AVAIL services for this distribution queue will result in an error message indicating that the registration does not exist. See the Obtaining the Status of a Queue topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Avail Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _AVAIL_DEREG {
int16 version;
int16 filler;
q_address target_q;
q_address distribution_q;
char req_ack;
} AVAIL_DEREG;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 20. |
filler |
word |
DW |
Spacing for RISC alignment. |
target_q |
q_address |
DL |
Queue being monitored for its -availability. |
distribution_q |
q_address |
DL |
Queue notified of availability. |
req_ack |
Boolean |
DB |
If response required, 1; else 0. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
AVAIL_SERVER |
PAMS_AVAIL_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
AVAIL_DEREG |
MSG_TYPE_AVAIL_DEREG |
The AVAIL services example illustrates avail services, avail register, avail deregister, and getting avail messages. The complete code example called x_avail.c is contained in the examples directory.
AVAIL_REG
Applications can register to receive notification when queues become active or inactive in local and remote groups by sending an AVAIL_REG message to the Avail Server. See the Obtaining the Status of a Queue topic in the Using Message-Based Services section for an explanation of how to use this message. If the application detaches from the distribution queue, the AVAIL registration is automatically deleted. The application must cancel notification, regardless of queue type, by sending a message of type AVAIL_DEREG. The application receives a AVAIL_REG_REPLY message indicating the status of the operation.
Note: The Avail Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _AVAIL_REG {
int16 version;
int16 filler;
q_address target_q;
q_address distribution_q;
int32 timeout;
} AVAIL_REG;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 31. |
filler |
word |
DW |
Spacing for RISC alignment. |
target_q |
q_address |
DL |
Queue to be monitored for availability. |
distribution_q |
q_address |
DL |
Queue to receive availability messages. |
timeout |
int32 |
DL |
Interval (specified in seconds) after which the function should timeout. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
AVAIL_SERVER |
PAMS_AVAIL_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
AVAIL_REG |
MSG_TYPE_AVAIL_REG |
The AVAIL services example illustrates avail services, avail register, avail deregister, and getting avail messages. The complete code example called x_avail.c is contained in the examples directory.
AVAIL_REG_REPLY
Applications register to receive notification when queues become active or inactive in local and remote groups by sending an AVAIL_REG message to the Avail Server. The AVAIL_REG_REPLY message indicates whether the application has successfully registered or deregistered from receiving notification messages. See the Obtaining the Status of a Queue topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Avail Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _AVAIL_REG_REPLY {
int16 status;
uint16 reg_id;
int16 number_reg;
} AVAIL_REG_REPLY;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
status |
word |
DW |
Status code: |
reg_id |
unsigned word |
DW |
Returned subscription ID. |
number_reg |
word |
DW |
Number of registrants left on the Avail list. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Sender of AVAIL_REG/DEREG |
Sender of AVAIL_REG/DEREG |
Source |
AVAIL_SERVER |
PAMS_AVAIL_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
AVAIL_REG_REPLY |
MSG_TYPE_AVAIL_REG_REPLY |
The AVAIL services example illustrates avail services, avail register, avail deregister, and getting avail messages. The complete code example called x_avail.c is contained in the examples directory.
DISABLE_NOTIFY
Applications can register to receive notification when cross-group links are established and lost by sending an ENABLE_NOTIFY message to the Connect Server. When an application no longer needs to receive notification messages, it deregisters by sending a DISABLE_NOTIFY message to the Connect Server. The DISABLE_NOTIFY message can stop notification of cross-group link changes. See the Obtain Notification of Cross-Group Links Established and Lost topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _ENABLE_NOTIFY {
char reserved;
char connection_flag;
} ENABLE_NOTIFY;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
reserved |
unsigned char |
DB |
Reserved for use by BEA MessageQ. |
connection_flag |
unsigned char |
DB |
Boolean flag to cancel cross-group connection notification, 1; else 0. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
DISABLE_NOTIFY |
MSG_TYPE_DISABLE_NOTIFY |
Applications can register to receive notification when queue states change in local or remote groups by sending an ENABLE_Q_NOTIFY_REQ message. The DISABLE_Q_NOTIFY_REQ is sent to the Queue Server when the application no longer needs to receive notification messages. See the Receiving Attachment Notifications topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _Q_NOTIFY_REQ {
int32 version;
int32 user_tag;
} Q_NOTIFY_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of request. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
DISABLE_Q_NOTIFY_REQ |
MSG_TYPE_DISABLE_Q_ NOTIFY_REQ |
Applications can register to receive notification when queue states change in local or remote groups by sending an ENABLE_Q_NOTIFY_REQ message. The DISABLE_Q_NOTIFY_REQ message is sent to the Queue Server when the application no longer needs to receive notification messages. The DISABLE_Q_NOTIFY_RESP message indicates whether the application is successfully deregistered from receiving notification messages. See the Receiving Attachment Notifications topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
#define MAX_NUMBER_Q_RECS 50
typedef struct _Q_NOTIFY_RESP {
int32 version;
int32 user_tag;
int32 status_code;
int32 last_block_flag;
int32 number_q_recs;
struct {
q_address q_num;
q_address q_owner;
int32 q_type;
int32 q_active_flag;
int32 q_attached_flag;
int32 q_owner_pid;
} q_rec [50];
} Q_NOTIFY_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of response. |
user_tag |
int32 |
DL |
User-specified code from request. |
status_code |
int32 |
DL |
0=Error |
last_block_flag |
int32 |
DL |
Last block Boolean flag. |
number_q_recs |
int32 |
DL |
Number of records in this message. |
q_num |
q_address |
DL |
Queue number. |
q_owner |
q_address |
DL |
Queue owner (only for secondary queues (SQs)). |
q_type |
int32 |
DL |
Queue type (numerically encoded P, S, M). |
q_active_flag |
int32 |
DL |
Queue active Boolean flag. |
q_attached_flag |
int32 |
DL |
Queue attached Boolean flag. |
q_owner_pid |
int32 |
DL |
Queue owner process identification (PID). |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
DISABLE_Q_NOTIFY_RESP |
MSG_TYPE_DISABLE_Q_ NOTIFY_RESP |
Applications can register to receive notification when cross-group links are established and lost by sending an ENABLE_NOTIFY message to the Connect Server. See the Obtain Notification of Cross-Group Links Established and Lost topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _ENABLE_NOTIFY {
char reserved;
char connection_flag;
} ENABLE_NOTIFY;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
reserved |
unsigned char |
DB |
Reserved for use by BEA MessageQ. |
connection_flag |
unsigned char |
DB |
Boolean flag for cross-group connection notification, 1; else 0. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
ENABLE_NOTIFY |
MSG_TYPE_ENABLE_NOTIFY |
Applications can register to receive notification when queue states change in local or remote groups by sending an ENABLE_Q_NOTIFY_REQ message. This message requests a list of all active queues and then subsequent notification when queues become attached or detached and active or inactive. See the Receiving Attachment Notifications topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _Q_NOTIFY_REQ {
int32 version;
int32 user_tag;
} Q_NOTIFY_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of request. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
ENABLE_Q_NOTIFY_REQ |
MSG_TYPE_ENABLE_Q_NOTIFY_REQ |
Applications can register to receive notification when queue states change in local or remote groups by sending an ENABLE_Q_NOTIFY_REQ message. The ENABLE_Q_NOTIFY_RESP message delivers a list of all active queues and then subsequently notifies the application of attachments, detachments, and changes to active and inactive status using the Q_UPDATE message. See the Receiving Attachment Notifications topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
#define MAX_NUMBER_Q_RECS 50
typedef struct _Q_NOTIFY_RESP {
int32 version;
int32 user_tag;
int32 status_code;
int32 last_block_flag;
int32 number_q_recs;
struct {
q_address q_num;
q_address q_owner;
int32 q_type;
int32 q_active_flag;
int32 q_attached_flag;
int32 q_owner_pid;
} q_rec [50];
} Q_NOTIFY_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of response. |
user_tag |
int32 |
DL |
User-specified code from request. |
status_code |
int32 |
DL |
0=Error |
last_block_flag |
int32 |
DL |
Last block Boolean flag. |
number_q_recs |
int32 |
DL |
Number of records in this message. |
q_num |
q_address |
DL |
Queue number. |
q_owner |
q_address |
DL |
Queue owner (only for secondary queues (SQs)). |
q_type |
int32 |
DL |
Queue type (numerically encoded P, S, M). |
q_active_flag |
int32 |
DL |
Queue active Boolean flag. |
q_attached_flag |
int32 |
DL |
Queue attached Boolean flag. |
q_owner_pid |
int32 |
DL |
Queue owner process identification (PID). |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
ENABLE_NOTIFY_RESP |
MSG_TYPE_ENABLE_NOTIFY_RESP |
Applications can use link management messages to explicitly control cross-group connections. Use the LINKMGT_REQ message to request a connection to a remote group, to disconnect from a remote group, or to obtain information about a remote BEA MessageQ group. See the Controlling Cross-Group Links topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _TADDRESS {
int32 len;
char str [16];
} TADDRESS;
typedef struct _NODENAME {
int32 len;
char str [255];
} NODENAME;
typedef struct _LINKMGT_REQ {
int32 version;
int32 user_tag;
int32 function_code;
int32 group_number;
int32 connect_type;
int32 reconnect_timer;
int32 window_size;
int32 window_delay;
int32 reserved_space [10];
TADDRESS transport_addr;
NODENAME node_name;
} LINKMGT_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message version. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
function_code |
int32 |
DL |
Function of the message using PSYM_LINKMGT_CMD: _ENABLE _INQUIRY |
group_number |
int32 |
DL |
Group number to receive action; valid values are between 1 and 32,000; PSYM_LINKMGT_ALL_GROUPS indicates all known links. |
connect_type |
int32 |
DL |
Type of transport to use, as follows: PSYM_LINKMGT_TCPIP |
reconnect_timer |
int32 |
DL |
Time it takes for the COM Server to reconnect to a communications link. Enter the number of seconds or the following values: PSYM_LINKMGT_NO_TIMER |
window_size |
int32 |
DL |
Size of transmission window (cross-group protocol Version 3.0 and higher). Enter the number of messages or the following value: PSYM_LINKMGT_USE_PREVIOUS |
window_delay |
int32 |
DL |
Transmission window delay in seconds (cross-group protocol Version 3.0 and higher). Enter the number of seconds or the following value: PSYM_LINKMGT_USE_PREVIOUS |
reserved_space |
10-int32 array |
DL(10) |
Reserved for BEA MessageQ use. |
transport_addr_len |
int32 |
DL |
Length of transport address. Values 0 to 16 bytes; 0 = use previous setting. |
transport_addr |
char |
A |
Transport address string that is 16 bytes in length; the TCP/IP port ID. |
node_name_len |
int32 |
DL |
Length of node name string; 0 = use previous known value. |
node_name |
char |
A |
ASCII text of node name; length determined by node_name_len up to 255 characters. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LINKMGT_REQ |
MSG_TYPE_LINKMGT_REQ |
LINKMGT_RESP
LINKMGT_RESP
Applications can use link management messages to explicitly control cross-group connections. Use the LINKMGT_REQ message to request a connection to a remote group, to disconnect from a remote group, or to obtain information about a remote BEA MessageQ group. The LINKMGT_RESP message notifies the requesting application if the connection or disconnection request was successful and supplies information about the cross-group connection. See the Controlling Cross-Group Links topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _TADDRESS {
int32 len;
char str [16];
} TADDRESS;
typedef struct _NODENAME {
int32 len;
char str [255];
} NODENAME;
typedef struct _LINKMGT_RESP {
int32 version;
int32 user_tag;
int32 status;
int32 group_number;
int32 in_link_state;
int32 out_link_state;
int32 connect_type;
int32 platform_id;
int32 reconnect_timer;
int32 window_size;
int32 window_delay;
int32 reserved_space [10];
TADDRESS transport_addr;
NODENAME node_name;
} LINKMGT_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message version. |
user_tag |
int32 |
DL |
User-specified code from request. |
status |
int32 |
DL |
Completion status |
group_number |
int32 |
DL |
Group number to receive action. Valid values are between 1 and 32,000; PSYM_LINKMGT_ALL_GROUPS indicates all known links. |
in_link_state |
int32 |
DL |
State of inbound link at time of request. Values are: PSYM_LINKMGT_UNKNOWN |
out_link_state |
int32 |
DL |
State of outbound link at time of request; same values as in_link_state. |
connect_type |
int32 |
DL |
Type of transport to use as follows: PSYM_LINKMGT_TCPIP |
platform_id |
int32 |
DL |
Platform type preceded by the prefix PSYM_PLATFORM. Valid values are: VAX_VMS |
reconnect_timer |
int32 |
DL |
Time it takes for the COM Server to reconnect to a communications link. Enter the number of seconds or the following values: PSYM_LINKMGT_NO_TIMER |
window_size |
int32 |
DL |
Size of transmission window (cross-group protocol Version 3.0 and higher). |
window_delay |
int32 |
DL |
Transmission window delay in seconds (cross-group protocol Version 3.0 and higher). |
reserved_space |
10-int32 array |
DL(10) |
Reserved for BEA MessageQ use. |
transport_addr_ |
int32 |
DL |
Length of transport address. Values 0 to 16 bytes; 0 = use previous setting. |
transport_addr |
char |
A |
Transport address string 16 bytes in length, the TCP/IP port ID. |
node_name_len |
int32 |
DL |
Length of node name string. 0 = use previous known value. |
node_name |
char |
A |
ASCII text of node name; length determined by node_name_len up to 255 characters. |
Status Code |
Description |
---|---|
PSYM_LINKMGT_ALREADYUP |
Link already connected. |
PSYM_LINKMGT_MSGCONTENT |
Message incomplete or content inconsistent with dialog. |
PSYM_LINKMGT_MSGFMT |
Format error in dialog. |
PSYM_LINKMGT_NOGROUP |
Group is unknown. |
PSYM_LINKMGT_NOPRIV |
No privilege for attempted operation. |
PSYM_LINKMGT_NOTRANSPORT |
Requested transport is not available. |
PSYM_LINKMGT_NOTSUPPORTED |
Feature not supported. |
PSYM_LINKMGT_OPERATIONFAIL |
Requested operation failed. |
PSYM_LINKMGT_SUCCESS |
Normal successful return. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LINKMGT_RESP |
MSG_TYPE_LINKMGT_RESP |
Applications can register to receive notification when cross-group links are established and lost by sending an ENABLE_NOTIFY message to the Connect Server. Registered applications receive a LINK_COMPLETE message each time a cross-group connection occurs. See the Obtain Notification of Cross-Group Links Established and Lost topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
typedef struct _LINK_NOTIFICATION {
int16 group_number;
int16 filler1;
char os_type;
char filler2;
} LINK_NOTIFICATION;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
group_number |
word |
DW |
Group address associated with link. |
filler1 |
word |
DW |
Reserved for BEA MessageQ. |
os_type |
byte |
A(1) |
Code indicating operating system of remote node. |
filler2 |
byte |
XB |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LINK_COMPLETE |
MSG_TYPE_LINK_COMPLETE |
Applications can register to receive notification when cross-group links are established and lost by sending an ENABLE_NOTIFY message to the Connect Server. Registered applications receive a LINK_LOST message each time a cross-group connection is lost. See the Obtain Notification of Cross-Group Links Established and Lost topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
typedef struct _LINK_NOTIFICATION {
int16 group_number;
int16 filler1;
char os_type;
char filler2;
} LINK_NOTIFICATION;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
group_number |
word |
DW |
Group address associated with link. |
filler1 |
word |
DW |
Reserved for BEA MessageQ. |
os_type |
byte |
A(1) |
Code indicating operating system of remote node. |
filler2 |
byte |
XB |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LINK_LOST |
MSG_TYPE_LINK_LOST |
LIST_ALL_CONNECTIONS (Request)
An application can request a listing of all active and configured cross-group connections by sending a LIST_ALL_CONNECTIONS message to the Connect Server. The reply to this request is a variable-length message of the same type and class containing the cross-group connection information. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: This message is RISC aligned.
C Message Structure
None.
Message Data Fields
None.
Arguments
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_CONNECTIONS |
MSG_TYPE_LIST_ALL_ -CONNECTIONS |
LIST_ALL_CONNECTIONS (Response)
An application can request a listing of all active and configured cross-group connections by sending a LIST_ALL_CONNECTIONS message to the Connect Server. The reply to this request is a variable length-message of the same type and class containing the cross-group connection information. To read the information returned, the application must total the number of bytes in the reply and divide by the cross-group entry length, which is 20 bytes, to determine the number of records returned. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
This message does not return any information on groups with no link connection. The state field for LIST_ALL_CONNECTIONS should always be 3 (linked).
Note: The Connect Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
typedef struct _GROUP_RECORD {
int16 group_number;
char group_name[4];
char uic[3];
char os_type;
char node[6];
char state;
char reserved[3];
} GROUP_RECORD;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
group_number |
word |
DW |
Group address number. |
group_name |
4-char array |
A(4) |
Name truncated to 4 characters. |
uic |
3-char array |
A(3) |
Octal group user identification code (UIC). |
os_type |
char |
A(1) |
Operating system type of group. |
node |
6-char array |
A(6) |
Network node name. |
state |
char |
A(1) |
1=No link |
reserved |
3-char |
ZB 3 |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_CONNECTIONS |
MSG_TYPE_LIST_ALL_ -CONNECTIONS |
An application can request a listing of all attached and configured queues in a group by sending a LIST_ALL_ENTRIES message to the Connect Server. The reply to this request is a variable-length message of the same type and class containing the queue information. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: This message is RISC aligned.
C Message Structure
None.
Message Data Fields
None.
Arguments
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_ENTRIES |
MSG_TYPE_LIST_ALL_ ENTRIES |
An application can request a listing of all attached and configured queues in a group by sending a LIST_ALL_ENTRIES message to the Connect Server. The reply to this request is a variable length message of the same type and class containing the queue information. To read the information returned, the application must total the number of bytes in the reply and divide by the queue entry length, which is 24 bytes, to determine the number of records returned. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
typedef struct _QLIST_RECORD {
char q_name [20];
int16 q_number;
char attach_flag;
char reserved;
} QLIST_RECORD;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
q_name |
20-char array |
A(20) |
Queue name, truncated to fit. |
q_number |
word |
DW |
Local queue address number. |
attach_flag |
Boolean |
DB |
1=Attached |
reserved |
byte |
ZB |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_ENTRIES |
MSG_TYPE_LIST_ALL_ENTRIES |
An application can request a listing of all groups on a message queuing bus by sending a LIST_ALL_GROUPS message to the Connect Server. The reply to this request is a variable-length message of the same type and class containing the group information. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: This message is RISC aligned.
C Message Structure
None.
Message Data Fields
None.
Arguments
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_GROUPS |
MSG_TYPE_LIST_ALL_GROUPS |
An application can request a listing of all groups, connected and unconnected, on a message queuing bus by sending a LIST_ALL_GROUPS message to the Connect Server. The reply to this request is a variable-length message of the same type and class containing the group information. To read the information returned, the application must total the number of bytes in the reply and divide by the group entry length, which is 18 bytes, to determine the number of records returned. See the Listing Cross-Group Connections, Entries, and Groups topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Connect Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
typedef struct _LIST_ALL_RESP {
int16 group_number;
char group_name [4];
char uic_number [3];
char operating_system;
char decnet_node [6];
char connection_state;
char reserved[3];
} LIST_ALL_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
group_number |
word |
DW |
Group address number. |
group_name |
4-char array |
A(4) |
Name truncated to 4 characters. |
uic_number |
3-char array |
A(3) |
Octal group user identification code (UIC). |
operating_system |
char |
A(1) |
Operating system type of group. |
decnet_node |
6-char array |
A(6) |
Current DECnet node name. This can also be the TCP/IP node name. TCP/IP node names longer than 6 characters are truncated. |
connection_state |
char |
A(1) |
1=No link |
reserved |
3-char (VMS) |
ZB |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
CONNECT_SERVER |
PAMS_CONNECT_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_GROUPS |
MSG_TYPE_LIST_ALL_GROUPS |
The LIST_ALL_Q_REQ message is sent to the Queue Server to request a list of all attached permanent and temporary queues for a local or remote group. See the Listing Attached Queues in a Group topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _Q_NOTIFY_REQ {
int32 version;
int32 user_tag;
} Q_NOTIFY_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of request. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_Q_REQ |
MSG_TYPE_LIST_ALL_Q_REQ |
The LIST_ALL_Q_RESP message provides a list of all permanent queues and all attached temporary queues for a local or remote group. This information is requested by sending a LIST_ALL_Q_REQ message to the Queue Server. Because the response message may contain a long list of queue names, the application must allocate a sufficient buffer size to store the information returned. See Listing Attached Queues in a Group in Chapter 5, "Using Message-Based Services" for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
#define MAX_NUMBER_Q_RECS 50
typedef struct _Q_NOTIFY_RESP {
int32 version;
int32 user_tag;
int32 status_code;
int32 last_block_flag;
int32 number_q_recs;
struct {
q_address q_num;
q_address q_owner;
int32 q_type;
int32 q_active_flag;
int32 q_attached_flag;
int32 q_owner_pid;
} q_rec [50];
} Q_NOTIFY_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of response. |
user_tag |
int32 |
DL |
User-specified code from request. |
status_code |
int32 |
DL |
0=Error |
last_block_flag |
int32 |
DL |
Last block Boolean flag. |
number_q_recs |
int32 |
DL |
Number of records in this message. |
q_num |
q_address |
DL |
Queue number. |
q_owner |
q_address |
DL |
Queue owner (only for secondary queues (SQs)). |
q_type |
int32 |
DL |
Queue type (numerically encoded P, S, M). |
q_active_flag |
int32 |
DL |
Queue active Boolean flag. |
q_attached_flag |
int32 |
DL |
Queue attached Boolean flag. |
q_owner_pid |
int32 |
DL |
Queue owner process identification (PID). On Windows NT systems, thread identifier is returned. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LIST_ALL_Q_RESP |
MSG_TYPE_LIST_ALL_Q_RESP |
The pams_locate_q function requests the queue address for a queue name. When this function is performed asynchronously, the results are returned in the LOCATE_Q_REP message. This message provides the location in the search list where the name is found, the status of the operation, a tag that can be set by the user, and the queue address associated with the name.
Note: This message is RISC aligned.
C Message Structure
typedef struct _LOCATE_Q_REP {
int32 version;
int32 search_loc;
q_address object_handle;
int32 status;
int32 trans_id;
char q_name [256];
} LOCATE_Q_REP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Format version number. |
search_loc |
int32 |
DL |
Location in which name is found. |
object_handle |
q_address |
DL |
Queue address associated with name. |
status |
int32 |
DL |
Return code from pams_locate_q. |
trans_id |
int32 |
DL |
User-specified tag. |
q_name |
256-character |
A(256) |
Name to locate. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
LOCATE_Q_REP |
MSG_TYPE_LOCATE_Q_REP |
The MRS_ACK message acknowledges the delivery of a recoverable message at the delivery interest point when a nonblocking request is issued. It responds to a pams_put_msg request when delivery modes of PDEL_MODE_AK_DQF, PDEL_MODE_AK_SAF, or PDEL_MODE_AK_CONF are specified. Status codes for the send operation are extracted from the PAMS Status Block (PSB), an argument value which is returned to the pams_get_msg, pams_get_msga, and pams_get_msgw function when the recoverable message is read. The status codes for the psb and uma arguments are listed in the Status Codes section of this description.
Note: This message is RISC aligned.
C Message Structure
None.
Message Data Fields
None.
Arguments
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Sender program |
Sender program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_ACK |
MSG_TYPE_MRS_ACK |
Message |
PSB Status |
---|---|
PAMS__DQF_DEVICE_FAIL |
Message is not recoverable; destination queue file (DQF) I/O failed. |
PAMS__ENQUEUED |
Message is recoverable. |
PAMS__MRS_RES_EXH |
Message is not recoverable; MRS resource exhaustion. |
PAMS__NO_DQF |
Message is not recoverable; no DQF for target queue. |
PAMS__NO_SAF |
Message is not recoverable; no SAF file for target queue. |
PAMS__SAF_DEVICE_FAIL |
Message is not recoverable; SAF I/O failed. |
PAMS__SAF_FORCED |
Message is written to SAF file to maintain first-in/first-out (FIFO) order. |
PAMS__SENDER_TMOEXPIRED |
Send timeout expired prior to completion of MRS actions. |
PAMS__STORED |
Message is recoverable in store and forward (SAF) file. (Delivery mode was PDEL_MODE_AK_SAF.) |
Applications can request to open, close, or fail over a destination queue file (DQF) by sending an MRS_DQF_SET message to the MRS Server. The failover function renames a DQF file, associating it with another target queue that does not currently have a DQF associated with it. See the Opening, Closing, and Failing Over SAF and DQF Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/*****************************************/
/* ACTION VALUES FOR MRS_DQF_SET message */
/*****************************************/
#define DQF_SET_OPEN 1
#define DQF_SET_CLOSE 2
#define DQF_SET_FAILOVER 3
/*****************************************/
/* STATUS VALUES FOR MRS_DQF_SET message */
/*****************************************/
#define DQF_SET_ERROR 0
#define DQF_SET_SUCCESS 1
#define DQF_SET_REFUSED 2
typedef struct _MRS_DQF_SET {
int16 version;
int16 action;
int32 status;
q_address original_target;
q_address new_target;
int32 original_mrs_area_len;
char original_mrs_area [256];
} MRS_DQF_SET;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 0. |
action |
word |
DW |
1 = Open |
status |
int32 |
DL |
0 = Error |
original_target |
q_address |
DL |
Queue address of DQF. |
new target |
q_address |
DL |
Queue address of new DQF for failover. |
original_mrs_area_len |
int32 |
DL |
Number of bytes in original MRS area specification for failover. |
original_mrs_area |
256-byte array |
A(256) |
MRS original area specification for failover. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_DQF_SET |
MSG_TYPE_MRS_DQF_SET |
Applications can request to open, close, or fail over a destination queue file (DQF) by sending an MRS_DQF_SET message to the MRS Server. The failover function renames a DQF file, associating it with another target queue that does not currently have a DQF associated with it. The MRS_DQF_SET_REP message returns the status of the request. See the Opening, Closing, and Failing Over SAF and DQF Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/*****************************************/
/* ACTION VALUES FOR MRS_DQF_SET message */
/*****************************************/
#define DQF_SET_OPEN 1
#define DQF_SET_CLOSE 2
#define DQF_SET_FAILOVER 3
/*****************************************/
/* STATUS VALUES FOR MRS_DQF_SET message */
/*****************************************/
#define DQF_SET_ERROR 0
#define DQF_SET_SUCCESS 1
#define DQF_SET_REFUSED 2
typedef struct _MRS_DQF_SET {
int16 version;
int16 action;
int32 status;
q_address original_target;
q_address new_target;
int32 original_mrs_area_len;
char original_mrs_area [256];
} MRS_DQF_SET;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 0. |
action |
word |
DW |
1 = Open |
status |
int32 |
DL |
0 = Error |
original_ target |
q_address |
DL |
Queue address of DQF. |
new_target |
q_address |
DL |
Queue address of new DQF for failover. |
original_mrs_area_len |
int32 |
DL |
Number of bytes in original MRS area specification for failover. |
original_mrs_area |
256-byte array |
A(256) |
MRS original area specification for failover. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_DQF_SET_REP |
MSG_TYPE_MRS_DQF_SET_REP |
Applications can request the transfer of the contents of one DQF to another by sending a MRS_DQF_TRANSFER message to the Qtransfer Server. Using this failover method, when a node fails, the Qtransfer Server can transfer messages from a recoverable queue on a node that has failed to a recoverable queue on a node that is currently processing messages. See the Transferring the Contents of a Destination Queue File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The Qtransfer Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_DQF_TRANSFER {
int16 version;
int32 user_tag;
int16 status;
int32 send_count;
int16 from_dqf_len;
char from_dqf_file [256];
int16 to_q;
} MRS_DQF_TRANSFER;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
status |
word |
DW |
Not used. |
send_count |
int32 |
DL |
Count of successful transfers. |
from_dqf_len |
word |
DW |
Number of bytes in DQF file specification. |
from_dqf_file |
256-byte array |
A(256) |
File specification of DQF. |
to_q |
word |
DW |
Local address of queue to receive transfer. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QTRANSFER |
PAMS_QTRANSFER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_DQF_TRANSFER |
MSG_TYPE_MRS_DQF_TRANSFER |
Applications can request the transfer of the contents of one DQF file to another by sending an MRS_DQF_TRANSFER message to the Qtransfer Server. Using this failover method, when a node fails, the Qtransfer Server can transfer messages from a recoverable queue on a node that has failed to a recoverable queue on a node that is currently processing messages. The MRS_DQF_TRANSFER_ACK message is returned to the sender to acknowledge the receipt of the request. See the Transferring the Contents of a Destination Queue File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The Qtransfer Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_DQF_TRANSFER {
int16 version;
int32 user_tag;
int16 status;
int32 send_count;
int16 from_dqf_len;
char from_dqf_file [256];
int16 to_q;
} MRS_DQF_TRANSFER;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
status |
word |
DW |
0=Error |
send_count |
int32 |
DW |
Count of successful transfers. |
from_dqf_len |
word |
DW |
Number of bytes in DQF file specification. |
from_dqf_file |
256-byte array |
A(256) |
File specification of DQF file to read. |
to_q |
word |
DW |
Local address of queue to receive transfer. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QTRANSFER |
PAMS_QTRANSFER |
Source |
Supplied by BEA MessageQ |
Supplied by MessaqeQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_DQF_TRANSFER_ACK |
MSG_TYPE_DQF_TRANSFER_ ACK |
Applications can request the transfer of the contents of one destination queue file to another by sending an MRS_DQF_TRANSFER message to the Qtransfer Server. Using this failover method, when a node fails, the Qtransfer Server can transfer messages from a recoverable queue on a node that has failed to a recoverable queue on a node that is currently processing messages. The MRS_DQF_TRANSFER_REP message is returned to the sender to indicate the completion status of the request. See the Transferring the Contents of a Destination Queue File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The Qtransfer Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_DQF_TRANSFER {
int16 version;
int32 user_tag;
int16 status;
int32 send_count;
int16 from_dqf_len;
char from_dqf_file [256];
int16 to_q;
} MRS_DQF_TRANSFER;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
status |
word |
DW |
0=Error |
send_count |
int32 |
DL |
Count of successful transfers. |
from_dqf_len |
word |
DW |
Number of bytes DQF file specification. |
from_dqf_file |
256-byte array |
A(256) |
File specification of DQF file to read. |
to_q |
word |
DW |
Local address of queue to receive transfer. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
QTRANSFER |
PAMS_QTRANSFER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_DQF_TRANSFER_REP |
MSG_TYPE_MRS_DFQ_ TRANSFER_REP |
Disables journaling for a running message queuing group. This service is used to disable journaling before failing over auxiliary journals. See the Controlling Journaling to the PCJ File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/******************************************/
/* STATUS VALUES FOR JRN_ENABLE message */
/******************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
#define JRN_SET_ALREADY_DISABLED 3
#define JRN_SET_ALREADY_ENABLED 4
#define JRN_SET_SERVER_NOTUP 5
typedef struct _MRS_JRN_SET_ALL {
int32 version;
int32 dqf_status;
int32 saf_status;
int32 pcj_status;
int32 dlj_status;
} MRS_JRN_SET_ALL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Format version number. Must be 0. |
dqf_status |
int32 |
DL |
0 = Error |
saf_status |
int32 |
DL |
0 = Error |
pcj_status |
int32 |
DL |
0 = Error |
dlj_status |
int32 |
DL |
0 = Error |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_JRN_DISABLE |
MSG_TYPE_MRS_JRN_DISABLE |
Applications can request to disable journaling for a running message queuing group by sending an MRS_JRN_DISABLE message to the MRS Server. The MRS_JRN_DISABLE_REP message returns the status of the request. This service is used before failing over auxiliary journals. See the Controlling Journaling to the PCJ File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/******************************************/
/* STATUS VALUES FOR JRN_ENABLE message */
/******************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
#define JRN_SET_ALREADY_DISABLED 3
#define JRN_SET_ALREADY_ENABLED 4
#define JRN_SET_SERVER_NOTUP 5
typedef struct _MRS_JRN_SET_ALL {
int32 version;
int32 dqf_status;
int32 saf_status;
int32 pcj_status;
int32 dlj_status;
} MRS_JRN_SET_ALL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Format version number. Must be 0. |
dqf_status |
int32 |
DL |
0 = Error |
saf_status |
int32 |
DL |
0 = Error |
pcj_status |
int32 |
DL |
0 = Error |
dlj_status |
int32 |
DL |
0 = Error |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_JRN_DISABLE_REP |
MSG_TYPE_MRS_JRN_ DISABLE_REP |
Enables journaling for a running message queuing group after it has been disabled using the MRS_JRN_DISABLE message. This service is used before failing over auxiliary journals. See the Controlling Journaling to the PCJ File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/******************************************/
/* STATUS VALUES FOR JRN_ENABLE message */
/******************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
#define JRN_SET_ALREADY_DISABLED 3
#define JRN_SET_ALREADY_ENABLED 4
#define JRN_SET_SERVER_NOTUP 5
typedef struct _MRS_JRN_SET_ALL {
int32 version;
int32 dqf_status;
int32 saf_status;
int32 pcj_status;
int32 dlj_status;
} MRS_JRN_SET_ALL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Format version number. Must be 0. |
dqf_status |
int32 |
DL |
0 = Error |
saf_status |
int32 |
DL |
0 = Error |
pcj_status |
int32 |
DL |
0 = Error |
dlj_status |
int32 |
DL |
0 = Error |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_JRN_ENABLE |
MSG_TYPE_MRS_JRN_ENABLE |
MRS_JRN_DISABLE
MRS_JRN_DISABLE_REP
MRS_JRN_ENABLE_REP
MRS_JRN_ENABLE_REP
Applications can request to reenable journaling for a running message queuing group after it has been disabled by sending an MRS_JRN_ENABLE message to the MRS Server. The MRS_JRN_ENABLE_REP message returns the status of the request. This service is used with MRS before failing over auxiliary journals. See the Controlling Journaling to the PCJ File topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/******************************************/
/* STATUS VALUES FOR JRN_ENABLE message */
/******************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
#define JRN_SET_ALREADY_DISABLED 3
#define JRN_SET_ALREADY_ENABLED 4
#define JRN_SET_SERVER_NOTUP 5
typedef struct _MRS_JRN_SET_ALL {
int32 version;
int32 dqf_status;
int32 saf_status;
int32 pcj_status;
int32 dlj_status;
};
typedef struct MRS_JRN_SET_ALL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Format version number. Must be 0. |
dqf_status |
int32 |
DL |
0 = Error |
saf_status |
int32 |
DL |
0 = Error |
pcj_status |
int32 |
DL |
0 = Error |
dlj_status |
int32 |
DL |
0 = Error |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_JRN_ENABLE_REP |
MSG_TYPE_MRS_JRN_ENABLE_REP |
MRS_JRN_DISABLE
MRS_JRN_DISABLE_REP
MRS_JRN_ENABLE
MRS_SAF_SET
Applications can request to open, close, or failover (redirect) a store-and-forward file (SAF) by sending an MRS_SAF_SET message to the MRS Server. The failover function renames a SAF file, associating it with another target queue that does not currently have a SAF associated with it. See the Opening, Closing, and Failing Over SAF and DQF Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/*****************************************/
/* ACTION VALUES FOR MRS_SAF_SET message */
/*****************************************/
#define SAF_SET_OPEN 4
#define SAF_SET_CLOSE 5
#define SAF_SET_FAILOVER 6
/*****************************************/
/* STATUS VALUES FOR MRS_SAF_SET message */
/*****************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
typedef struct _MRS_SAF_SET {
int16 version;
int16 action;
int32 status;
q_address original_target;
q_address new_target;
int32 original_mrs_area_len;
char original_mrs_area [256];
int16 original_owner_group;
int16 new_owner_group;
} MRS_SAF_SET;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 0. |
action |
word |
DW |
4 = Open |
status |
int32 |
DL |
0 = Error |
original_target |
q_address |
DL |
Queue address of SAF. |
new_target |
q_address |
DL |
Queue address of new SAF for failover. |
original_mrs_ area_len |
int32 |
DL |
Number of bytes in original MRS area specification for failover. |
original_mrs_ area |
256-byte array |
A(256) |
MRS original area specification for failover. |
original_owner_group |
word |
DW |
The current group that owns the SAF. |
new_owner_ group |
word |
DW |
The new group that will assume ownership of the SAF after failover is complete. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SAF_SET |
MSG_TYPE_MRS_SAF_SET |
Applications can request to open, close, or failover (redirect) a store-and-forward file (SAF) by sending an MRS_SAF_SET message to the MRS Server. The failover function renames a SAF file, associating it with another target queue that does not currently have a SAF associated with it. The MRS_SAF_SET_REP message returns the status of the request. See the Opening, Closing, and Failing Over SAF and DQF Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted. This message is RISC aligned.
C Message Structure
/*****************************************/
/* ACTION VALUES FOR MRS_SAF_SET message */
/*****************************************/
#define SAF_SET_OPEN 4
#define SAF_SET_CLOSE 5
#define SAF_SET_FAILOVER 6
/*****************************************/
/* STATUS VALUES FOR MRS_SAF_SET message */
/*****************************************/
#define JRN_SET_ERROR 0
#define JRN_SET_SUCCESS 1
#define JRN_SET_REFUSED 2
typedef struct _MRS_SAF_SET {
int16 version;
int16 action;
int32 status;
q_address original_target;
q_address new_target;
int32 original_mrs_area_len;
char original_mrs_area [256];
int16 original_owner_group;
int16 new_owner_group;
} MRS_SAF_SET;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. Must be 0. |
action |
word |
DW |
4 = Open |
status |
int32 |
DL |
0 = Error |
original_target |
q_address |
DL |
Queue address of SAF. |
new_target |
q_address |
DL |
Queue address of new SAF for failover. |
original_mrs_ area_len |
int32 |
DL |
Number of bytes in original MRS area specification for failover. |
original_mrs_ area |
256-byte array |
A(256) |
MRS original area specification for failover. |
original_owner_group |
word |
DW |
The current group that owns the SAF. |
new_owner_ group |
word |
DW |
The new group that will assume ownership of the SAF after failover is complete. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SAF_SET_REP |
MSG_TYPE_MRS_SAF_SET_REP |
Applications can request to close a dead letter journal (DLJ) file and open a new one by sending an MRS_SET_DLJ message to the MRS Server. Because the DLJ file cannot be simultaneously open for read and write access, an application must close the current file to read from it and open a new file to continue collecting messages. See the Managing Message Recovery Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_SET_DLJ {
int16 version;
int32 user_tag;
int32 status;
char dlj_file [64];
} MRS_SET_DLJ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
status |
int32 |
XL |
0=Error |
dlj_file |
64-char array |
A(64) |
File specification of DLJ file. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SET_DLJ |
MSG_TYPE_MRS_SET_DLJ |
Applications can request to close a dead letter journal (DLJ) file and open a new one by sending a MRS_SET_DLJ message to the MRS Server. Because the DLJ file cannot be simultaneously open for read and write access, an application must close the current file to read from it and open a new file to continue collecting messages. The MRS_SET_DLJ_REP message returns the status of the request. See the Managing Message Recovery Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_SET_DLJ {
int16 version;
int32 user_tag;
int32 status;
char dlj_file [64];
} MRS_SET_DLJ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
status |
int32 |
XL |
0=Error |
dlj_file |
64-char array |
A(64) |
File specification of DLJ file. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SET_DLJ_REP |
MSG_TYPE_MRS_SET_DLJ_REP |
Applications can request to close a postconfirmation journal (PCJ) file and open a new one by sending an MRS_SET_PCJ message to the MRS Server. Because the PCJ file cannot be simultaneously open for read and write access, an application must close the current file to read from it and open a new file to continue collecting messages. If default journaling is enabled, all recoverable messages are written to the PCJ file after confirmation unless the confirming process overrides the default. If default journaling is disabled, only those messages that are explicitly confirmed with PDEL_FORCE_J are written to the PCJ file. See the Managing Message Recovery Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is sent between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_SET_PCJ {
int16 version;
int32 user_tag;
int32 force_j;
int32 status;
char pcj_file [64];
} MRS_SET_PCJ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
force_j |
int32 |
DL |
0 = Disable |
status |
int32 |
XL |
0=Error |
pcj_file |
64-char array |
A(64) |
File specification of PCJ file. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
MRS_SERVER |
PAMS_MRS_SERVER |
Source |
Supplied by BEA MessageQ |
Supplied by BEA MessageQ |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SET_PCJ |
MSG_TYPE_MRS_SET_PCJ |
Applications can request to close a postconfirmation journal (PCJ) and open a new one by sending an MRS_SET_PCJ message to the MRS Server. Because the PCJ file cannot be simultaneously open for read and write access, an application must close the current file to read from it and open a new file to continue collecting messages. The MRS_SET_PCJ_REP message returns the status of the request. See the Managing Message Recovery Files topic in the Using Message-Based Services section for an explanation of how to use this message. This service is available on OpenVMS systems only.
Note: The MRS Server does not perform endian conversion when this message is received between processes that run on systems that use different hardware data formats. The sender program must convert the message to the endian format of the target system to ensure that the message data is correctly interpreted.
C Message Structure
typedef struct _MRS_SET_PCJ {
int16 version;
int32 user_tag;
int32 force_j;
int32 status;
char pcj_file [64];
} MRS_SET_PCJ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
word |
DW |
Format version number. |
user_tag |
int32 |
XL |
User-defined tag. |
force_j |
int32 |
DL |
0 = Disable |
status |
int32 |
XL |
0=Error |
pcj_file |
64-char array |
A(64) |
File specification of the PCJ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
MRS_SERVER |
PAMS_MRS_SERVER |
Class |
MRS |
MSG_CLAS_MRS |
Type |
MRS_SET_PCJ_REP |
MSG_TYPE_MRS_SET_PCJ_REP |
Applications can register to receive notification when queue states change in local or remote groups by sending an ENABLE_Q_NOTIFY_REQ message. The ENABLE_Q_NOTIFY_RESP message delivers a list of all active queues and then subsequently notifies the application of attachments, detachments, and changes to active and inactive status using the Q_UPDATE message. See the Receiving Attachment Notifications topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Queue Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
#define MAX_NUMBER_Q_RECS 50
typedef struct _Q_NOTIFY_RESP {
int32 version;
int32 user_tag;
int32 status_code;
int32 last_block_flag;
int32 number_q_recs;
struct {
q_address q_num;
q_address q_owner;
int32 q_type;
int32 q_active_flag;
int32 q_attached_flag;
int32 q_owner_pid;
} q_rec [50];
} Q_NOTIFY_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Version of response. |
user_tag |
int32 |
DL |
User-specified code from request. |
status_code |
int32 |
DL |
0=Error |
last_block_flag |
int32 |
DL |
Last block Boolean flag. |
number_q_recs |
int32 |
DL |
Number of records in this message. |
q_num |
q_address |
DL |
Queue number. |
q_owner |
q_address |
DL |
Queue owner (only for secondary queues (SQs)). |
q_type |
int32 |
DL |
Queue type (numerically encoded P, S, M). |
q_active_flag |
int32 |
DL |
Queue active Boolean flag. |
q_attached_flag |
int32 |
DL |
Queue attached Boolean flag. |
q_owner_pid |
int32 |
DL |
Queue owner process identification (PID). |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
QUEUE_SERVER |
PAMS_QUEUE_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
Q_UPDATE |
MSG_TYPE_Q_UPDATE |
Requests SBS deregistration by exact match of MOT and distribution queue or by registration ID.
This service replaces the SBS_DEREG service.
Note: The SBS Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_DEREGISTER_REQ {
int32 version;
int32 user_tag;
int32 mot;
q_address distribution_q;
int32 reg_id;
int32 req_ack;
} SBS_DEREGISTER_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
mot |
int32 |
DL |
The MOT broadcast stream from which the program wants to deregister. 0 if unused. |
distribution_q |
q_address |
DW, DW |
The BEA MessageQ address of the distribution queue of the registration. A zero in the group number portion of the queue address automatically is replaced with the group number of the sender. |
reg_id |
int32 |
DL |
The ID of the registration request to deregister. 0 if unused. |
req_ack |
int32 |
DL |
1 if registration acknowledgment message is required; 0 otherwise. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
SBS_SERVER |
PAMS_SBS_SERVER |
Source |
Source queue address of the requester. |
Source queue address of the requester. |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_DEREGISTER_REQ |
MSG_TYPE_SBS_ DEREGISTER_REQ |
This response message acknowledges the SBS server deregistration of all entries matching the given MOT queue and distribution queue.
This service replaces the SBS_DEREG_ACK service.
Note: The SBS Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_DEREGISTER_RESP {
int32 version;
int32 status;
int32 user_tag;
int32 number_reg;
} SBS_DEREGISTER_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
status |
int32 |
DL |
Returned status code. Valid codes are as follows: |
user_tag |
int32 |
DL |
User-specified code from the request message. |
number_reg |
int32 |
DL |
The number of registrants left on this MOT or target. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program |
Requesting program |
Source |
SBS_SERVER |
PAMS_SBS_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_DEREGISTER_RESP |
MSG_TYPE_SBS_ DEREGISTER_RESP |
This request message requests registration for reception of broadcast messages. It can specify from 0 to 255 distribution rules, which must be satisfied for the message to be distributed to the distribution queue. If a sequence gap notification is requested, an SBS_SEQUENCE_GAP message is sent to the distribution queue every time a .message sequence gap is detected.
This service replaces the SBS_REG and SBS_REG_EZ services.
Note: The SBS Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_REGISTER_HEAD {
int32 version;
int32 user_tag;
int32 mot;
q_address distribution_q;
int32 req_ack;
int32 seq_gap_notify;
int32 auto_dereg;
int32 rule_count;
int32 rule_conjunct;
} SBS_REGISTER_HEAD;
typedef struct _SBS_REGISTER_RULE {
int32 offset;
int32 data_operator;
int32 length;
int32 operand;
} SBS_REGISTER_RULE;
#define MAX_SEL_RULES 256
typedef struct _SBS_REGISTER_REQ {
SBS_REGISTER_HEAD head;
SBS_REGISTER_RULE rule [256];
} SBS_REGISTER_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
mot |
int32 |
DL |
The MOT broadcast stream to which the program attempts to register. |
distribution_q |
q_address |
DW, DW |
The BEA MessageQ address that receives any messages that are selected from the broadcast stream. A zero in the group number portion of the queue address is automatically replaced with the group number of the sender. |
req_ack |
int32 |
DL |
1 if registration acknowledgment message is required; 0 otherwise. |
seq_gap_notify |
int32 |
DL |
1 if broadcast stream sequence gap notification is required; 0 otherwise. |
auto_dereg |
int32 |
DL |
1 if registration request is to be purged on distribution queue detach; 0 otherwise. |
rule_count |
int32 |
DL |
Number of distribution rules in the request (0, ..., 255). |
rule_conjunct |
int32 |
DL |
Valid values are: |
* Following items are repeated "rule_count" times * |
|||
data_offset |
int32 |
DL |
Valid values are: |
data_operator |
int32 |
DL |
Valid values are: |
data_length |
int32 |
DL |
Specifies the size of comparison to be performed: One of 0, 1, 2, or 4 bytes. |
operand |
int32 |
DL |
Value used for comparison with data at the "data offset". |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
SBS_SERVER |
PAMS_SBS_SERVER |
Source |
Requesting program |
Requesting program |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_REGISTER_REQ |
MSG_TYPE_SBS_REGISTER_REQ |
This message provides a response to an SBS_REGISTER_REQ subscriber registration. The response contains a status field, which is 1 on success. The message also contains the user tag, specified in the request message, the registration ID and the number of registered entries for the MOT address.
This service replaces the SBS_REG_REPLY and SBS_REG_EZ_REPLY services.
Note: The SBS Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_REGISTER_RESP {
int32 version;
int32 user_tag;
int32 status;
int32 reg_id;
int32 number_reg;
} SBS_REGISTER_RESP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
user_tag |
int32 |
DL |
User-specified code from the request message. |
status |
int32 |
DL |
Returned status code. Valid codes are as follows: |
reg_id |
int32 |
DL |
Returned registration ID. |
number_reg |
int32 |
DL |
Number of entries currently registered for this MOT or target. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Source of registrant |
Source of registrant |
Source |
SBS_SERVER |
PAMS_SBS_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_SEQUENCE_RESP |
MSG_TYPE_SBS_SEQUENCE_ RESP |
This message indicates that a sequence gap occurred in a broadcast stream. Sequence gaps can occur when the sender is broadcasting at a higher rate than the receiver can handle.
This service replaces the SBS_BS_SEQGAP service.
Note: The SBS Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_SEQUENCE_GAP {
int32 num_msgs_missing;
int32 sender_group;
int32 mot;
int32 channel;
} SBS_SEQUENCE_GAP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
num_msgs_ missing |
int32 |
DL |
Number of lost messages in sequence gap. |
sender_group |
int32 |
DL |
Group number of sending SBS server. |
mot |
int32 |
DL |
MOT address in which broadcast stream gap occurred. |
channel |
in32 |
DL |
Source address of MOT; either SBS server or Ethernet channel. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Registrant |
Registrant |
Source |
SBS_SERVER |
PAMS_SBS_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_SEQUENCE_GAP |
MSG_TYPE_SBS_SEQUENCE_ GAP |
The SBS server supports a message-based status request. This request details the current condition of each MOT being used by the server and its activity with other BEA MessageQ groups, which are also running the SBS server.
The request message is targeted to the SBS_SERVER with message class PAMS and message type SBS_STATUS_REQ. Upon receipt of the message, the SBS server validates the request. If the request is incorrect, the response message contains an error status. The SBS server responds with the reply message of type SBS_STATUS_RESP.
Note: The SBS Server performs endian conversion when this message is sent between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_STATUS_REQ {
int32 version;
int32 user_tag;
int32 start_mot;
int32 end_mot;
int32 reset;
} SBS_STATUS_REQ;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
start_mot |
int32 |
DL |
Lowest MOT for which statistics are desired. |
end_mot |
int32 |
DL |
Highest MOT for which statistics are desired. |
reset |
int32 |
DL |
0: Do not reset counters for the remote server data after constructing the reply message. 1: Reset counters for the remote server data after constructing the reply message. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
SBS_SERVER |
PAMS_SBS_SERVER |
Source |
Requesting program's primary or reply queue |
Requesting program's primary or reply queue |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_STATUS_REQ |
MSG_TYPE_SBS_STATUS_REQ |
This message is returned following the successful processing of the SBS_STATUS_REQ request message. It is a variable format message and is made up of a variable number of fixed length parts. To parse the message, each variable length section has a count.
Note: The SBS Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _SBS_STATUS_RESP {
int32 version;
int32 user_tag;
int32 status;
int32 num_rec;
int32 last_block;
char data [31980];
} SBS_STATUS_RESP;
typedef struct _SBS_STATUS_RESP_MOT {
int32 mot;
union {
struct {
union {
struct {
char s_b1;
char s_b2;
char s_b3;
char s_b4;
} S_un_b;
struct {
uint16 s_w1;
uint16 s_w2;
} S_un_w;
uint32 S_addr;
} inet_addr;
uint16 inet_port;
} udp;
struct {
char mca_addr [12];
char protocol [4];
} eth;
struct {
char unused [20];
} dmq;
int32 filler [5];
} transport;
int32 heartbeat_timer;
int32 xmit_silo;
int32 rcv_silo;
int32 rcv_silo_max;
int32 num_reg;
int32 complete_rcvd;
int32 complete_bytes;
int32 seq_gaps;
int32 whole_msg_gaps;
int32 whole_silo_gap;
struct {
char device_name [16];
struct {
uint32 tv_sec;
uint32 tv_usec;
} fail_tod;
int32 msgs_sent;
int32 bytes_sent;
int32 pkts_sent;
int32 pkts_rcvd;
int32 dupl_pkts_disc;
} rail [2];
} SBS_STATUS_RESP_MOT;
typedef struct _SBS_STATUS_REP_REG_Q {
q_address reg_q;
} SBS_STATUS_REP_REG_Q;
typedef struct _SBS_STATUS_REP_NUM_GROUPS {
int32 num_groups;
} SBS_STATUS_REP_NUM_GROUPS;
typedef struct _SBS_STATUS_RESP_GROUP {
int32 group;
int32 rexmit_reqs_to_remote;
int32 rexmit_sat_by_remote;
int32 late_rexmit;
int32 rexmit_reqs_from_remote;
int32 rexmit_sat_by_local;
} SBS_STATUS_RESP_GROUP;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
version |
int32 |
DL |
Message format version number. Must be 40. |
user_tag |
int32 |
DL |
User-specified code to identify this request. |
Status |
int32 |
DL |
Returned status code. Valid codes are as follows: PSYM_SBS_SUCCESS = Success |
num_rec |
int32 |
DL |
Number of MOTs reported in this message. |
last_block |
int32 |
DL |
1 if this is the last message; 0 otherwise. |
* Remainder of message repeated "num_rec" times up to a maximum of 50 records per Local SBS Server data * |
|||
mot |
int32 |
DL |
MOT for which statistics are being reported. |
transport |
A(20) |
Transport specific address information associated with the MOT. The format is dependant on the type of transport referred to. |
|
heartbeat_timer |
int32 |
DL |
Heartbeat timer setting. |
xmit_silo |
int32 |
DL |
Transmit silo size (MABs). |
rcv_silo |
int32 |
DL |
Receiver silo size (MABs). |
rcv_silo_max |
int32 |
DL |
Maximum occupancy of receive silo (MABs). |
num_reg |
int32 |
DL |
Number of registrants for this MOT. |
complete_rcvd |
int32 |
DL |
Number of complete messages received. |
complete_bytes |
int32 |
DL |
Number bytes contained in "complete_rcvd" messages. |
seq_gaps |
int32 |
DL |
Total sequence gaps reported on this MOT. |
whole_msg_gaps |
int32 |
DL |
Number complete messages detected missed initially. |
whole_silo_gap |
int32 |
DL |
Number times sequence gap caused entire silo flush. |
* Transport rail information repeated two times * |
|||
device_name |
char |
A(16) |
Optimized device address. |
fail_tod |
DL(2) |
Shutdown timestamp in seconds. |
|
msgs_sent |
int32 |
DL |
Number of messages sent on this rail. |
bytes_sent |
int32 |
DL |
Number of bytes sent on this rail. |
pkts_sent |
int32 |
DL |
Number of packets sent on this rail. |
pkts_rcvd |
int32 |
DL |
Number of packets received on rail. |
dupl_pkts_disc |
int32 |
DL |
Number of duplicate packets discarded from this rail. |
* Registrant data: repeated "num_reg" times * |
|||
reg_q |
q_address |
DW, DW |
Queue address of registrant. |
* End of registrant data * |
|||
num_groups |
int32 |
DL |
Number of remote SBS servers communicating with the local SBS server. |
* Remote SBS server data: Following fields repeated "num_groups" times * |
|||
group |
int32 |
DL |
Group number of remote SBS server. |
rexmit_reqs_to_ remote |
int32 |
DL |
Number of retransmission requests from the local SBS server to the remote SBS server. |
rexmit_sat_by_ remote |
int32 |
DL |
Number of retransmission requests satisfied by the remote SBS server. |
late_rexmit |
int32 |
DL |
Number of retransmission requests that were received too late to prevent a sequence gap. |
rexmit_reqs_ from_remote |
int32 |
DL |
Number of retransmission requests from the remote SBS server. |
rexmit_sat_by _local |
int32 |
DL |
Number of retransmission requests satisfied by the local SBS server for the remote server. |
* End of remote server data * |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Requesting program's primary or reply queue |
Requesting program's primary or reply queue |
Source |
SBS_SERVER |
PAMS_SBS_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
SBS_STATUS_RESP |
MSG_TYPE_SBS_STATUS_RESP |
TIMER_EXPIRED is a response message to the pams_set_timer function. This message is sent to the timer queue associated with sender program's primary queue. Each call to the pams_set_timer function generates one message of type TIMER_EXPIRED when the timer expires.
Note: This message is RISC aligned.
C Message Structure
typedef struct _TIMER_EXPIRED {
int32 timer_id;
char reserved [20];
} TIMER_EXPIRED;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
timer_id |
int32 |
DL |
Timer ID specified in the pams_set_timer call. |
reserved |
20-byte array |
A(20) |
Reserved for BEA MessageQ. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
primary queue |
primary queue |
Source |
TIMER_QUEUE |
PAMS_TIMER_QUEUE |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
TIMER_EXPIRED |
MSG_TYPE_TIMER_EXPIRED |
Applications register to receive notification when queues become active or inactive in local and remote groups by sending an AVAIL_REG message to the Avail Server. The UNAVAIL notification message is sent to the registered application when a queue in the selected group becomes inactive. See the Obtaining the Status of a Queue topic in the Using Message-Based Services section for an explanation of how to use this message.
Note: The Avail Server performs endian conversion when this message is received between processes that run on systems that use different hardware data formats. This message is also RISC aligned.
C Message Structure
typedef struct _UNAVAIL {
q_address target_q;
} UNAVAIL;
Message Data Fields
Field |
Data Type |
Script Format |
Description |
---|---|---|---|
target_q |
q_address |
DL |
Address of unavailable queue. |
Argument |
Script Format |
pams_get_msg Format |
---|---|---|
Target |
Supplied by AVAIL_REG |
Supplied by AVAIL_REG |
Source |
AVAIL_SERVER |
AVAIL_SERVER |
Class |
PAMS |
MSG_CLAS_PAMS |
Type |
UNAVAIL |
MSG_TYPE_UNAVAIL |
|
Copyright © 2000 BEA Systems, Inc. All rights reserved.
|