amaru_proto.h
This file contains function prototypes for the AMARU library. The following is a listing of this file:
#ifndef _AMARU_PROTO_H
#define _AMARU_PROTO_H
#ifdef WIN32
#include <inc_path/ddl.h>
#include <inc_path/sc_recs.h>
#include <inc_path/am_defs.h>
#ifndef AmaruExport
#define AmaruExport
#endif
#ifdef __cplusplus
extern "C" {
#endif
AmaruExport int amaru_add_update(
TCHAR *bodyptr, int bodylen, TCHAR first_seg,
const TCHAR *alarm_id, const TCHAR *fr_id,
const TCHAR *user_or_serv_id, const TCHAR *ref_id,
int action, int seq_num, int resp_type, int key,
struct cor_status *ret_stat );
AmaruExport int amaru_add_update_stamp(
TCHAR *bodyptr, int bodylen, TCHAR first_seg,
const TCHAR *alarm_id, const TCHAR *fr_id,
const TCHAR *user_or_serv_id, const TCHAR *ref_id,
int action, int seq_num, int resp_type, int key,
COR_STAMP stamp, struct cor_status *ret_stat );
AmaruExport int amaru_add_gen(
TCHAR *bodyptr, int bodylen, TCHAR first_seg,
const TCHAR *alarm_id, const TCHAR *fr_id,
const TCHAR *user_or_serv_id, const TCHAR *ref_id,
int resp_type, int key, struct am_msg_field *msg_field,
int num_fields, TCHAR reset_follows,
struct cor_status *ret_stat );
AmaruExport int amaru_add_gen_stamp(
TCHAR *bodyptr, int bodylen, TCHAR first_seg,
const TCHAR *alarm_id, const TCHAR *fr_id,
const TCHAR *user_or_serv_id, const TCHAR *ref_id,
int resp_type, int key, struct am_msg_field *msg_field,
int num_fields, TCHAR reset_follows,
COR_STAMP stamp, struct cor_status *ret_stat );
AmaruExport void amaru_alloc_buffer(struct IPC_datagram **buffer ,int *length,TCHAR **body_ptr );
AmaruExport void amaru_free_buffer(struct IPC_datagram *buffer);
AmaruExport int amaru_init(struct cor_status *ret_stat);
AmaruExport int amaru_purge(TCHAR *user_or_serv_id,int dg_port_index,struct IPC_datagram *send_buffer_ptr,TCHAR *send_body_ptr,int send_buffer_len,struct IPC_datagram *recv_buffer_ptr,TCHAR *recv_body_ptr,int recv_buffer_len,struct cor_status *ret_stat);
AmaruExport void amaru_get_resp(TCHAR *body_ptr,int i,struct cor_status *ret_stat);
AmaruExport int amaru_send_msg(int port_id,struct IPC_datagram *wrt_buf,struct IPC_datagram *read_buf,int read_buf_len,TCHAR *alarm_mgr_id,struct cor_status *ret_stat);
AmaruExport void amaru_terminate();
AmaruExport int amaru_num_messages(TCHAR *body_ptr,struct cor_status *ret_stat);
AmaruExport int amaru_client_init(const TCHAR *system, COR_STATUS *retstat);
AmaruExport COR_BOOLEAN amaru_is_initialized();
#define AMARU_STYLE_LOCAL_AM 0x01
#define AMARU_STYLE_ACTIVE_AM_IF_MASTER 0x02
AmaruExport void amaru_set_style(int style);
AmaruExport int amaru_send_comment (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR *alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_default (
TCHAR *setup_id,
TCHAR *user_id,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_delete (
TCHAR *setup_id,
TCHAR *user_id,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_save_start (
TCHAR *setup_id,
TCHAR *user_id,
int num_rpts,
AM_FILTER_TYPE primary_filter,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_save_repeat (
AM_FILTER_TYPE filter_type,
COR_STAMP *start_time,
TCHAR *class_id,
AM_STATE_TYPE alarm_state,
TCHAR *fr_id,
COR_STATUS *ret_stat);
/* Private internal functions - For GE Intelligent Platform's use only. */
int amaru_tls_initialize_process();
int amaru_tls_terminate_process();
int amaru_tls_initialize_thread(RECORD_PTR data);
int amaru_tls_terminate_thread();
int amaru_rcm_init(COR_STATUS *retstat);
int amaru_rcm_init_root(RECORD_PTR amaru_root, COR_STATUS *retstat);
RECORD_PTR amaru_tls_get();
void amaru_force_terminate();
void amaru_force_terminate_root(RECORD_PTR amaru_root);
AmaruExport int amaru_client_init_root(const TCHAR *sysname,
RECORD_PTR *amaru_root, COR_STATUS *retstat);
AmaruExport int amaru_purge_root (
TCHAR user_or_serv_id [COR_MAX(USER_ID_LEN, SERVICE_ID_LEN) + 1],
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_default_root (
TCHAR *setup_id,
TCHAR *user_id,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_delete_root (
TCHAR *setup_id,
TCHAR *user_id,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_save_start_root (
TCHAR *setup_id,
TCHAR *user_id,
int num_rpts,
AM_FILTER_TYPE primary_filter,
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_setup_save_repeat_root (
AM_FILTER_TYPE filter_type,
COR_STAMP *start_time,
TCHAR *class_id,
AM_STATE_TYPE alarm_state,
TCHAR *fr_id,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_add_gen_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR *alarm_id, /* [ALARM_ID_LEN+1] */
const TCHAR *fr_id, /* [FR_ID_LEN+1] */
const TCHAR *user_or_serv_id, /* [COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1] */
const TCHAR *ref_id, /* [AM_REF_ID_LEN+1] */
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
AM_MSG_FIELD msg_field[],
int num_fields,
COR_BOOLEAN reset_follows,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_add_gen_stamp_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR *alarm_id, /* [ALARM_ID_LEN+1] */
const TCHAR *fr_id, /* [FR_ID_LEN+1] */
const TCHAR *user_or_serv_id, /* [COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1] */
const TCHAR *ref_id, /* [AM_REF_ID_LEN+1] */
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
AM_MSG_FIELD msg_field[],
int num_fields,
COR_BOOLEAN reset_follows,
COR_STAMP gentime,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_add_update_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR alarm_id[ALARM_ID_LEN+1],
const TCHAR fr_id[FR_ID_LEN+1],
const TCHAR user_or_serv_id[COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1],
const TCHAR ref_id[AM_REF_ID_LEN+1],
AM_STATE_TYPE action,
COR_I4 seq_num,
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_add_update_ex_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR alarm_id[ALARM_ID_LEN+1],
const TCHAR fr_id[FR_ID_LEN+1],
const TCHAR user_or_serv_id[COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1],
const TCHAR ref_id[AM_REF_ID_LEN+1],
AM_STATE_TYPE action,
COR_I4 seq_num,
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
RECORD_PTR amaru_root,
const TCHAR *conc_alarm_id,
COR_STATUS *ret_stat);
AmaruExport int amaru_pass_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
COR_I4 seg_type ,
COR_I4 seg_len ,
TCHAR *seg_ptr ,
AM_RESP_TYPE resp_type,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat) ;
AmaruExport int amaru_add_update_stamp_root(
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR alarm_id[ALARM_ID_LEN+1],
const TCHAR fr_id[FR_ID_LEN+1],
const TCHAR user_or_serv_id[COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1],
const TCHAR ref_id[AM_REF_ID_LEN+1],
AM_STATE_TYPE action,
COR_I4 seq_num,
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
COR_STAMP upd_time,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_send_msg_root(
int port_id, /* IPC port where message is sent */
IPCDG *wrt_buf, /* Buffer containing message to be sent */
IPCDG *read_buf, /* Buffer to contain message received */
int read_buf_len, /* Maximum Length of read buffer */
TCHAR *alarm_mgr_id, /* Identifier of Alarm Manager */
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_send_comment_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR *alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_send_comment_ex_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR *alarm_id,
TCHAR *conc_alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_send_comment2_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR action, /* 'A'dd, 'D'elete */
TCHAR *alarm_id,
TCHAR *conc_alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
const COR_STAMP *pgentime,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
AmaruExport int amaru_local_send_msg(
int port_id, /* IPC port where message is sent */
IPCDG *wrt_buf, /* Buffer containing message to be sent */
IPCDG *read_buf, /* Buffer to contain message received */
int read_buf_len, /* Maximum Length of read buffer */
const TCHAR *alarm_mgr_id, /* Identifier of Alarm Manager */
COR_STATUS *ret_stat) ;
AmaruExport int amaru_local_send_msg_root(
int port_id, /* IPC port where message is sent */
IPCDG *wrt_buf, /* Buffer containing message to be sent */
IPCDG *read_buf, /* Buffer to contain message received */
int read_buf_len,/* Maximum Length of read buffer */
const TCHAR *alarm_mgr_id, /* Identifier of Alarm Manager */
RECORD_PTR amaru_root,
COR_STATUS *ret_stat) ;
AmaruExport int amaru_local_pass_msg(
int port_id, /* IPC port where message is sent */
IPCDG *wrt_buf, /* Buffer containing message to be sent */
IPCDG *read_buf, /* Buffer to contain message received */
int read_buf_len, /* Maximum Length of read buffer */
const TCHAR *alarm_mgr_id, /* Identifier of Alarm Manager */
COR_BOOLEAN rr,
COR_STATUS *ret_stat) ;
AmaruExport int amaru_local_pass_msg_root(
int port_id, /* IPC port where message is sent */
IPCDG *wrt_buf, /* Buffer containing message to be sent */
IPCDG *read_buf, /* Buffer to contain message received */
int read_buf_len, /* Maximum Length of read buffer */
const TCHAR *alarm_mgr_id, /* Identifier of Alarm Manager */
COR_BOOLEAN rr,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat) ;
AmaruExport void amaru_terminate_root(RECORD_PTR amaru_root);
AmaruExport int amaru_delete (
TCHAR user_or_serv_id[],
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
COR_BOOLEAN local_send ,
struct cor_status *ret_stat) ;
AmaruExport int amaru_delete_root (
TCHAR user_or_serv_id[],
int dg_port_index,
IPCDG *send_buffer_ptr,
TCHAR *send_body_ptr,
int send_buffer_len,
IPCDG *recv_buffer_ptr,
TCHAR *recv_body_ptr,
int recv_buffer_len,
RECORD_PTR amaru_root,
COR_BOOLEAN local_send ,
struct cor_status *ret_stat) ;
AmaruExport COR_I4 amu_request_external_state_management(
int port_id , /* IPC port where message is sent */
IPCDG *wrt_buf , /* Buffer containing message to be sent */
int wbodylen ,
IPCDG *read_buf , /* Buffer to contain message received */
int read_buf_len , /* maximum length of read buffer */
const TCHAR *alarm_mgr_id , /* Identifier of alarm manager */
COR_BOOLEAN enable_support ,
const TCHAR *proc_name ,
const TCHAR *port_name , /* IPC port name for comm to AMRP */
const TCHAR *port_name2 , /* IPC port name to rcv updates */
const TCHAR *user_or_srv_id , /* assoc this id with this req. channel */
COR_STATUS *ret_stat ) ;
AmaruExport COR_I4 amu_request_external_state_management_root(
int port_id , /* IPC port where message is sent */
IPCDG *wrt_buf , /* Buffer containing message to be sent */
int wbodylen ,
IPCDG *read_buf , /* Buffer to contain message received */
int read_buf_len , /* maximum length of read buffer */
const TCHAR *alarm_mgr_id , /* Identifier of alarm manager */
COR_BOOLEAN enable_support ,
const TCHAR *proc_name ,
const TCHAR *port_name , /* IPC port name for comm to AMRP */
const TCHAR *port_name2 , /* IPC port name to rcv updates */
const TCHAR *user_or_srv_id , /* assoc this id with this req. channel */
RECORD_PTR amaru_root ,
COR_STATUS *ret_stat );
AmaruExport COR_I4 amu_get_extmgr_upd(
AMU_UPDATE_INFO *pamu_update_info ,
TCHAR *body_ptr ,
int i ,
COR_STATUS *ret_stat ) ;
AmaruExport int amaru_add_verify_gen_stamp(
TCHAR *bodyptr, int bodylen, TCHAR first_seg,
const TCHAR *alarm_id, const TCHAR *fr_id,
const TCHAR *user_or_serv_id, const TCHAR *ref_id,
int resp_type, int key, struct am_msg_field *msg_field,
int num_fields, COR_BOOLEAN havegentime, COR_STAMP genstamp,
int cur_state, COR_I4 cleared_time,
struct cor_status *ret_stat );
AmaruExport int amaru_add_verify_gen_stamp_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
COR_BOOLEAN first_seg, /* first segment ? */
const TCHAR *alarm_id, /* [ALARM_ID_LEN+1] */
const TCHAR *fr_id, /* [FR_ID_LEN+1] */
const TCHAR *user_or_serv_id, /* [COR_MAX(USER_ID_LEN, SERVICE_ID_LEN)+1] */
const TCHAR *ref_id, /* [AM_REF_ID_LEN+1] */
AM_RESP_TYPE resp_type,
AM_RESP_KEY key,
AM_MSG_FIELD msg_field[],
int num_fields,
COR_BOOLEAN havegentime,
COR_STAMP gentime,
int cur_state,
COR_I4 cleared_time,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat);
#define DECLARE_AMARU_ROOT RECORD_PTR amaru_root = amaru_tls_get()
#ifdef __cplusplus
} /* C++ */
#endif
#ifdef __cplusplus
#include <inc_path/ipc.hpp>
AmaruExport int amaru_remote_send_msg(CIPC *system,DADDR *daddr,COR_STATUS *retstat);
AmaruExport int amaru_remote_send_msg(CIPC *ipc, const TCHAR *system, COR_STATUS *retstat);
AmaruExport int amaru_remote_send_msg_root(CIPC *ipc, DADDR *daddr, RECORD_PTR amaru_root,
COR_STATUS *retstat);
AmaruExport int amaru_remote_send_msg_root(CIPC *ipc, const TCHAR *system, RECORD_PTR amaru_root,
COR_STATUS *retstat);
inline
AmaruExport int amaru_add_comment2_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR *alarm_id,
TCHAR *conc_alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
const COR_STAMP *pgentime,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat,
TCHAR action=AM_COMMENT_ACT_ADD /* 'A'dd, 'D'elete */
)
{ return amaru_send_comment2_root(bodyptr, bodylen, action, alarm_id,
conc_alarm_id, fr_id, user_or_serv_id,
ref_id, alarm_comment, pgentime, amaru_root, ret_stat) ;
}
inline
AmaruExport int amaru_del_comment2_root (
TCHAR *bodyptr, /* pointer to message body */
int bodylen, /* length of message body */
TCHAR *alarm_id,
TCHAR *conc_alarm_id,
TCHAR *fr_id,
TCHAR *user_or_serv_id,
TCHAR *ref_id,
TCHAR *alarm_comment,
const COR_STAMP *pgentime,
RECORD_PTR amaru_root,
COR_STATUS *ret_stat,
TCHAR action=AM_COMMENT_ACT_DELETE /* 'A'dd, 'D'elete */
)
{ return amaru_send_comment2_root(bodyptr, bodylen, action, alarm_id,
conc_alarm_id, fr_id, user_or_serv_id,
ref_id, alarm_comment, pgentime, amaru_root, ret_stat) ;
}
#endif
#endif
#endif