📄 mm32rom.c
字号:
#ifndef PM_ONPC
#ifdef __cplusplus
extern "C"{
#endif
#include "phs_def.h"
#include "mm32.h"
#include "_Define.h"
SYS_STATE_TBL mm_state_p0[] = //ST_NULL
{
// message from data link level
{ L2MM_AUTHENTICATION_REQ, mm_auth_req , ST_AUTH},
{ L2MM_FUNCTION_REP, mm_fnc_rep , STATE_SAME},
//message from high level
{ EINITL3, mm_init, ST_NULL },
{ MNMM_LOCATION_REGISTRATION_REQ, mm_LocReg_req , ST_LOCREG},
{ MNMM_FUNCTION_REQ, mm_fnc_req, STATE_SAME },
{ PRTM301P, mm_tm_301p, STATE_SAME },
{ 0xFF, 0, STATE_SAME} //Must end of 0xFF
};
SYS_STATE_TBL mm_state_p1[ ] = //ST_LOCREG
{
// message from data link level
{ L2MM_AUTHENTICATION_REQ, mm_auth_req, ST_AUTH},
{ L2MM_LOCATION_REGISTRATION_ACK, mm_LocReg_ack, ST_NULL },
{ L2MM_LOCATION_REGISTRATION_REJ, mm_LocReg_rej, STATE_MORE }, //ST_LOCREG_R or ST_NULL
{ L2MM_FUNCTION_REP, mm_fnc_rep, STATE_SAME},
//message from high level
{ EINITL3, mm_init, ST_NULL },
{ MNMM_FUNCTION_REQ, mm_fnc_req, STATE_SAME },
{ PRTM301P, mm_tm_301p, STATE_SAME},
{ PRTM303P, mm_tm_303p, ST_NULL},
{ 0xFF, 0, STATE_SAME} //Must end of 0xFF
};
SYS_STATE_TBL mm_state_p2[ ] = //ST_AUTH
{
//message from high level
{ EINITL3, mm_init, ST_NULL },
{ MNMM_AUTHENTICATION_REP, mm_auth_rep, STATE_MORE }, //ST_LOCREG or ST_NULL
{ PRTM303P, mm_tm_303p, STATE_SAME },
{ 0xFF, 0, STATE_SAME} //Must end of 0xFF
};
SYS_STATE_TBL mm_state_p3[ ] = //ST_LOCREG_R
{
//message from high level
{ PRTM304P, mm_tm_304p, ST_LOCREG } ,
{ EINITL3, mm_init, ST_NULL }, //for protocol simulator
{ 0xFF, 0, STATE_SAME} //Must end of 0xFF
};
SYS_STATE_TBL *mm_state_table[MM_STS_CNT] =
{
mm_state_p0,
mm_state_p1,
mm_state_p2,
mm_state_p3
};
/*MM Message contents begin -------------------------------*/
MM_INFOELE mm_auth_req_msgtype[2] =
{
{MMINFOELE_AUTHTYPE , DOWNLINK , MANDATORY ,TRUE , 2 },
{MMINFOELE_AUTHRANDOM_PATTERN, DOWNLINK , MANDATORY ,FALSE, 0}
};
MM_INFOELE mm_auth_rep_msgtype[1] =
{
{MMINFOELE_AUTHCIPHERING_PATTERN , UPLINK , MANDATORY , FALSE , 0}
};
MM_INFOELE mm_fnc_req_msgtype[3] = //it is judged by IN_PRIEVT->add_dat from TASKMNG , so it couldn't call mm_pack_dld to forward the primitive message
{
{MMINFOELE_AUTHTYPE , UPLINK , OPTIONAL , TRUE , 2},
{MMINFOELE_ACTIVE_AUTH ,UPLINK , OPTIONAL , TRUE , 1},
{MMINFOELE_PAGING_AREA ,UPLINK , OPTIONAL , TRUE , 2}
};
MM_INFOELE mm_fnc_rep_msgtype[3] = //correspond to mm_fnc_req_msgtype
{
{MMINFOELE_AUTHTYPE , DOWNLINK , OPTIONAL , TRUE , 2},
{MMINFOELE_ACTIVE_AUTH ,DOWNLINK , OPTIONAL , TRUE , 1},
{MMINFOELE_PAGING_AREA ,DOWNLINK , OPTIONAL , TRUE , 2}
};
MM_INFOELE mm_loc_reg_ack_msgtype[2] =
{
{MMINFOELE_LOC_REG_AREA_REPORT , DOWNLINK , OPTIONAL , FALSE , 0}, //length 9~51
{MMINFOELE_PAGING_GROUP , DOWNLINK , OPTIONAL , TRUE , 2}
};
MM_INFOELE mm_loc_reg_area_report_msgtype[2] = //not implemented by current version
{
{MMINFOELE_LOC_REG_AREA_REPORT , UPLINK , MANDATORY , FALSE , 0},//length 9~51
{MMINFOELE_RECEPTION_LEVEL , UPLINK , MANDATORY , TRUE , 2}
};
MM_INFOELE mm_loc_reg_rej_msgtype[1] =
{
{MMINFOELE_CAUSE , DOWNLINK , MANDATORY , TRUE , 2}
};
MM_INFOELE mm_loc_reg_req_msgtype[1] = //it is judged by IN_PRIEVT->add_dat from TASKMNG ,so couldn't call mm_pack_dld to forward the primitive message
{
{MMINFOELE_PS_NUMBER , UPLINK , MANDATORY , TRUE , 8}
};
/*MM Message contents end -------------------------------*/
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -