Files
svc.ems/plat/m2ua/src_old/include/m2ua_struct.h
2024-09-27 15:39:34 +08:00

241 lines
7.7 KiB
C

#ifndef _M2UA_STRUCT__H
#define _M2UA_STRUCT__H
#include "m2ua_const.h"
#ifndef _LKSCTP
typedef union _m2ua_sctp_cmd
{
union T_primitives tpi;
BYTE cbuf[M2UA_SCTP_CMD_BUFSIZE];
}m2ua_sctp_cmd_t;
// Data Options
typedef struct _m2ua_sctp_opt_data
{
struct t_opthdr sid_hdr __attribute__((packed));
t_scalar_t sid_val __attribute__((packed));
}m2ua_sctp_opt_data_t;
// Connect Options
typedef struct _m2ua_sctp_opt_conn
{
struct t_opthdr ist_hdr __attribute__((packed));
t_scalar_t ist_val __attribute__((packed));
struct t_opthdr ost_hdr __attribute__((packed));
t_scalar_t ost_val __attribute__((packed));
}m2ua_sctp_opt_conn_t;
// Management Options
typedef struct _m2ua_sctp_opt_optm
{
struct t_opthdr nod_hdr __attribute__((packed));
t_scalar_t nod_val __attribute__((packed));
struct t_opthdr crk_hdr __attribute__((packed));
t_scalar_t crk_val __attribute__((packed));
struct t_opthdr ppi_hdr __attribute__((packed));
t_scalar_t ppi_val __attribute__((packed));
struct t_opthdr sid_hdr __attribute__((packed));
t_scalar_t sid_val __attribute__((packed));
struct t_opthdr rcv_hdr __attribute__((packed));
t_scalar_t rcv_val __attribute__((packed));
struct t_opthdr ckl_hdr __attribute__((packed));
t_scalar_t ckl_val __attribute__((packed));
struct t_opthdr skd_hdr __attribute__((packed));
t_scalar_t skd_val __attribute__((packed));
struct t_opthdr prt_hdr __attribute__((packed));
t_scalar_t prt_val __attribute__((packed));
struct t_opthdr art_hdr __attribute__((packed));
t_scalar_t art_val __attribute__((packed));
struct t_opthdr irt_hdr __attribute__((packed));
t_scalar_t irt_val __attribute__((packed));
struct t_opthdr hbi_hdr __attribute__((packed));
t_scalar_t hbi_val __attribute__((packed));
struct t_opthdr rin_hdr __attribute__((packed));
t_scalar_t rin_val __attribute__((packed));
struct t_opthdr rmn_hdr __attribute__((packed));
t_scalar_t rmn_val __attribute__((packed));
struct t_opthdr rmx_hdr __attribute__((packed));
t_scalar_t rmx_val __attribute__((packed));
struct t_opthdr ist_hdr __attribute__((packed));
t_scalar_t ist_val __attribute__((packed));
struct t_opthdr ost_hdr __attribute__((packed));
t_scalar_t ost_val __attribute__((packed));
struct t_opthdr cin_hdr __attribute__((packed));
t_scalar_t cin_val __attribute__((packed));
struct t_opthdr tin_hdr __attribute__((packed));
t_scalar_t tin_val __attribute__((packed));
struct t_opthdr mac_hdr __attribute__((packed));
t_scalar_t mac_val __attribute__((packed));
struct t_opthdr dbg_hdr __attribute__((packed));
t_scalar_t dbg_val __attribute__((packed));
}m2ua_sctp_opt_optm_t;
#else
typedef union _m2ua_sctp_cmd
{
struct cmsghdr cmsg __attribute__((packed));
BYTE cbuf[M2UA_SCTP_CMD_BUFSIZE] __attribute__((packed));
}m2ua_sctp_cmd_t;
typedef struct _m2ua_sctp_data
{
int len __attribute__((packed));
int sid __attribute__((packed));
BYTE *buf __attribute__((packed));
}m2ua_sctp_data_t;
#endif
typedef struct _m2ua_sctp_addr
{
uint16_t port __attribute__((packed));
struct in_addr addr __attribute__((packed));
}m2ua_sctp_addr_t;
typedef struct _m2ua_lk_info
{
BYTE enable __attribute__((packed));
BYTE lk_st __attribute__((packed));
WORD sid __attribute__((packed));
DWORD lk_timer __attribute__((packed));
BYTE alarm_code __attribute__((packed));
BYTE lk_act __attribute__((packed));
}m2ua_lk_info_t;
typedef struct _m2ua_sg_info
{
BYTE enable __attribute__((packed));
BYTE sctp_state __attribute__((packed));
BYTE sctp_state_1 __attribute__((packed));
BYTE m2ua_state __attribute__((packed));
DWORD sctp_cmd __attribute__((packed));
WORD m2ua_cmd __attribute__((packed));
WORD mtp3_cmd __attribute__((packed));
WORD mgmt_cmd __attribute__((packed));
WORD fd __attribute__((packed));
WORD iid __attribute__((packed));
DWORD sid_st[8] __attribute__((packed));
BYTE *msg __attribute__((packed));
WORD msg_len __attribute__((packed));
WORD rem_ostrs __attribute__((packed));
WORD T_ack __attribute__((packed));
WORD T_r __attribute__((packed));
BYTE con_sg __attribute__((packed));
BYTE state __attribute__((packed));
BYTE err_code __attribute__((packed));
BYTE tra_hdl_mode __attribute__((packed));
WORD act_lks __attribute__((packed));
WORD istrs __attribute__((packed));
WORD ostrs __attribute__((packed));
DWORD status __attribute__((packed));
DWORD seq __attribute__((packed));
DWORD cor_id __attribute__((packed));
WORD up_lks_pre __attribute__((packed));
WORD up_lks_cur __attribute__((packed));
DWORD sg_timer __attribute__((packed));
BYTE retrans_times __attribute__((packed));
WORD rem_port __attribute__((packed));
BYTE alarm_code __attribute__((packed));
//add by yizane
BYTE rel_reason __attribute__((packed));
BYTE tei_state __attribute__((packed));
BYTE dlci __attribute__((packed));
//add by yizane
}m2ua_sg_info_t;
typedef struct _m2ua_comhdr
{
BYTE version __attribute__((packed));
BYTE spare __attribute__((packed));
BYTE msg_class __attribute__((packed));
BYTE msg_type __attribute__((packed));
DWORD len __attribute__((packed));
}m2ua_comhdr_t;
typedef struct _m2ua_par_hdr
{
WORD tag __attribute__((packed));
WORD len __attribute__((packed));
}m2ua_par_hdr_t;
typedef struct _m2ua_var_par
{
m2ua_par_hdr_t hdr __attribute__((packed));
BYTE val[M2UA_MAX_MSG_LEN] __attribute__((packed));
}m2ua_var_par_t;
typedef struct _m2ua_msg
{
m2ua_comhdr_t comhdr __attribute__((packed));
BYTE msg[M2UA_MAX_MSG_LEN] __attribute__((packed));
}m2ua_msg_t;
typedef struct _sg_para
{
BYTE enable __attribute__((packed));
BYTE server __attribute__((packed));
BYTE xUA_ack __attribute__((packed)); //BIT 1-7:xUA_type,0/1:M2UA/IUA ,Bit 0: ACK
DWORD ip __attribute__((packed));
WORD plat_port[2] __attribute__((packed));
}sg_para_t;
typedef struct _lk_para
{
BYTE enable __attribute__((packed));
WORD lk_sg __attribute__((packed));
BYTE iid __attribute__((packed));
WORD dlci __attribute__((packed));
}lk_para_t;
typedef struct _m2ua_para
{
sg_para_t sg_para[M2UA_MAX_SG_NUM] __attribute__((packed));
lk_para_t lk_para[M2UA_MAX_LK_NUM] __attribute__((packed));
BYTE cmd __attribute__((packed));
}m2ua_para_t;
typedef struct _m2ua_lk_pro
{
BYTE e1_to_linkset __attribute__((packed));
BYTE e1_to_slc __attribute__((packed));
DWORD e1_to_mtp3 __attribute__((packed));
BYTE e1_lk_type __attribute__((packed));
BYTE e1_to_sg __attribute__((packed));
BYTE e1_to_iid __attribute__((packed));
DWORD remote_ip __attribute__((packed));
BYTE inactive __attribute__((packed));
BYTE inactive_tm __attribute__((packed));
DWORD e1_to_alterMTP3 __attribute__((packed));
}m2ua_lk_pro_t;
typedef struct _m2ua_sg_csta
{
DWORD timestamp __attribute__((packed));
DWORD sg_out_msg __attribute__((packed));
DWORD sg_in_msg __attribute__((packed));
DWORD sg_out_bytes __attribute__((packed));
DWORD sg_in_bytes __attribute__((packed));
DWORD sg_asp_dn_times __attribute__((packed));
}m2ua_sg_csta_t;
typedef struct _m2ua_lk_csta
{
DWORD timestamp __attribute__((packed));
DWORD lk_out_msg __attribute__((packed));
DWORD lk_in_msg __attribute__((packed));
DWORD lk_out_bytes __attribute__((packed));
DWORD lk_in_bytes __attribute__((packed));
DWORD lk_dn_times __attribute__((packed));
}m2ua_lk_csta_t;
typedef struct _m2ua_csta
{
m2ua_sg_csta_t sg_csta[M2UA_MAX_SG_NUM] __attribute__((packed));
m2ua_lk_csta_t lk_csta[M2UA_MAX_LK_NUM] __attribute__((packed));
}m2ua_csta_t;
#endif