/*	HAE public function head file	*/
/*	Written by Liu Zhiguo V1.0		*/
/*	Time: 2003-07-31				*/
/*	--------------------------		*/

#ifndef	_HAE_FUNCTION
#define _HAE_FUNCTION

void hae_imsi_ntoa(u8 *anti_imsi,u8 *normal_imsi);
void hae_imsi_aton(u8 *normal_imsi,u8 *anti_imsi);
void hae_imsi_ntos(u8 *str_imsi,u8 *normal_imsi);
void hae_imsi_ston(u8 *normal_imsi,u8 *str_imsi);
void hae_isdn_ntoa(u8 *anti_isdn,u8 *normal_isdn);
void hae_isdn_aton(u8 *normal_isdn,u8 *anti_isdn);
void hae_isdn_ntos(u8 *str_isdn,u8 *normal_isdn);
u8	 hae_isdn_ston(u8 *normal_isdn,u8 *str_isdn);
u8	 hae_extract_param(struct MapOprSrv_struct *srv_ptr,struct MapOprData_struct *data_ptr);
u8	 hae_build_param(struct MapOprData_struct *data_ptr,struct MapOprSrv_struct *srv_ptr);
u8	 hae_build_param_v2(struct MapOprData_struct *data_ptr,struct MapOprSrv_struct *srv_ptr, u8 linked_id);
u8	 hae_check_sendcom(u32 did);
u8	 hae_check_sendopr(u32 did);
u8	 hae_get_open(u8 *data_flow,struct MapComSrv_struct *com_ptr,u8 ssn);
u8	 hae_get_comdata(u8 *data_flow,struct MapComSrv_struct *com_ptr,u32 did);
u8	 hae_send_comdata(u8 *data_flow,struct MapComSrv_struct *com_ptr,u8 DelimiterFlag);
u8	 hae_get_oprdata(u8 *data_flow,struct MapOprData_struct *opr_ptr,u32 did);
u8	 hae_send_oprdata(u8 *data_flow,struct MapOprData_struct *opr_ptr,u8 DelimiterFlag);

void hae_set_localip(u32 local_ip);
u32	 hae_get_localip(void);
void hae_set_peerip(u32 peer_ip);
u32	 hae_get_peerip(void);
void hae_set_primomcip(u32 primomc_ip);
u32	 hae_get_primomcip(void);
void hae_set_secdomcip(u32 secdomc_ip);
u32	 hae_get_secdomcip(void);

void hae_init_sync(u8 fun_mod,u8 oid_len,u32 max_mem,u8 *data_ptr,void *shm_ptr);
int	 hae_set_master_flag(u8 fun_mod,u8 MasterFlag);
int	 hae_get_master_flag(u8 fun_mod);
int	 hae_inspect_master(u8 fun_mod);
int  hae_set_period_flag(u8 fun_mod, u8 flag);
void hae_syncdata_proc(u8 fun_mod);
int	 hae_load_from_peer_resp(u8 fun_mod,snmp_pdu *pdu,snmp_addr *addr);
int	 hae_load_from_peer(u8 fun_mod);
int	 hae_peerdata_resp(u8 fun_mod,u8 oidLen,u32 *oid,u8 *pdata,u8 *vartype);
int  hae_load_from_local(u8 fun_mod,char *file_name);
int	 hae_load_from_omc(u8 fun_mod);
int	 hae_back_to_omc(u8 fun_mod);
int hae_get_syncpercent( u8 fun_mod , u8 oidLen, u32 *oid );

#endif
