#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define OUT
#define IN
#define INOUT
typedef enum
{
E_MS_STATE_IDLE,
E_MS_STATE_ATTACH,
E_MS_STATE_NUM
}E_MS_STATE;
typedef enum
{
E_SS_STATE_IDLE,
E_SS_STATE_SMC,
E_SS_STATE_ULA,
E_SS_STATE_CMP,
E_SS_STATE_BUFF
}E_SS_STATE;
typedef enum
{
E_EVENT_ATTACH = 1,
E_EVENT_SMC,
E_EVENT_ULA,
E_EVENT_CMP,
E_EVENT_BUFF
}E_EVENT_ID;
typedef void(*eventActFun)(void *, void *, void *);
typedef struct
{
int event; //事件
int CurState; //当前状态
eventActFun func; //函数指针
}FsmTable_t;
typedef struct
{
int curMState; //状态
int curSState; //状态
}S_ImsiCtx;
void IdleOnAttach(void * pmsg, void *pModCtx, void *pCtx)
{
printf("Idle On attach");
((S_ImsiCtx *)pCtx)->curMState = E_MS_STATE_ATTACH;
((S_ImsiCtx *)pCtx)->curSState = E_SS_STATE_SMC;
}
void AttachWaitSmcOnSmc(void * pmsg, void *pModCtx, void *pCtx)