Commit 6a4104ee authored by claes's avatar claes

version 4.1.3

parent 168f9ef5
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
ifndef link_rule_mk
link_rule_mk := 1
link = $(ldxx) $(elinkflags) $(domap) -o $(export_exe) \
$(export_obj) $(objects) $(rt_msg_eobjs) \
-lpwr_remote -lpwr_rt -lpwr_co -lpwr_msg_dummy -ldmqcl -lpthread -lrt -lm
endif
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1998 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/* $RCSfile: p_entry.h,v $, $Revision: 1.1 $, $Date: 2006-02-09 09:51:05 $ */
/* */
/************************************************************************** */
/* Define PAMS structures used in calls */
/************************************************************************** */
/* */
/* */
#ifndef _P_ENTRY_H
#define _P_ENTRY_H 1
#include <sys/types.h>
#ifndef __INTS_LOADED
#if defined(__DECC) && defined(__VMS)
#include <ints.h>
#ifndef __ALPHA
typedef struct { long l[2]; } int64;
typedef struct { unsigned long l[2]; } uint64;
#endif
#else
#if defined(__BORLANDC__)
#include <systypes.h>
#else
#define __INTS_LOADED 1
#if !(defined(_IBMR2) && defined(_H_INTTYPES) && defined(_ALL_SOURCE))
typedef char int8;
typedef short int16;
#endif /* _IBMR2 */
typedef unsigned char uint8;
typedef unsigned short uint16;
#if defined(__alpha) && defined(__osf__)
#if !(defined(_IBMR2) && defined(_H_INTTYPES) && defined(_ALL_SOURCE))
typedef int int32;
typedef long int64;
#endif /* _IBMR2 */
typedef unsigned int uint32;
typedef unsigned long uint64;
#else
#if !(defined(_IBMR2) && defined(_H_INTTYPES) && defined(_ALL_SOURCE))
typedef long int32;
typedef struct { long l[2]; } int64;
#endif /* _IBMR2 */
typedef unsigned long uint32;
typedef struct { unsigned long l[2]; } uint64;
#endif /* __alpha && __osf__ */
#endif /* __BORLANDC__ */
#endif /* __DECC */
#endif /* __INTS_LOADED */
#if ! defined(PAMSAPI)
#if defined(_WIN32)
#define PAMSAPI __stdcall
#define PAMSEXPORT __declspec(dllexport)
#define PAMSIMPORT extern __declspec(dllexport)
#else
#if defined(_WINDOWS) || defined(_Windows)
#define PAMSAPI FAR pascal _export
#define PAMSEXPORT
#define PAMSIMPORT extern
#else
#if defined(__OS2__) && defined(__BORLANDC__)
#define PAMSAPI __syscall
#define PAMSEXPORT
#define PAMSIMPORT extern
#else
#if defined(__OS2__) && defined(__WATCOM__)
#define PAMSAPI _System
#define PAMSEXPORT
#define PAMSIMPORT extern
#else
#define PAMSAPI
#define PAMSEXPORT
#define PAMSIMPORT extern
#endif /* __WATCOM__ */
#endif /* __BORLAND__C */
#endif /* _WINDOWS */
#endif /* _WIN32 */
#endif /* PAMSAPI */
#ifndef GEN_PAMS_V1
#define GEN_PAMS_V1 0 /* Generate current structures */
#endif
#ifndef DMQ_GENERIC_VERSION
#define DMQ_GENERIC_VERSION "5.0"
#endif
#define PSB psb
#ifdef __DECC
#pragma member_alignment __save
#pragma member_alignment
#endif
/* */
#ifndef PAMS_ADDRESS_DEFINED
#define PAMS_ADDRESS_DEFINED 1
/* */
/* Define the queue address record data type */
/* */
typedef int32 all;
typedef struct _group_queue {
int16 queue;
int16 group;
} group_queue;
typedef union _q_address {
int32 all;
group_queue au;
} q_address;
/* */
/* pams_address and Pams_Address and PAMS_ADDRESS */
/* to resolve to the MessageQ q_address structure */
/* */
#ifndef pams_address
#define pams_address q_address
#endif
#ifndef Pams_Address
#define Pams_Address q_address
#endif
#ifndef PAMS_ADDRESS
#define PAMS_ADDRESS q_address
#endif
#endif
#define PAMS_HANDLE_SIZE 16
typedef char pams_handle[PAMS_HANDLE_SIZE];
#define PAMS_CORRELATION_ID_SIZE 32
typedef char pams_correlation_id[PAMS_CORRELATION_ID_SIZE];
typedef uint32 pams_sequence_number[2];
#define PAMS_SEQUENCE_NUMBER_SIZE 8
/* */
/* Define the PAMS Show Buffer structure */
/* Used to return further information from PAMS_GET_MSG, PAMS_GET_MSGW, */
/* and PAMS_GET_MSGA calls. */
/* */
struct show_buffer {
int32 version;
int32 transfer_status;
int32 transfer_size;
int32 flags;
int32 urcode; /* used by Tuxedo forwarding agent in 5.0 */
char reserved [20];
int32 target;
int32 original_target;
int32 source;
int32 original_source;
int32 delivery;
int32 priority;
int32 endian;
pams_correlation_id correlation_id;
} ;
/* */
/* Define the PAMS Status Block (PSB) structure */
/* Used for extended return status' from PAMS and to obtain */
/* the sequence number for later calls to PAMS_CONFIRM_MSG */
/* */
#if GEN_PAMS_V1
struct PSB {
u_short type;
u_short call_depend;
uint32 status;
uint32 msg_seq_number[2];
uint32 uma_status;
char filler[12];
} ;
#else
struct PSB {
short type_of_psb;
short call_dependent;
int32 del_psb_status;
uint32 seq_number[2];
int32 uma_psb_status;
short psb_reserved[6];
} ;
#endif
struct PSB2 {
short type_of_psb;
short call_dependent;
int32 del_psb_status;
uint32 seq_number[2];
int32 uma_psb_status;
int32 function_status;
short psb_reserved[4];
};
#define psb2 PSB2
/* */
/* */
/* */
/* Define the Compound Selection data type */
/* */
typedef struct _selection_array_component {
int32 queue;
int32 priority;
int32 key_1_offset;
int32 key_1_size;
int32 key_1_value;
int32 key_1_oper;
int32 key_2_offset;
int32 key_2_size;
int32 key_2_value;
int32 key_2_oper;
int32 order_offset;
int32 order_size;
int32 order_order;
union {
pams_correlation_id correlation_id;
pams_sequence_number sequence_number;
} extended_key;
} selection_array_component;
/* */
/* */
/************************************************************************** */
/* Entry points for PAMS subroutines. */
/************************************************************************** */
/* */
/* */
#ifdef __cplusplus
extern "C" {
#endif
PAMSIMPORT int32 PAMSAPI pams_attach_q (
int32 *, /* ptr to attach mode */
q_address *, /* ptr to queue attached */
int32 *, /* ptr to queue type */
char *, /* ptr to queue name to attach */
int32 *, /* ptr to queue name length */
int32 *, /* ptr to name space list */
int32 *, /* ptr to name space list length */
int32 *, /* ptr to timeout value */
char *, /* reserved - must be NULL */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_bind_q (
q_address *, /* ptr to address to be bound */
char *, /* ptr to queue name to be bound */
int32 *, /* ptr to queue name length */
int32 *, /* ptr to name space list */
int32 *, /* ptr to name space list length */
int32 *, /* ptr to timeout value */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_detach_q (
q_address *, /* ptr to queue to detach */
int32 *, /* ptr detach option list */
int32 *, /* ptr to option list length */
int32 * /* ptr to count of msgs flushed */
);
PAMSIMPORT int32 PAMSAPI pams_locate_q (
char *, /* ptr to queue name to locate */
int32 *, /* ptr to queue name length */
q_address *, /* ptr to queue number located */
int32 *, /* ptr to locate wait mode */
int32 *, /* ptr to locate req id */
int32 *, /* ptr to locate resp queue */
int32 *, /* ptr to name space list */
int32 *, /* ptr to name space list length */
int32 * /* ptr to timeout value */
);
PAMSIMPORT int32 PAMSAPI pams_put_msg (
char *, /* ptr to char buffer */
char *, /* ptr to priority */
q_address *, /* ptr to target */
short *, /* ptr to class */
short *, /* ptr to type */
char *, /* ptr to delivery byte */
short *, /* ptr to output length */
int32 *, /* ptr to timeout value */
struct PSB *, /* ptr to PSB structure */
char *, /* ptr to UMA */
q_address *, /* ptr to response queue */
int32 *, /* ptr to large input length */
pams_correlation_id, /* correlation identifier string */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_get_msg (
char *, /* ptr to char buffer */
char *, /* ptr to priority */
q_address *, /* ptr to source */
short *, /* ptr to class */
short *, /* ptr to type */
short *, /* ptr to input length */
short *, /* ptr to output length */
int32 *, /* ptr to selection address */
struct PSB *, /* ptr to PSB structure */
struct show_buffer *, /* ptr to show buffer */
int32 *, /* ptr to show buffer size */
int32 *, /* ptr to large input length */
int32 *, /* ptr to large output length */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_get_msgw (
char *, /* ptr to char buffer */
char *, /* ptr to priority */
q_address *, /* ptr to source */
short *, /* ptr to class */
short *, /* ptr to type */
short *, /* ptr to input length */
short *, /* ptr to output length */
int32 *, /* ptr to timeout value */
int32 *, /* ptr to selection address */
struct PSB *, /* ptr to PSB structure */
struct show_buffer *, /* ptr to show buffer */
int32 *, /* ptr to show buffer size */
int32 *, /* ptr to large input length */
int32 *, /* ptr to large output length */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_get_msga (
char *, /* ptr to char buffer */
char *, /* ptr to priority */
q_address *, /* ptr to source */
short *, /* ptr to class */
short *, /* ptr to type */
short *, /* ptr to input length */
short *, /* ptr to output length */
int32 *, /* ptr to selection address */
struct PSB *, /* ptr to PSB structure */
struct show_buffer *, /* ptr to show buffer */
int32 *, /* ptr to show buffer size */
int32 *, /* ptr to large input length */
int32 *, /* ptr to large output length */
void (*func) (int32*), /* ptr to actrtn */
int32 *, /* ptr to actparam */
int32 *, /* ptr to flag_id */
char * /* reserved - must be NULL */
);
PAMSIMPORT int32 PAMSAPI pams_cancel_get (
int32 * /* ptr to sel_filter */
);
PAMSIMPORT int32 PAMSAPI pams_confirm_msg (
uint32 *, /* msg seq num */
int32 *, /* confirm status */
char * /* post-conf journal param */
);
PAMSIMPORT int32 PAMSAPI pams_show_msg (
char **, /* ptr to ptr to char buffer */
struct show_buffer * /* ptr to SHOWMSG structure */
);
PAMSIMPORT int32 PAMSAPI pams_exit (void);
PAMSIMPORT int32 PAMSAPI pams_open_jrn ( char *,
int16 *, int32 *);
PAMSIMPORT int32 PAMSAPI pams_read_jrn ( int32 *, char *, char *,
int32 *, int16 *, int16 *, int16 *, int16 *,
int32 *, uint32 *, int32 *, uint32 *, int32 *,
int32 *, int32 *, char *);
PAMSIMPORT int32 PAMSAPI pams_close_jrn ( int32 *);
PAMSIMPORT int32 PAMSAPI pams_print_sts (
char *, /* ptr to string process name */
char *, /* ptr to string message */
int /* status return */
);
PAMSIMPORT int32 PAMSAPI putil_print_sts (
char *, /* ptr to string process name */
char *, /* ptr to string message */
int /* status return */
);
PAMSIMPORT int32 PAMSAPI putil_print_status (
char *, /* ptr to string process name */
char *, /* ptr to string message */
int /* status return */
);
PAMSIMPORT int32 PAMSAPI putil_show_pending (
int32 *, /* count - ptr to number of queues */
short *, /* ptr to array of queues */
int32 * /* ptr to array of pending msg counts */
);
PAMSIMPORT int32 PAMSAPI pams_set_timer (
int32 *, /* ptr to timer id */
char *, /* ptr to timer format */
int32 *, /* ptr to timer tick count */
int32 * /* ptr to int32 array */
);
PAMSIMPORT int32 PAMSAPI pams_cancel_timer (
int32 * /* ptr to timer id */
);
PAMSIMPORT int32 PAMSAPI pams_set_select (
selection_array_component *, /* selection array */
short *, /* number of select masks in array */
int32 * /* returned select-var for get */
);
PAMSIMPORT int32 PAMSAPI pams_cancel_select (
int32 * /* select var from set select */
);
PAMSIMPORT int32 PAMSAPI pams_status_text (
int32 *, /* error code */
int32 *, /* returned severity of error */
char *, /* ptr to buffer for error message */
int32 *, /* length of buffer for return message */
int32 * /* length of message returned */
);
PAMSIMPORT int32 PAMSAPI pams_create_handle (
pams_handle, /* a pams_handle */
int32 * /* the type of handle */
);
PAMSIMPORT int32 PAMSAPI pams_delete_handle (
pams_handle /* a pams_handle */
);
PAMSIMPORT int32 PAMSAPI pams_msg_length (
pams_handle, /* a pams_handle */
uint32 * /* length of message returned */
);
PAMSIMPORT int32 PAMSAPI pams_insert_buffer (
pams_handle, /* message handle */
char *, /* pointer to buffer */
uint32 * /* length of buffer */
);
PAMSIMPORT int32 PAMSAPI pams_extract_buffer (
pams_handle, /* message handle */
char *, /* pointer to a buffer */
uint32 *, /* length of the buffer */
uint32 * /* length of xtracted message */
);
PAMSIMPORT int32 PAMSAPI pams_encode_int8 (
pams_handle, /* message handle */
int32 *, /* tag */
int8 * /* value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_uint8 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint8 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_int16 (
pams_handle, /* message handle */
int32 *, /* field tag */
int16 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_uint16 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint16 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_int32 (
pams_handle, /* message handle */
int32 *, /* field tag */
int32 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_uint32 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint32 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_qid (
pams_handle, /* message handle */
int32 *, /* field tag */
q_address * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_int64 (
pams_handle, /* message handle */
int32 *, /* field tag */
int64 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_uint64 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint64 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_float (
pams_handle, /* message handle */
int32 *, /* field tag */
float * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_double (
pams_handle, /* message handle */
int32 *, /* field tag */
double * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_encode_string (
pams_handle, /* message handle */
int32 *, /* field tag */
char *, /* field value */
int32 * /* length of string */
);
PAMSIMPORT int32 PAMSAPI pams_encode_array (
pams_handle, /* message handle */
int32 *, /* field tag */
void *, /* pointer to array */
int32 * /* number of elments in array */
);
PAMSIMPORT int32 PAMSAPI pams_remove_encoding (
pams_handle, /* message handle */
int32 *, /* field tag */
int32 * /* flags */
);
PAMSIMPORT int32 PAMSAPI pams_next_msg_field (
pams_handle, /* message handle */
int32 *, /* field tag */
int32 * /* length of field */
);
PAMSIMPORT int32 PAMSAPI pams_decode_int8 (
pams_handle, /* message handle */
int32 *, /* field tag */
int8 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_uint8 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint8 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_int16 (
pams_handle, /* message handle */
int32 *, /* field tag */
int16 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_uint16 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint16 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_int32 (
pams_handle, /* message handle */
int32 *, /* field tag */
int32 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_uint32 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint32 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_qid (
pams_handle, /* message handle */
int32 *, /* field tag */
q_address * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_int64 (
pams_handle, /* message handle */
int32 *, /* field tag */
int64 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_uint64 (
pams_handle, /* message handle */
int32 *, /* field tag */
uint64 * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_float (
pams_handle, /* message handle */
int32 *, /* field tag */
float * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_double (
pams_handle, /* message handle */
int32 *, /* field tag */
double * /* field value */
);
PAMSIMPORT int32 PAMSAPI pams_decode_string (
pams_handle, /* message handle */
int32 *, /* field tag */
char *, /* buffer */
int32 *, /* length of buffer */
int32 * /* length of string */
);
PAMSIMPORT int32 PAMSAPI pams_decode_array (
pams_handle, /* message handle */
int32 *, /* field tag */
void *, /* pointer to array */
int32 *, /* array size in elements */
int32 * /* number of elements returned */
);
PAMSIMPORT int32 PAMSAPI pams_set_msg_position (
pams_handle, /* message handle */
int32 *, /* field tag */
int32 * /* flags */
);
#ifdef __DECC
#pragma member_alignment __restore
#endif
#ifdef __cplusplus
}
#endif
#endif /* if already included */
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1997 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/*** MODULE PAMS_C_GROUP IDENT V4.0-00 ***/
/**/
#ifndef _P_GROUP_H
#define _P_GROUP_H 1
/**/
/* */
/* */
#define PAMS_C_GROUP_ONE 1
#define PAMS_C_GROUP_TWO 2
#define PAMS_C_GROUP_MVII 75
#define PAMS_C_GROUP_PC 122
/* */
/* */
/**/
#endif /* end P_GROUP_H */
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1997, 1998 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/*** MODULE PAMS_MSG IDENT V4.0-08 ***/
/* */
/* */
/*-- */
/* */
#ifndef _P_MSG_H
#define _P_MSG_H 1
#include <p_entry.h>
#ifdef __DECC
#pragma member_alignment __save
#pragma nomember_alignment
#endif
#if defined(_WIN32) || defined(__osf__)
#pragma pack(1)
#endif
typedef struct _AVAIL {
q_address target_q;
} AVAIL;
typedef struct _AVAIL_DEREG {
int16 version;
int16 filler;
q_address target_q;
q_address distribution_q;
char req_ack;
} AVAIL_DEREG;
typedef struct _AVAIL_REG {
int16 version;
int16 filler;
q_address target_q;
q_address distribution_q;
int32 timeout;
} AVAIL_REG;
typedef struct _AVAIL_REG_REPLY {
int16 status;
uint16 reg_id;
int16 number_reg;
} AVAIL_REG_REPLY;
/* NOTE: DISABLE_NOTIFY uses the same structure as ENABLE_NOTIFY */
/* DISABLE_Q_NOTIFY_REQ is the same structure as LIST_ALL_Q_REQ */
/* DISABLE_Q_NOTIFY_RESP is the same structure as Q_NOTIFY_RESP */
typedef struct _ENABLE_NOTIFY {
char reserved;
char connection_flag;
} ENABLE_NOTIFY;
/* NOTE: ENABLE_Q_NOTIFY_REQ is the same structure as LIST_ALL_Q_REQ */
/* ENABLE_Q_NOTIFY_RESP is the same structure as Q_NOTIFY_RESP */
typedef struct _TADDRESS {
int32 len;
char str [16];
} TADDRESS;
typedef struct _NODENAME {
int32 len;
char str [256];
} 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;
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;
/* NOTE: LINK_COMPLETE uses the LINK_NOTIFICATION structure */
typedef struct _LINK_NOTIFICATION {
int16 group_number;
int16 filler1;
char os_type;
char filler2;
} LINK_NOTIFICATION;
/* NOTE: LINK_LOST uses the LINK_NOTIFICATION structure */
/* LIST_ALL_CONNECTIONS uses the GROUP_RECORD structure */
/* LIST_ALL_GROUPS uses the GROUP_RECORD 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;
/* NOTE: LIST_ALL_ENTRIES uses the QLIST_RECORD structure */
typedef struct _QLIST_RECORD {
char q_name [20];
int16 q_number;
char attach_flag;
char reserved;
} QLIST_RECORD;
/* NOTE: LIST_ALL_RESP has the same format as GROUP_RECORD */
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 reserved1 [3];
} LIST_ALL_RESP;
/* NOTE: LIST_ALL_Q_REQ, DISABLE_Q_NOTIFY_REQ, and */
/* ENABLE_Q_NOTIFY_REQ use the same structure */
typedef struct _Q_NOTIFY_REQ {
int32 version;
int32 user_tag;
} Q_NOTIFY_REQ;
/* NOTE: LIST_ALL_Q_RESP uses the Q_NOTIFY_RESP structure */
typedef struct _LOCATE_Q_REP {
int32 version;
int32 search_loc;
int32 object_handle;
int32 status;
int32 trans_id;
char q_name [256];
} LOCATE_Q_REP;
/* 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;
/* NOTE: MRS_DQF_SET_REP returns the same struture as MRS_DQF_SET */
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;
/* NOTE: MRS_DQF_TRANSFER_ACK returns same structure as MRS_DQF_TRANSFER */
/* MRS_DQF_TRANSFER_REP returns same structure as MRS_DQF_TRANSFER */
/* MRS_JRN_DISABLE uses the same structure as MRS_JRN_ENABLE */
/* 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
/* NOTE: MRS_JRN_DISABLE_REP return the same structure as MRS_JRN_ENABLE */
/* MRS_JRN_ENABLE uses the MRS_JRN_SET_ALL structure */
typedef struct _MRS_JRN_SET_ALL {
int32 version;
int32 dqf_status;
int32 saf_status;
int32 pcj_status;
int32 dlj_status;
} MRS_JRN_SET_ALL;
/* NOTE: MRS_JRN_ENABLE_REP return the same structure as MRS_JRN_ENABLE */
/* 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 SAF_SET_ERROR 0
#define SAF_SET_SUCCESS 1
#define SAF_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;
/* NOTE: MRS_SAF_SET_REP return the same structure as MRS_SAF_SET */
/* MRS_SET_DLJ, MRS_SET_DLJ_REP use the same MRS_SET_DLJ structure */
typedef struct _MRS_SET_DLJ {
int16 version;
int32 user_tag;
int32 status;
char dlj_file [64];
} MRS_SET_DLJ;
/* NOTE: MRS_SET_PCJ, MRS_SET_PCJ_REP use the same MRS_SET_PCJ structure */
typedef struct _MRS_SET_PCJ {
int16 version;
int32 user_tag;
int32 force_j;
int32 status;
char dlj_file [64];
} MRS_SET_PCJ;
/* NOTE: Q_UPDATE, DISABLE_Q_NOTIFY_RESP, ENABLE_Q_NOTIFY_RESP, */
/* and LIST_ALL_Q_RESP use the same Q_NOTIFY_RESP 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;
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;
typedef struct _SBS_REGISTER_RESP {
int32 version;
int32 user_tag;
int32 status;
int32 reg_id;
int32 number_reg;
} SBS_REGISTER_RESP;
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;
typedef struct _SBS_DEREGISTER_RESP {
int32 version;
int32 status;
int32 user_tag;
int32 number_reg;
} SBS_DEREGISTER_RESP;
typedef struct _SBS_STATUS_REQ {
int32 version;
int32 user_tag;
int32 start_mot;
int32 end_mot;
int32 reset;
} SBS_STATUS_REQ;
typedef struct _SBS_STATUS_RESP {
int32 version;
int32 user_tag;
int32 status;
int32 num_rec;
int32 last_block;
char data [31988];
} 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;
typedef struct _SBS_SEQUENCE_GAP {
int32 num_msgs_missing;
int32 sender_group;
int32 mot;
int32 channel;
} SBS_SEQUENCE_GAP;
typedef struct _TIMER_EXPIRED {
int32 timer_id;
char reserved [20];
} TIMER_EXPIRED;
typedef struct _UNAVAIL {
q_address target_q; /* Q that is now un-available */
} UNAVAIL;
/* */
/* */
/************************************************************************** */
/* Obsolete DmQ Message API */
/************************************************************************** */
/* */
/* */
typedef struct _AVAIL_REG_V20 {
int16 version;
q_address target_q;
q_address distribution_q;
} AVAIL_REG_V20;
typedef struct _AVAIL_DEREG_V20 {
int16 version;
q_address target_q;
q_address distribution_q;
char req_ack;
} AVAIL_DEREG_V20;
typedef struct _SBS_REG {
int16 version;
uint16 mot;
q_address distribution_q;
int16 offset;
char data_operator;
int16 length;
uint32 operand;
char req_ack;
char req_seqgap;
char req_autodereg;
} SBS_REG;
typedef struct _SBS_REG_REPLY {
int16 status;
uint16 reg_id;
int16 number_reg;
} SBS_REG_REPLY;
typedef struct _SBS_REG_EZ {
int16 version;
int16 mot;
q_address distribution_q;
} SBS_REG_EZ;
typedef struct _SBS_REG_EZ_REPLY {
int16 status;
uint16 reg_id;
int16 number_reg;
} SBS_REG_EZ_REPLY;
typedef struct _SBS_DEREG {
int16 version;
uint16 mot;
q_address distribution_q;
char req_ack;
} SBS_DEREG;
typedef struct _SBS_DEREG_ACK {
int16 status;
int16 number_reg;
} SBS_DEREG_ACK;
typedef struct _SBS_BS_SEQGAP {
int32 num_msgs_missing;
uint16 sender_group;
uint16 mot;
uint16 channel;
} SBS_BS_SEQGAP;
#if defined(_WIN32) || defined(__osf__)
#pragma pack(8) /* restore alignment back to the defaults */
#endif
/* */
/* */
/* */
#ifdef __DECC
#pragma member_alignment __restore
#endif
#endif /* end P_MSG */
/* End of P_MSG */
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1997 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/*** MODULE PAMS_C_PROCESS IDENT V4.0-03 ***/
/**/
#ifndef _P_PROCES_H
#define _P_PROCES_H 1
/**/
/* */
/* */
/* Sample Queues */
/* */
#define PAMS_QUEUE_1 1
#define PAMS_QUEUE_2 2
#define PAMS_QUEUE_3 3
#define PAMS_QUEUE_4 4
#define PAMS_QUEUE_5 5
#define PAMS_QUEUE_6 6
#define PAMS_QUEUE_7 7
#define PAMS_QUEUE_8 8
#define PAMS_QUEUE_9 9
#define PAMS_QUEUE_10 10
/* */
/* */
/* SBS_EXAMPLE.EXE uses the following UCB numbers for Optimized Delivery */
/* */
#define PAMS_SBS_ETH_CONTROL 74
#define PAMS_SBS_ETH_CHAN1 75
#define PAMS_SBS_ETH_CHAN2 76
/* */
/* */
/* Processes 90-100 & 150-199 are reserved for PAMS utilities */
/* */
#define PAMS_SCREEN_PROCESS 0
#define PAMS_TEMPORARY_Q 0
#define PAMS_SPARE1 90
#define PAMS_ALL_UCBS 91
#define PAMS_SPARE2 92
#define PAMS_TIMER_QUEUE 92
#define PAMS_NULL 93
#define PAMS_INTERNAL1 94
#define PAMS_NA_SERVER 94
#define PAMS_QTRANSFER_SERVER 95
#define PAMS_INTERNAL2 96
#define PAMS_DEAD_LETTER_QUEUE 96
#define PAMS_APPLICATION_ERROR_QUEUE 97
#define PAMS_MRS_SERVER 98
#define PAMS_AVAIL_SERVER 99
#define PAMS_SBS_SERVER 99
#define PAMS_DECLARE_SERVER 100
#define PAMS_CONNECT_SERVER 100
#define PAMS_QUEUE_SERVER 100
#define PAMS_TRANSPORT 100
#define PAMS_COM_SERVER 100
#define PAMS_DMQ_LOADER 150
#define PAMS_DCL_BY_Q_NAME 151
#define PAMS_TCPIP_LD 152
#define PAMS_DECNET_LD 153
#define PAMS_EVENT_LOGGER 155
#define PAMS_JRN_SERVER 156
#define PAMS_MRS_FAILOVER 157
#define PAMS_DMQ_FULLTEST_PQ 191
#define PAMS_DMQ_FULLTEST_SQ 192
#define PAMS_EXAMPLE_Q_1 193
#define PAMS_EXAMPLE_Q_2 194
#define PAMS_IVP_UNOWNED_SQ 195
#define PAMS_IVP_PRIVATE_MOT1 4999
#define PAMS_IVP_UNIVERSAL_MOT1 5001
/* */
/* */
/**/
#endif /* end P_PROCES_H */
/* "@(#) messageq/src/PORTABLE/pams/p_return.h $Revision: 1.1 $" */
/******************************************************************************/
/** **/
/** Copyright (c) 1997 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/*** MODULE P_RETURN_DEF IDENT V4.0-09 ***/
/**/
#ifndef _P_RETURN_H
#define _P_RETURN_H 1
/**/
/* */
/* */
#define PAMS_LAST_FAIL -382
#define PAMS_LAST_SUCCESS 45
#define PAMS__ABORT -82
#define PAMS__ACKTMO -16
#define PAMS__AREATOSMALL -124
#define PAMS__ATTACHED -360
#define PAMS__BADARGLIST -226
#define PAMS__BADASSIGN -84
#define PAMS__BADASTPARM -140
#define PAMS__BADCMD -258
#define PAMS__BADDECLARE -10
#define PAMS__BADDELIVERY -60
#define PAMS__BADFREE -12
#define PAMS__BADHANDLE -322
#define PAMS__BADINITFILE -282
#define PAMS__BADJOURNAL -178
#define PAMS__BADLOGIC -238
#define PAMS__BADMSGBUF -308
#define PAMS__BADNAME -254
#define PAMS__BADPARAM -186
#define PAMS__BADPRIORITY -58
#define PAMS__BADPROCNUM -62
#define PAMS__BADQTYPE -288
#define PAMS__BADRECEIVE -26
#define PAMS__BADRESPQ -224
#define PAMS__BADSCRIPT -102
#define PAMS__BADSELIDX -182
#define PAMS__BADSEQ -208
#define PAMS__BADSYNCHNUM -66
#define PAMS__BADTAG -248
#define PAMS__BADTBQHANDLE -250
#define PAMS__BADTIME -110
#define PAMS__BADTMPPROC -64
#define PAMS__BADTMPSYNCH -68
#define PAMS__BADUMA -222
#define PAMS__BIGBLKSIZE -24
#define PAMS__BIGMSG -120
#define PAMS__BOUND -350
#define PAMS__BUFFEROVF -174
#define PAMS__BUSNOTSET -290
#define PAMS__CANCEL -168
#define PAMS__CIRACT -78
#define PAMS__COMMERR -180
#define PAMS__CONFIRMREQ 37
#define PAMS__CONFLICT -298
#define PAMS__CREATEFAIL -134
#define PAMS__DCLTMPFAIL -136
#define PAMS__DECLARED -106
#define PAMS__DETACHED 41
#define PAMS__DISCL_FAILED -192
#define PAMS__DISCL_SUCCESS 13
#define PAMS__DISC_FAILED -190
#define PAMS__DISC_SUCCESS 11
#define PAMS__DLJ_FAILED -194
#define PAMS__DLJ_SUCCESS 15
#define PAMS__DLQ_FAILED -196
#define PAMS__DLQ_SUCCESS 17
#define PAMS__DNSCLASSBAD -310
#define PAMS__DNSDIRFAIL -312
#define PAMS__DNSFMTBAD -314
#define PAMS__DQF_DEVICE_FAIL -198
#define PAMS__DQF_FULL -202
#define PAMS__DUPLQNAME -244
#define PAMS__ENDOFSOURCE -362
#define PAMS__ENQUEUED 33
#define PAMS__EXCEEDQUOTA -56
#define PAMS__EXCMAXUNCONF -170
#define PAMS__EXHAUSTBLKS -108
#define PAMS__EXPIRED -296
#define PAMS__EX_Q_LEN -156
#define PAMS__FAILED -320
#define PAMS__FATAL -272
#define PAMS__FMLERROR -380
#define PAMS__GROUPNOTSET -292
#define PAMS__IDXTBLFULL -184
#define PAMS__INSQUEFAIL -132
#define PAMS__INTERNAL -262
#define PAMS__INVACCESS -252
#define PAMS__INVALIDID -36
#define PAMS__INVALIDNUM -52
#define PAMS__INVBUFFPTR -176
#define PAMS__INVFORMAT -50
#define PAMS__INVJH -204
#define PAMS__INVUCBCNTRL -74
#define PAMS__INVUMA -200
#define PAMS__JOURNAL_FAIL -286
#define PAMS__JOURNAL_FULL -284
#define PAMS__JOURNAL_ON 5
#define PAMS__LINK_DOWN -206
#define PAMS__LINK_UP 3
#define PAMS__LOCKED -364
#define PAMS__LOGNAME -90
#define PAMS__LOGNAME2 -92
#define PAMS__LOGNAME3 -94
#define PAMS__LOGNAME4 -96
#define PAMS__LOGNAME5 -98
#define PAMS__MRQTBLFULL -164
#define PAMS__MRS_RES_EXH -212
#define PAMS__MSG -366
#define PAMS__MSGACT -8
#define PAMS__MSGTOBIG -22
#define PAMS__MSGTOSMALL -122
#define PAMS__MSGUNDEL -18
#define PAMS__NAMETOOLONG -256
#define PAMS__NEED_BUFFER_PTR -378
#define PAMS__NETERROR -276
#define PAMS__NETLINKLOST -280
#define PAMS__NETNOLINK -278
#define PAMS__NOACCESS -302
#define PAMS__NOACL -300
#define PAMS__NOCANSEND -126
#define PAMS__NOLINK -76
#define PAMS__NOMEMORY -352
#define PAMS__NOMOREJH -214
#define PAMS__NOMOREMSG 7
#define PAMS__NOMORETAG -354
#define PAMS__NOMRQRESRC -242
#define PAMS__NOMRS -188
#define PAMS__NONEXT -368
#define PAMS__NOOBJECT -166
#define PAMS__NOOPEN -100
#define PAMS__NOPRIV -316
#define PAMS__NOQUOTA -264
#define PAMS__NOSEND -2
#define PAMS__NOSUCHPCJ -218
#define PAMS__NOSUCHTAG -324
#define PAMS__NOTACTIVE -54
#define PAMS__NOTALLOCATE -20
#define PAMS__NOTBOUND -328
#define PAMS__NOTDCL -70
#define PAMS__NOTFLD -376
#define PAMS__NOTJRN -210
#define PAMS__NOTMRQ -370
#define PAMS__NOTPRIMARYQ -266
#define PAMS__NOTSECONDARYQ -270
#define PAMS__NOTSUPPORTED -268
#define PAMS__NO_DQF -228
#define PAMS__NO_SAF -230
#define PAMS__NO_UMA 25
#define PAMS__NSACCESSERR -344
#define PAMS__NSBADATTR -342
#define PAMS__NSBADCLASS -334
#define PAMS__NSBADNAME -330
#define PAMS__NSBADPATH -332
#define PAMS__NSENTRYEXISTS -338
#define PAMS__NSNOTAVAIL -348
#define PAMS__NSUNKNOWNATTR -340
#define PAMS__NSUNKNOWNENTRY -336
#define PAMS__NSWRITERR -346
#define PAMS__OBJNOTACTIVE -172
#define PAMS__PAMSDOWN -138
#define PAMS__PNUMNOEXIST -54
#define PAMS__POSSDUPL -158
#define PAMS__PREVCALLBUSY -294
#define PAMS__PROPAGATE 39
#define PAMS__PROTOCOL -80
#define PAMS__QUECORRUPT -128
#define PAMS__RECOVERMODE 23
#define PAMS__REJECTED -216
#define PAMS__REMQUEFAIL -130
#define PAMS__RESPQREQ -260
#define PAMS__RESRCFAIL -246
#define PAMS__RTS_FAILED -232
#define PAMS__RTS_SUCCESS 19
#define PAMS__SAF_DEVICE_FAIL -234
#define PAMS__SAF_FAILED -236
#define PAMS__SAF_FORCED 43
#define PAMS__SAF_SUCCESS 21
#define PAMS__SELACTIVE -372
#define PAMS__SELRCVACT -240
#define PAMS__SENDER_TMO_EXPIRED -162
#define PAMS__STALE -304
#define PAMS__STATECHANGE -72
#define PAMS__STOPPED -358
#define PAMS__STORED 31
#define PAMS__STUB -160
#define PAMS__SUCCESS 1
#define PAMS__TIMEOUT -14
#define PAMS__TIMERACT -6
#define PAMS__TRACEBACK 29
#define PAMS__TRUNCATED 45
#define PAMS__UCBERROR -220
#define PAMS__UMA_NA 27
#define PAMS__UNATTACHEDQ 35
#define PAMS__UNBINDING -356
#define PAMS__WAKEFAIL -4
#define PAMS__WRONGDOS -274
/* */
/* */
/**/
#endif /* end P_RETURN_H */
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1998 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/* $RCSfile: p_symbol.h,v $, $Revision: 1.1 $, $Date: 2006-02-09 09:51:05 $ */
/* */
#ifndef _P_SYMBOL_H
#define _P_SYMBOL_H 1
/* */
/************************************************************************** */
/* Define the Selective Receive symbols */
/************************************************************************** */
/* */
#define PSEL_SOURCE -1
#define PSEL_CLASS -2
#define PSEL_TYPE -3
#define PSEL_CORRELATION_ID -4
#define PSEL_SEQUENCE_NUMBER -5
#define PSEL_PRI_P0 -6
#define PSEL_PRI_P1 -7
#define PSEL_PRI_ANY -8
/* */
/************************************************************************** */
/* Define the Select-by-Queue macros */
/************************************************************************** */
/* */
#define PSEL_BY_MASK -1
#define PSEL_PQ -2
#define PSEL_AQ -3
#define PSEL_PQ_AQ -4
#define PSEL_AQ_PQ -5
#define PSEL_PQ_TYPE -6
#define PSEL_PQ_CLASS -7
#define PSEL_UCB -9
#define PSEL_TQ_PQ -10
#define PSEL_TQ_PQ_AQ -11
#define PSEL_PQ_PRI -12
/* */
/************************************************************************** */
/* Define the Selective Operators */
/************************************************************************** */
/* */
#define PSEL_OPER_ANY 0
#define PSEL_OPER_EQ -1
#define PSEL_OPER_NEQ -2
#define PSEL_OPER_GTR -3
#define PSEL_OPER_LT -4
#define PSEL_OPER_GTRE -5
#define PSEL_OPER_LTE -6
/* */
/************************************************************************** */
/* Define the Selective Order */
/************************************************************************** */
/* */
#define PSEL_ORDER_FIFO 0
#define PSEL_ORDER_MIN -1
#define PSEL_ORDER_MAX -2
/* */
/************************************************************************** */
/* Define Delivery Mode symbols */
/************************************************************************** */
/* */
#define PDEL_MODE_WF_SAF 25
#define PDEL_MODE_WF_DQF 26
#define PDEL_MODE_WF_NET 27
#define PDEL_MODE_WF_RCM 28
#define PDEL_MODE_WF_MEM 29
#define PDEL_MODE_AK_SAF 30
#define PDEL_MODE_AK_DQF 31
#define PDEL_MODE_AK_NET 32
#define PDEL_MODE_AK_RCM 33
#define PDEL_MODE_AK_MEM 34
#define PDEL_MODE_NN_SAF 35
#define PDEL_MODE_NN_DQF 36
#define PDEL_MODE_NN_NET 37
#define PDEL_MODE_NN_RCM 38
#define PDEL_MODE_NN_MEM 39
#define PDEL_MODE_WF_DEQ 40
#define PDEL_MODE_AK_DEQ 41
#define PDEL_MODE_WF_CONF 42
#define PDEL_MODE_AK_CONF 43
#define PDEL_MODE_WF_ACK 44
#define PDEL_MODE_AK_ACK 45
/* */
/************************************************************************** */
/* Define Undeliverable Message Action symbols */
/************************************************************************** */
/* */
#define PDEL_UMA_RTS 1
#define PDEL_UMA_DLJ 2
#define PDEL_UMA_DLQ 3
#define PDEL_UMA_SAF 4
#define PDEL_UMA_DISC 5
#define PDEL_UMA_DISCL 6
/* */
/************************************************************************** */
/* Define PAMS_CONFIRM_MSG force journal symbols */
/************************************************************************** */
/* */
#define PDEL_DEFAULT_JRN 0
#define PDEL_FORCE_JRN 1
#define PDEL_NO_JRN 2
/* */
/************************************************************************** */
/* Define PAMS_LOCATE_Q symbols */
/************************************************************************** */
/* */
#define PSEL_TBL_PROC -50
#define PSEL_TBL_GRP -51
#define PSEL_TBL_DNS_CACHE -52
#define PSEL_TBL_BUS -52
#define PSEL_TBL_DNS_LOW -53
#define PSEL_TBL_BUS_LOW -53
#define PSEL_TBL_DNS_MED -54
#define PSEL_TBL_BUS_MED -54
#define PSEL_TBL_DNS_HIGH -55
#define PSEL_TBL_BUS_HIGH -55
#define PSYM_WF_RESP -70
#define PSYM_AK_RESP -71
/* */
/************************************************************************** */
/* Define PAMS_ATTACH_Q symbols */
/************************************************************************** */
/* */
#define PSYM_ATTACH_PQ -200
#define PSYM_ATTACH_SQ -201
#define PSYM_ATTACH_MRQ -207
#define PSYM_ATTACH_BY_NAME -210
#define PSYM_ATTACH_BY_NUMBER -211
#define PSYM_ATTACH_TEMPORARY -212
/* */
/************************************************************************** */
/* Define PAMS_DCL_PROCESS symbols */
/************************************************************************** */
/* */
#define PSYM_DCL_PQ -200
#define PSYM_DCL_SQ -201
#define PSYM_SCOPE_LOCAL -202
#define PSYM_SCOPE_GLOBAL -203
/* */
/************************************************************************** */
/* Define PAMS_WAKE symbols */
/************************************************************************** */
/* */
#define PSYM_IGNORE -230
#define PSYM_SET_UCB_PRI_P0 -231
#define PSYM_SET_UCB_PRI_P1 -232
#define PSYM_SET_UCB_A -240
#define PSYM_SET_UCB_B -241
#define PSYM_SET_UCB_C -242
#define PSYM_SET_UCB_D -243
#define PSYM_SET_UCB_E -244
#define PSYM_SET_UCB_F -245
#define PSYM_SET_UCB_G -246
#define PSYM_SET_UCB_H -247
#define PSYM_SET_UCB_I -248
#define PSYM_SET_UCB_J -249
/* */
/************************************************************************** */
/* Define Data Representation symbols */
/************************************************************************** */
/* */
#define PSYM_LITTLE_ENDIAN 0
#define PSYM_VAX_BYTE_ORDER 0
#define PSYM_BIG_ENDIAN 1
#define PSYM_NETWORK_BYTE_ORDER 1
#define PSYM_ASN1 2
#define PSYM_SDM 2
#define PSYM_UNKNOWN 3
#define PSYM_FML 4
/* */
/************************************************************************** */
/* Define LINK MANAGEMENT symbols */
/************************************************************************** */
/* */
/* */
/* Define platform IDs */
/* */
#define PSYM_PLATFORM_VMS_VAX 0
#define PSYM_PLATFORM_ULTRIX_VAX 1
#define PSYM_PLATFORM_ULTRIX_MIPS 2
#define PSYM_PLATFORM_HPUX_HPPA 3
#define PSYM_PLATFORM_SYSV_M88K 4
#define PSYM_PLATFORM_SUNOS_SPARC 5
#define PSYM_PLATFORM_AIX_RS6000 6
#define PSYM_PLATFORM_OS2_X86 7
#define PSYM_PLATFORM_MSDOS_X86 8
#define PSYM_PLATFORM_LINUX 9
#define PSYM_PLATFORM_ELN_VAX 10
#define PSYM_PLATFORM_MACINTOSH_M68K 11
#define PSYM_PLATFORM_SCO_X86 12
#define PSYM_PLATFORM_SYSV_M68K 13
#define PSYM_PLATFORM_VMS_AXP 14
#define PSYM_PLATFORM_UNIX 15
#define PSYM_PLATFORM_NT_X86 16
#define PSYM_PLATFORM_OSF1_AXP 17
#define PSYM_PLATFORM_SOLARIS_SPARC 18
#define PSYM_PLATFORM_NT_AXP 19
#define PSYM_PLATFORM_NT_POWERPC 20
#define PSYM_PLATFORM_OSF1_RS6000 21
#define PSYM_PLATFORM_OSF1_HPPA 22
#define PSYM_PLATFORM_SOLARIS_X86 23
#define PSYM_PLATFORM_MACINTOSH_POWERPC 24
#define PSYM_PLATFORM_OS2_POWERPC 25
#define PSYM_PLATFORM_HPUX_M68K 26
#define PSYM_PLATFORM_IRIX_MIPS 27
#define PSYM_PLATFORM_SYSV_X86 28
#define PSYM_PLATFORM_DYNIX_X86 29
#define PSYM_PLATFORM_UNKNOWN 99
/* */
/* Define reconnect timer values */
/* */
#define PSYM_LINKMGT_USE_PREVIOUS -1
#define PSYM_LINKMGT_NO_TIMER 0
#define PSYM_LINKMGT_MAX_NODE_LEN 255
#define PSYM_LINKMGT_MAX_TRNSPRT_LEN 16
#define PSYM_LINKMGT_REQ_VERS 10
#define PSYM_LINKMGT_RESP_VERS 10
/* */
/* Define group number values */
/* */
#define PSYM_LINKMGT_ALL_GROUPS -1
/* */
/* success status codes */
/* */
#define PSYM_LINKMGT_SUCCESS 1
/* */
/* error status codes */
/* */
#define PSYM_LINKMGT_MSGFMT -2
#define PSYM_LINKMGT_MSGCONTENT -4
#define PSYM_LINKMGT_ALREADYUP -6
#define PSYM_LINKMGT_NOPRIV -8
#define PSYM_LINKMGT_NOGROUP -10
#define PSYM_LINKMGT_NOTSUPPORTED -12
#define PSYM_LINKMGT_NOTRANSPORT -14
#define PSYM_LINKMGT_OPERATIONFAIL -16
/* */
/* Command codes */
/* */
#define PSYM_LINKMGT_CMD_INQUIRY 101
#define PSYM_LINKMGT_CMD_CONNECT 102
#define PSYM_LINKMGT_CMD_DISCONNECT 103
#define PSYM_LINKMGT_CMD_ENABLE 104
#define PSYM_LINKMGT_CMD_DISABLE 105
/* */
/* Transport type codes */
/* */
#define PSYM_LINKMGT_LOCAL 201
#define PSYM_LINKMGT_DECNET 202
#define PSYM_LINKMGT_TCPIP 203
#define PSYM_LINKMGT_ALL_TRANSPORTS 204
/* */
/* Link state codes */
/* */
#define PSYM_LINKMGT_UNKNOWN 301
#define PSYM_LINKMGT_NOCNT 302
#define PSYM_LINKMGT_CONNECTED 303
#define PSYM_LINKMGT_DISABLED 304
/* */
/************************************************************************** */
/* Define the LIST_ALL_GROUPS & LIST_ALL_CONNECTIONS OS Types */
/************************************************************************** */
/* */
#define PSYM_OS_TYPE_AIX 'I'
#define PSYM_OS_TYPE_VAXELN 'E'
#define PSYM_OS_TYPE_MACINTOSH 'A'
#define PSYM_OS_TYPE_HPUX 'H'
#define PSYM_OS_TYPE_IRIX 'G'
#define PSYM_OS_TYPE_DYNIX 'd'
#define PSYM_OS_TYPE_MSDOS 'D'
#define PSYM_OS_TYPE_NT 'N'
#define PSYM_OS_TYPE_OS2 'O'
#define PSYM_OS_TYPE_OSF1 '1'
#define PSYM_OS_TYPE_LINUX 'M'
#define PSYM_OS_TYPE_SCO 'C'
#define PSYM_OS_TYPE_SOLARIS 'L'
#define PSYM_OS_TYPE_SUNOS 'S'
#define PSYM_OS_TYPE_SYSV '5'
#define PSYM_OS_TYPE_ULTRIX_VAX 'X'
#define PSYM_OS_TYPE_ULTRIX_MIPS 'Y'
#define PSYM_OS_TYPE_UNIX 'U'
#define PSYM_OS_TYPE_VMS 'V'
#define PSYM_OS_TYPE_UNKNOWN '*'
/* */
/************************************************************************** */
/* Define the Queue Type symbols */
/************************************************************************** */
/* */
#define PSYM_QTYPE_PQ 1
#define PSYM_QTYPE_SQ 2
#define PSYM_QTYPE_MRQ 3
#define PSYM_QTYPE_UCB 4
/* */
/************************************************************************** */
/* define PAMS_DETACH_Q symbols */
/************************************************************************** */
/* */
#define PSYM_NOFLUSH_Q 1
#define PSYM_DETACH_ALL 2
#define PSYM_CANCEL_SEL_MASK 3
/* */
/************************************************************************** */
/* Define status return symbols for que notify services. */
/************************************************************************** */
/* */
#define PSYM_QNOT_SUCCESS 1
#define PSYM_QNOT_FAIL 0
#define PSYM_QNOT_BADPARAM -2
/* */
/************************************************************************** */
/* Define symbols special to SBS */
/************************************************************************** */
/* */
#define PSEL_SBS_MAX_SEL_RULES 256
#define PSEL_SBSE_MAX_RULES 10
/* */
#define PSYM_SBS_RAIL_A 0
#define PSYM_SBS_RAIL_B 1
/* */
#define PSYM_SBS_SUCCESS 1
#define PSYM_SBS_BADPARAM 20
#define PSYM_SBS_RESRCFAIL 292
#define PSYM_SBS_NOMATCH 1012
/* */
/* */
#define PSEL_ALL_RULES 1
#define PSEL_ANY_RULE 2
#define PSEL_OPER_AND 7
/* */
/************************************************************************** */
/* Define symbols for SDM tags */
/************************************************************************** */
/* */
#define PSDM_NULL_TAG -2146435073
#define PSDM_BOOLEAN -2130706432
#define PSDM_INT8 -1996488704
#define PSDM_UINT8 -1862270976
#define PSDM_CHAR -1728053248
#define PSDM_INT16 -2113929216
#define PSDM_UINT16 -1979711488
#define PSDM_INT32 -2080374784
#define PSDM_UINT32 -1946157056
#define PSDM_TIME -1811939328
#define PSDM_FLOAT -2097152000
#define PSDM_QID -1962934272
#define PSDM_INT64 -2063597568
#define PSDM_UINT64 -1929379840
#define PSDM_DOUBLE -1795162112
#define PSDM_STRING -2013265920
#define PSDM_OCTET -1879048192
#define PSDM_ARRAY 1073741824
#define PSDM_FIRST 1
#define PSDM_LAST 2
#define PSDM_ANY 4
#define PSDM_PREVIOUS 1024
#define PSDM_NEXT 2048
#define PSDM_BEFORE 4096
#define PSDM_AFTER 8192
#define PSDM_AT 16384
/* */
/************************************************************************** */
/* Define symbols for large, FML, doubly-reference, and handled messages */
/************************************************************************** */
/* */
#define PSYM_MSG_HANDLE -1
#define PSYM_MSG_LARGE -2
#define PSYM_MSG_FML -3
#define PSYM_MSG_BUFFER_PTR -4
/* */
/************************************************************************** */
/* Symbols for psb flags field indicating what psb data is valid */
/************************************************************************** */
/* */
#define PSYM_SHOW_VERSION (1 << 0)
#define PSYM_SHOW_STATUS (1 << 1)
#define PSYM_SHOW_SIZE (1 << 2)
#define PSYM_SHOW_FLAGS (1 << 3)
#define PSYM_SHOW_URCODE (1 << 5)
#define PSYM_SHOW_TARGET (1 << 10)
#define PSYM_SHOW_ORIGINAL_TARGET (1 << 11)
#define PSYM_SHOW_SOURCE (1 << 12)
#define PSYM_SHOW_ORIGINAL_SOURCE (1 << 13)
#define PSYM_SHOW_DELIVERY (1 << 14)
#define PSYM_SHOW_PRIORITY (1 << 15)
#define PSYM_SHOW_ENDIAN (1 << 16)
#define PSYM_SHOW_CORRELATION_ID (1 << 17)
/* */
/************************************************************************** */
/* NOTE: The following symbols are OBSOLETE and may be removed at any time */
/************************************************************************** */
/************************************************************************** */
/* OBSOLETE non-MRS Delivery Mode symbols */
/************************************************************************** */
/* */
#define PDEL_MODE_DG_LOG 0
#define PDEL_MODE_DG 1
#define PDEL_MODE_RTS 10
#define PDEL_MODE_WFQ 20
/* */
/************************************************************************** */
/* OBSOLETE platform IDs */
/************************************************************************** */
/* */
#define PSYM_PLATFORM_VAX_VMS 0
#define PSYM_PLATFORM_VAX_ULTRIX 1
#define PSYM_PLATFORM_RISC_ULTRIX 2
#define PSYM_PLATFORM_HP9000_HPUX 3
#define PSYM_PLATFORM_MOTOROLA_VR32 4
#define PSYM_PLATFORM_SPARC_SUNOS 5
#define PSYM_PLATFORM_IBM_RS6000_AIX 6
#define PSYM_PLATFORM_OS2 7
#define PSYM_PLATFORM_MSDOS 8
#define PSYM_PLATFORM_RSX_PDP11 9
#define PSYM_PLATFORM_PDP11_RSX 9
#define PSYM_PLATFORM_VAXELN 10
#define PSYM_PLATFORM_MACINTOSH 11
#define PSYM_PLATFORM_SCO_UNIX 12
#define PSYM_PLATFORM_M68K 13
#define PSYM_PLATFORM_WINDOWSNT 16
/* */
/************************************************************************** */
/* OBSOLETE platform IDs */
/************************************************************************** */
/* */
#define PSYM_OS_TYPE_RSX 'M'
/* */
/************************************************************************** */
/* OBSOLETE MRS recovery mode */
/************************************************************************** */
/* */
#define PDEL_MODE_ST_RECOVER 22
/* */
/************************************************************************** */
/* OBSOLETE name space list */
/************************************************************************** */
/* */
#define PSEL_TBL_QMA -56
/* */
/* --------------- End of PAMS symbol file ------------------------------ */
/* */
#endif
/**/
/******************************************************************************/
/** **/
/** Copyright (c) 1998 **/
/** by BEA Systems, Inc. All rights reserved. **/
/** **/
/** Unpublished rights reserved under the copyright laws of the **/
/** United States. **/
/** **/
/** The software contained on this media is proprietary to and **/
/** embodies the confidential technology of BEA Systems, Inc. **/
/** The possession, use, duplication or dissemination of the **/
/** software and media is authorized only pursuant to a valid **/
/** written license from BEA Systems, Inc. **/
/** **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by **/
/** the U.S. Government is subject to restrictions as set forth **/
/** in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR **/
/** 52.227-19, as applicable. **/
/** **/
/******************************************************************************/
/*** MODULE PAMS_C_TYPE_CLASS IDENT V5.0-01 ***/
/**/
#ifndef _P_TYPECL_H
#define _P_TYPECL_H 1
/**/
/* */
/* */
/* */
/*********************************************************************** */
/* Function: ** */
/* This include file defines all the message definitions ** */
/* used within the MessageQ system. ** */
/* ** */
/* NOTE: ** */
/* The following are reserved to BEA: ** */
/* ** */
/* Msg Classes: 28, 29, 62 & 30,000 thru 32,767 ** */
/* Msg Types: -1 thru -5,000 ** */
/*********************************************************************** */
/* */
/* */
/* */
/*********************************************************************** */
/* */
/* MRS message CLASS and TYPE codes */
/* */
/*********************************************************************** */
/* */
/* */
/* define MRS class ** */
#define MSG_CLAS_MRS 28
/* */
#define MSG_TYPE_MRS_ACK -801
#define MSG_TYPE_MRS_DQF_SET -704
#define MSG_TYPE_MRS_DQF_SET_REP -705
#define MSG_TYPE_MRS_DQF_TRANSFER -700
#define MSG_TYPE_MRS_DQF_TRANSFER_ACK -701
#define MSG_TYPE_MRS_DQF_TRANSFER_REP -702
#define MSG_TYPE_MRS_JRN_DISABLE -871
#define MSG_TYPE_MRS_JRN_DISABLE_REP -872
#define MSG_TYPE_MRS_JRN_ENABLE -873
#define MSG_TYPE_MRS_JRN_ENABLE_REP -874
#define MSG_TYPE_MRS_SAF_SET -706
#define MSG_TYPE_MRS_SAF_SET_REP -707
#define MSG_TYPE_MRS_SAF_TRANSFER -805
#define MSG_TYPE_MRS_SAF_TRANSFER_ACK -806
#define MSG_TYPE_MRS_SAF_TRANSFER_REP -807
#define MSG_TYPE_MRS_SET_PCJ -880
#define MSG_TYPE_MRS_SET_PCJ_REP -881
#define MSG_TYPE_MRS_SET_DLJ -882
#define MSG_TYPE_MRS_SET_DLJ_REP -883
/* */
/* */
/*********************************************************************** */
/* */
/* AVAIL message TYPE codes */
/* */
/*********************************************************************** */
/* */
/* */
#define MSG_TYPE_AVAIL_REG -1180
#define MSG_TYPE_AVAIL_DEREG -1181
#define MSG_TYPE_AVAIL_REG_REPLY -1182
#define MSG_TYPE_AVAIL -1183
#define MSG_TYPE_UNAVAIL -1184
/* */
/* */
/*********************************************************************** */
/* */
/* SBS message TYPE codes SBS message CLASS = 29 */
/* */
/*********************************************************************** */
/* */
/* V3.2 and prior API */
#define MSG_TYPE_SBS_DEREG -1174
#define MSG_TYPE_SBS_DEREG_ACK -1155
#define MSG_TYPE_SBS_DEREG_BY_ID -1154
#define MSG_TYPE_SBS_REG -1150
#define MSG_TYPE_SBS_REG_EZ_REPLY -1153
#define MSG_TYPE_SBS_REG_EZ -1173
#define MSG_TYPE_SBS_REG_REPLY -1152
#define MSG_TYPE_SBS_BS_SEQGAP -1166
/* Extended API */
#define MSG_TYPE_SBS_REGISTER_REQ -1196
#define MSG_TYPE_SBS_REGISTER_RESP -1197
#define MSG_TYPE_SBS_DEREGISTER_REQ -1170
#define MSG_TYPE_SBS_DEREGISTER_RESP -1172
#define MSG_TYPE_SBS_STATUS_REQ -1177
#define MSG_TYPE_SBS_STATUS_RESP -1178
#define MSG_TYPE_SBS_SEQUENCE_GAP -1199
/* */
/* */
/*********************************************************************** */
/* */
/* PAMS message CLASS and TYPE codes */
/* */
/*********************************************************************** */
/* */
/* */
/* define PAMS class ** */
#define MSG_CLAS_PAMS 29
/* */
/* */
#define MSG_TYPE_DISABLE_NOTIFY -991
#define MSG_TYPE_DISABLE_Q_NOTIFY_REQ -964
#define MSG_TYPE_DISABLE_Q_NOTIFY_RESP -965
#define MSG_TYPE_ENABLE_NOTIFY -990
#define MSG_TYPE_ENABLE_Q_NOTIFY_REQ -962
#define MSG_TYPE_ENABLE_Q_NOTIFY_RESP -963
#define MSG_TYPE_LINKMGT_REQ -975
#define MSG_TYPE_LINKMGT_RESP -976
#define MSG_TYPE_LINK_COMPLETE -999
#define MSG_TYPE_LINK_LOST -998
/* same as MSG_TYPE_LINK_LOST */
#define MSG_TYPE_LINK_LOSS -998
#define MSG_TYPE_LIST_ALL_CONNECTIONS -996
#define MSG_TYPE_LIST_ALL_ENTRIES -995
/* same as LIST_ALL_ENTRIES */
#define MSG_TYPE_LIST_ALL_ENTRYS -995
#define MSG_TYPE_LIST_ALL_GROUPS -997
#define MSG_TYPE_LIST_ALL_Q_REQ -960
#define MSG_TYPE_LIST_ALL_Q_RESP -961
#define MSG_TYPE_LOCATE_Q_REP -972
#define MSG_TYPE_Q_UPDATE -966
#define MSG_TYPE_TIMER_EXPIRED -900
#define MSG_TYPE_UNDECLARE_SQ -981
/* */
/* */
/*********************************************************************** */
/* */
/* DEFINE LU62 type codes for LU6.2 UCB */
/* */
/*********************************************************************** */
/* */
/* define LU6.2 class */
#define MSG_CLAS_APPC 62
/* */
#define MSG_TYPE_LU62_INIT -6200
#define MSG_TYPE_LU62_DEFINE_LU -6201
#define MSG_TYPE_LU62_ALLOCATE -6202
#define MSG_TYPE_LU62_SEND_DATA -6203
#define MSG_TYPE_LU62_REQ_CONFIRM -6204
#define MSG_TYPE_LU62_SEND_CONFIRM -6205
#define MSG_TYPE_LU62_CONFIRM_RECV -6206
#define MSG_TYPE_LU62_DEALLOCATE -6207
#define MSG_TYPE_LU62_SEND_ERROR -6208
#define MSG_TYPE_LU62_DELETE_LU -6209
#define MSG_TYPE_LU62_RECV_DATA -6210
#define MSG_TYPE_LU62_CONFIRM_REQ -6211
#define MSG_TYPE_LU62_CONFIRM_SEND -6212
#define MSG_TYPE_LU62_CONFIRMED -6213
#define MSG_TYPE_LU62_ERROR -6214
#define MSG_TYPE_LU62_DEALLOCATED -6215
/* */
/*********************************************************************** */
/* */
/* The following message types are for 2.1 functionality */
/* */
/*********************************************************************** */
/* */
#define MSG_TYPE_LU62_REQ_SEND -6220
#define MSG_TYPE_LU62_CONNECTED -6221
#define MSG_TYPE_LU62_DEFINE_TP -6222
#define MSG_TYPE_LU62_ACTIVATE -6223
#define MSG_TYPE_LU62_OK_SEND -6224
#define MSG_TYPE_LU62_FLUSH -6225
/* */
/*********************************************************************** */
/* */
/* The following message types are for the Generic Port Server */
/* */
/*********************************************************************** */
/* */
/* */
#define MSG_TYPE_REGISTER_TARGET -6280
#define MSG_TYPE_CONNECT_REQUEST -6281
#define MSG_TYPE_CONNECT_ACCEPT -6282
#define MSG_TYPE_CONNECT_REJECT -6283
#define MSG_TYPE_CONNECTION_TERMINATED -6284
#define MSG_TYPE_CHANGE_DIRECTION -6285
#define MSG_TYPE_DATA_MESSAGE -6286
#define MSG_TYPE_LOG_EVENT -6287
#define MSG_TYPE_LU62_ADD_LU -6288
#define MSG_TYPE_LU62_ADD_TARGET -6289
#define MSG_TYPE_LU62_REPORT_STATUS -6290
#define MSG_TYPE_LU62_SHUTDOWN -6299
/* */
/*********************************************************************** */
/* */
/* ETHERNET Class and Type codes (1000-1010) */
/* */
/*********************************************************************** */
/* */
#define MSG_CLAS_ETHERNET 100
/* */
#define MSG_TYPE_E_CONNECT -1000
#define MSG_TYPE_E_DISCONNECT -1001
#define MSG_TYPE_E_INITIALIZE -1002
#define MSG_TYPE_E_CONNECT_COMPLETE -1003
#define MSG_TYPE_E_CONNECT_REJECTED -1004
#define MSG_TYPE_E_PARTNER_DISC -1005
#define MSG_TYPE_E_IO_ERROR -1006
#define MSG_TYPE_E_PROTOCOL_ERROR -1007
#define MSG_TYPE_E_LISTEN_TIMEOUT -1008
#define MSG_TYPE_E_MESSAGES_LOST -1009
#define MSG_TYPE_E_RUNTIME_ERROR -1010
/* */
/*********************************************************************** */
/* */
/* Generic UCB Types and Classes */
/* */
/*********************************************************************** */
/* */
#define MSG_CLAS_UCB 102
/* */
#define MSG_TYPE_UCB_CONNECT -1200
#define MSG_TYPE_UCB_DISCONNECT -1201
#define MSG_TYPE_UCB_INITIALIZE -1202
#define MSG_TYPE_UCB_CONNECT_COMPLETE -1203
#define MSG_TYPE_UCB_PARTNER_DISC -1204
#define MSG_TYPE_UCB_MESSAGES_LOST -1205
#define MSG_TYPE_UCB_IO_ERROR -1206
#define MSG_TYPE_UCB_RCV_DATA -1207
/* */
/*********************************************************************** */
/* */
/* ADM message CLASS and TYPE codes */
/* */
/*********************************************************************** */
/* */
/* define ADM class ** */
#define MSG_CLAS_ADM 31000
/* */
/*********************************************************************** */
/* */
/* TUXEDO message CLASS and TYPE codes */
/* */
/*********************************************************************** */
/* */
/* define TUXEDO class ** */
#define MSG_CLAS_TUXEDO 31001
#define MSG_CLAS_TUXEDO_TPFAIL 31002
#define MSG_CLAS_TUXEDO_TPSUCCESS 31003
/* */
/*********************************************************************** */
/* */
/* QMB message CLASS and TYPE codes */
/* */
/*********************************************************************** */
/* */
/* define QMB class ** */
#define MSG_CLAS_QMB 32000
#define MSG_CLAS_QMB_REPLY_CANCEL 31999
/* */
#define MSG_TYPE_DUMP_QTABLES -5002
#define MSG_TYPE_PURGE_CI -5004
#define MSG_TYPE_PURGE_CI_ALL -5005
#define MSG_TYPE_NEW_LOG -5006
#define MSG_TYPE_LOAD_CONFIG -5007
#define MSG_TYPE_RSQ_REGISTER -5008
#define MSG_TYPE_DATAGRAM -5009
#define MSG_TYPE_REQUEST -5010
#define MSG_TYPE_REPLY -5011
#define MSG_TYPE_RTS_ERROR -5012
#define MSG_TYPE_EVENT_LOG -5013
#define MSG_TYPE_TRACE_LOG -5014
#define MSG_TYPE_QMB_TERMINATE -5099
/* */
/******************* End of P_TYPECL *********************************** */
/**/
#endif /* end P_TYPECL_H */
/*
* Proview $Id: rs_remote_mq.c,v 1.1 2006-02-09 09:51:05 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the program, if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*************************************************************************
* ===============
* P r o v i e w
* ===============
**************************************************************************
*
* Filename: rs_remote_mq.c
*
* Description: Remote transport process for BEA Message Queue as a client
* For further information, please refer to BEA Message Queue
* documentation.
*
* Change log: 2005-11-24, Claes Jurstrand
* First version introduced in 4.0.1-1
*
*
**************************************************************************
**************************************************************************/
/*_Include files_________________________________________________________*/
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include "pwr_class.h"
#include "pwr_systemclasses.h"
#include "rt_gdh.h"
#include "co_cdh.h"
#include "rt_errh.h"
#include "pwr_baseclasses.h"
#include "pwr_remoteclasses.h"
#include "rt_pwr_msg.h"
#include "rt_aproc.h"
#include "remote.h"
#include "remote_remtrans_utils.h"
// Message Q include files
#include <p_entry.h> /* PAMS function declarations */
#include <p_proces.h> /* Known Queue number definitions */
#include <p_group.h> /* Known Group ID definitions */
#include <p_typecl.h> /* Generic Type/Class definitions */
#include <p_return.h> /* PAMS return status definitions */
#include <p_symbol.h> /* Generic PSEL/PSYM definitions */
#define TIME_INCR 0.02
#define debug 0
remnode_item rn;
pwr_sClass_RemnodeMQ *rn_mq;
/*************************************************************************
**************************************************************************
*
* RemoteSleep
*
**************************************************************************
**************************************************************************/
void RemoteSleep(float time)
{
struct timespec rqtp, rmtp;
rqtp.tv_sec = 0;
rqtp.tv_nsec = (long int) (time * 1000000000);
nanosleep(&rqtp, &rmtp);
return;
}
/*************************************************************************
**************************************************************************
*
* Namn : bmq_receive
*
* Typ : unsigned int
*
* Typ Parameter IOGF Beskrivning
*
* Beskrivning : Invoked when a MQ message is received.
*
**************************************************************************
**************************************************************************/
unsigned int bmq_receive()
{
char buf[16384];
char prio;
q_address source;
int16 class, type, len, len_data;
struct PSB psb;
unsigned int sts;
int32 mq_sts;
char receive_force_j = PDEL_DEFAULT_JRN;
char search_remtrans;
remtrans_item *remtrans;
len = sizeof( buf );
sts = pams_get_msg((char *) &buf,
&prio,
&source,
&class,
&type,
&len,
&len_data,
NULL,
&psb,
NULL,
NULL,
NULL,
NULL,
NULL);
if (sts == PAMS__SUCCESS) {
if (debug) printf("Received message %d\n", len_data);
search_remtrans = true;
remtrans = rn.remtrans;
while(remtrans && search_remtrans) {
if (remtrans->objp->Address[0] == class &&
remtrans->objp->Address[1] == type &&
remtrans->objp->Direction == REMTRANS_IN) {
search_remtrans = false;
sts = RemTrans_Receive(remtrans, (char *) &buf, len_data);
if (sts != STATUS_OK && sts != STATUS_BUFF)
errh_Error("Error from RemTrans_Receive, queue %d, status %d", rn_mq->MyQueue, sts, 0);
break;
}
remtrans = (remtrans_item *) remtrans->next;
}
if (search_remtrans) {
rn_mq->ErrCount++;
errh_Info("No remtrans for received message, queue %d, class %d, type %d", rn_mq->MyQueue, class, type, 0);
}
if (psb.del_psb_status == PAMS__CONFIRMREQ ||
psb.del_psb_status == PAMS__POSSDUPL)
pams_confirm_msg(psb.seq_number, &mq_sts, &receive_force_j);
}
else {
if (sts != PAMS__NOMOREMSG) {
rn_mq->ErrCount++;
errh_Error("Receive failed, queue %d, MQ status %d", rn_mq->MyQueue, sts, 0);
}
}
return(sts);
}
/*************************************************************************
**************************************************************************
*
* Namn : bmq_send
*
* Typ : unsigned int
*
* Typ Parameter IOGF Beskrivning
*
* Beskrivning : Sends a MQ message to Remote node
*
**************************************************************************
**************************************************************************/
unsigned int bmq_send(remnode_item *remnode,
pwr_sClass_RemTrans *remtrans,
char *buf,
int buf_size)
{
int32 mq_sts;
char put_prio = 0;
q_address dest;
short class;
short type;
short msg_size;
int32 timeout = 10;
struct PSB put_psb;
// Default delivery mode is WF_MEM & DISC, no recovery
char delivery = PDEL_MODE_WF_MEM;
char put_uma = PDEL_UMA_DISC;
// Set destination group and queue
dest.au.group = rn_mq->TargetGroup;
dest.au.queue = rn_mq->TargetQueue;
class = remtrans->Address[0];
type = remtrans->Address[1];
if (remtrans->Address[2] != 0) delivery = remtrans->Address[2];
if (remtrans->Address[3] != 0) put_uma = remtrans->Address[3];
msg_size = buf_size;
mq_sts = pams_put_msg(buf,
&put_prio,
&dest,
&class,
&type,
&delivery,
&msg_size,
&timeout,
&put_psb,
&put_uma,
NULL, NULL, NULL, NULL);
if (mq_sts != PAMS__SUCCESS) {
remtrans->ErrCount++;
errh_Error("Send failed, queue %d, MQ status %d", rn_mq->MyQueue, mq_sts, 0);
}
if (debug) printf("Sent message %d\n", (int) mq_sts);
return( STATUS_OK );
}
/*************************************************************************
**************************************************************************
*
* Main
*
**************************************************************************
**************************************************************************/
int main(int argc, char *argv[])
{
remtrans_item *remtrans;
unsigned char id[32];
unsigned char pname[32];
pwr_tStatus sts;
int i;
float time_since_scan = 0.0;
q_address mq_queue_no;
int32 mq_attach_mode;
int32 mq_queue_type = PSYM_ATTACH_PQ;
char queue_name[16];
int32 queue_name_len;
/* Read arg number 2, should be id for this instance and id is our queue number */
if (argc >= 2)
strcpy(id, argv[1]);
else
strcpy(id, "0");
/* Build process name with id */
sprintf((char *) pname, "rs_remmq_%s", id);
/* Init of errh */
errh_Init((char *) pname, errh_eAnix_remote);
errh_SetStatus(PWR__SRVSTARTUP);
/* Init of gdh */
if (debug) printf("Before gdh_init\n");
sts = gdh_Init((char *) pname);
if ( EVEN(sts)) {
errh_Fatal("gdh_Init, %m", sts);
errh_SetStatus(PWR__SRVTERM);
exit(sts);
}
/* Arg number 3 should be my remnodes objid in string representation,
read it, convert to real objid and store in remnode_item */
sts = 0;
if (argc >= 3) sts = cdh_StringToObjid(argv[2], &rn.objid);
if ( EVEN(sts)) {
errh_Fatal("cdh_StringToObjid, %m", sts);
errh_SetStatus(PWR__SRVTERM);
exit(sts);
}
/* Get pointer to RemnodeMQ object and store locally */
sts = gdh_ObjidToPointer(rn.objid, (pwr_tAddress *) &rn_mq);
if ( EVEN(sts)) {
errh_Fatal("cdh_ObjidToPointer, %m", sts);
errh_SetStatus(PWR__SRVTERM);
exit(sts);
}
/* Initialize some internal data and make standard remtrans init */
rn.next = NULL;
rn.local = NULL; // We dont use local structure since we only have one remnode
rn_mq->ErrCount = 0;
if (debug) printf("Before remtrans_init\n");
sts = RemTrans_Init(&rn);
if ( EVEN(sts)) {
errh_Fatal("RemTrans_Init, %m", sts);
errh_SetStatus(PWR__SRVTERM);
exit(sts);
}
/* Store remtrans objects objid in remnode_mq object */
remtrans = rn.remtrans;
i = 0;
while(remtrans) {
rn_mq->RemTransObjects[i++] = remtrans->objid;
if ( i >= (int)(sizeof(rn_mq->RemTransObjects)/sizeof(rn_mq->RemTransObjects[0])))
break;
remtrans = (remtrans_item *) remtrans->next;
}
/* Attach to Queue */
mq_attach_mode = PSYM_ATTACH_TEMPORARY;
queue_name[0] = 0;
queue_name_len = 0;
if (rn_mq->MyQueue > 0) {
mq_attach_mode = PSYM_ATTACH_BY_NUMBER;
sprintf( queue_name, "%d", rn_mq->MyQueue );
queue_name_len = strlen( queue_name );
}
sts = pams_attach_q(&mq_attach_mode,
&mq_queue_no,
&mq_queue_type,
(char *) &queue_name,
&queue_name_len,
(int32 *) 0,
(int32 *) 0,
NULL,
NULL,
NULL);
if (sts != PAMS__SUCCESS) {
errh_Fatal("pams_attach_q, %d", sts);
errh_SetStatus(PWR__SRVTERM);
exit(sts);
}
rn_mq->MyQueue = ( pwr_tInt32 ) mq_queue_no.au.queue;
/* Set running status */
errh_SetStatus(PWR__SRUN);
/* Set (re)start time in remnode object */
clock_gettime(CLOCK_REALTIME, &rn_mq->RestartTime);
/* Loop forever */
while (!doomsday)
{
if (rn_mq->Disable == 1) {
errh_Fatal("Disabled, exiting");
errh_SetStatus(PWR__SRVTERM);
exit(0);
}
aproc_TimeStamp();
RemoteSleep(TIME_INCR);
time_since_scan += TIME_INCR;
sts = bmq_receive();
if (time_since_scan >= rn_mq->ScanTime) {
sts = RemTrans_Cyclic(&rn, &bmq_send);
time_since_scan = 0.0;
}
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment