Files
svc.ems/plat/mtp3_old/src/include/mtpstm.h
2024-09-27 15:39:34 +08:00

260 lines
5.9 KiB
C

#include "mtpconst.h"
typedef struct ls_info{
BYTE links_available;
BYTE links_available_t;
BYTE adjacentsp_acessible;
BYTE adjacentsp_restarting;
WORD adjacent_sp_place;
BYTE linksNum_configured;
BYTE influ_dstnum_asNLS;
BYTE influ_dstnum_asALS;
BYTE influ_dstplace_intable_asNLS[MAX_LS_DPC];
BYTE influ_dstplace_intable_asALS[MAX_LS_DPC];
}ls_info;
typedef struct mtp3_flow{
DWORD UtoM[5];
DWORD MtoI[5];
DWORD ItoM[5];
DWORD MtoU[5];
DWORD stp[5];
DWORD UtoM_throwed[5];
DWORD MtoI_throwed[5];
DWORD ItoM_throwed[5];
DWORD MtoU_throwed[5];
DWORD stp_throwed[5];
DWORD stp_loop[5];
DWORD isup_detail[32];
}mtp3_flow;
typedef struct network{
BYTE routine[256]; /* bit0-1: normal route available
bit2-3: alternative route available
bit4-5: acessible
bit6-7: current route */
BYTE rtpc_state[256];
BYTE rtpc_input[256];
BYTE rtac_state[256];
BYTE rtac_input[256];
BYTE rsrt_state[256];
BYTE rsrt_input[256];
BYTE rsrt_t10[256];
BYTE m3ua_rc_status[256];
mtp3_flow flow;
}network;
typedef struct nw_para{
DWORD dpc[256];
BYTE normal_ls[256];
BYTE alternative_ls[256];
DWORD opc24;
DWORD opc14;
BYTE mtp3_t8[256];
BYTE mtp3_t15[256];
BYTE mtp3_t16[256];
BYTE acn[256][MAX_ACN_NUM];
BYTE ansi_local14b;
BYTE ansi_local24b;
BYTE ansi_remote[256];
DWORD rc[256];
}nw_para;
typedef struct 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));//Bit0:0=ss7,1=m2ua
//Bit1:1=enable,0=disable
//Bit2:0=MTP3,1=MTP3LITE
//BIT3:0=server,1=client
BYTE e1_to_sg __attribute__((packed));
BYTE e1_to_iid __attribute__((packed));
DWORD remote_ip __attribute__((packed));
BYTE inactive __attribute__((packed));// Inactivity timer
BYTE inactive_tm __attribute__((packed));// Allowed inactivity timeouts
DWORD e1_to_alterMTP3 __attribute__((packed));//alternative MTP3
}lk_pro;
typedef struct lk_timer
{
BYTE t1;/* 500ms-1200ms */
BYTE t2;/* 700ms-2000ms */
BYTE t3;/* 500ms-1200ms */
BYTE t4;/* 500ms-1200ms */
BYTE t5;/* 500ms-1200ms */
BYTE t7;/* 1s-2s */
BYTE t8;/* 800ms-1200ms */
BYTE t12;/* 800ms-1500ms */
BYTE t13;/* 800ms-1500ms */
BYTE t14;/* 2s-3s */
BYTE t22;
BYTE t23;
}lk_timer;
typedef struct sg_para
{
BYTE enable __attribute__((packed));
BYTE server __attribute__((packed));
BYTE data_ack __attribute__((packed));
DWORD ip __attribute__((packed));
}sg_para;
typedef struct MTP3Parameter
{
lk_pro lk[256];
lk_timer lt[256];
sg_para sg[256];
BYTE nw_pro;
DWORD ls_op_pc[128];/* for 128 linkset */
BYTE ls_pro[128];
char ls_reserved[128][16];//each linkset reserved 16 bytes for omc
BYTE mtp3_t10;
BYTE mtp3_t18;
BYTE mtp3_t19;
BYTE mtp3_t20;
WORD mtp3_t21;
WORD mtp3lite_port;
nw_para nw[4];
BYTE localAcn[MAX_ACN_NUM];
ull MTP3SerialNum;
}MTP3Parameter;
typedef struct mtp{
ls_info ls[128];
network nw[4];
}mtp;
typedef struct measure_of_mtp3{
long time_stamp;
DWORD lk_measure1[256][9];/* link measure oid=*.1 */
DWORD ls_measure[128][8];/* linkset measure oid=*.3 */
/*** traffic */
// DWORD tf_measure1[6][20];/* traffic octets */
DWORD tf_measure2[6][20];/* traffic MSUs */
DWORD tf_measure5[3];
}measure_of_mtp3;
typedef struct mtp3_csta{
measure_of_mtp3 measure[96];
}mtp3_csta;
typedef struct heartbeat_compoent_of_mtp3
{
BYTE version[3];
BYTE state;
BYTE link_state[64];
BYTE linkset_state[32];
BYTE masterMTP3[32];
BYTE SubState[2];
}heartbeat_compoent_of_mtp3;
typedef struct mtp2_heartbeat
{
BYTE systemid;
BYTE moduleid;
BYTE timestamp[4];
BYTE led_ctl_code[8];
BYTE alarm_component;
BYTE alarm_code;
BYTE reserved;
BYTE l1_state;
BYTE l2_state[8];
BYTE e1_dstip[8];
BYTE retrieved_bsnt[8];
}mtp2_heartbeat;
typedef struct mtp3DPCIndex
{
DWORD sortedNum;
DWORD dpc[256];
DWORD index[256];
}mtp3DPCIndex;
typedef struct mtp3_dpc_index
{
mtp3DPCIndex nw[4];
}mtp3_dpc_index;
/* by simon at 23/9/26 */
//extern mtp3_dpc_index mtp3SortRoutine;
typedef struct _mtp3_state
{
BYTE link_l1_state[256];
BYTE link_l2_state[256];
BYTE link_l3_state[256];
BYTE lk_configured[256];
BYTE lk_command[256];
BYTE link_type[256];
DWORD lk_mtp3[256];
BYTE lk_NMTP3_ok[256];//normal mtp3 ok
BYTE lk_AMTP3_ok[256];//alternative mtp3 ok
BYTE lk_SpecANSI_flag[256];
//special ANSI, use the Signalling network testing and maintenance special message
BYTE lsac_state[256];
BYTE tlac_state[256];
BYTE tcoc_state[256];
BYTE tcbc_state[256];
BYTE tsrc_state[256];
BYTE sltc_state[256];
BYTE tprc_state;
BYTE MTP3WatchDog[256];
}_mtp3_state;
/* by simon at 23/9/26 */
//extern _mtp3_state mtp3ObjState;
typedef struct _mtp3_input
{
BYTE lsac_input_from_l2[256];
BYTE lsac_input_from_sltc[256];
BYTE lsac_input_from_stm[256];
BYTE lsac_input_from_tcoc[256];
BYTE lsac_input_from_mgmt[256];
BYTE tlac_input_from_slm[256];
BYTE tlac_input_from_mgmt[256];
BYTE tlac_input_from_stm[256];
BYTE tlac_input_from_hmdt[256];
BYTE tlac_input_from_Tctl[256];/* input from timer control center*/
BYTE tsrc_input_from_tcoc[256];
BYTE tsrc_input_from_tcbc[256];
BYTE tsrc_input_from_stm[256];
BYTE tsrc_input_from_tlac[256];
BYTE tcoc_input_from_tsrc[256];
BYTE tcoc_input_from_stm[256];
BYTE tcoc_input_from_hmdt[256];
BYTE tcbc_input[256];
BYTE tcbc_input_from_tsrc[256];
BYTE sltc_input[256];
BYTE tprc_input;
BYTE taprc_input[128];
}_mtp3_input;
/* by simon at 23/9/26 */
//extern _mtp3_input mtp3ObjInput;
typedef struct _mtp3_IPMng
{
BYTE mtp3_flag_new[MAX_MTP3_NUM];
BYTE mtp3_flag_old[MAX_MTP3_NUM];
DWORD mtp3_flag_ip[MAX_MTP3_NUM];
BYTE LinkIPNum;
DWORD LinkIP[MAX_MTP3_NUM];
BYTE LinkIPSubSta[MAX_MTP3_NUM][2];
}_mtp3_IPMng;
typedef struct _mtp3_dynamic_opc
{
BYTE opc_num[4];
DWORD opc[4][MTP3_MAX_DYNAMIC_OPC_PER_NW];
}mtp3_dynamic_opc;
/* by simon at 23/9/26 */
//extern _mtp3_IPMng MTP3IPMng;