241 lines
7.7 KiB
C
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
|