📄 l3c_def.h
字号:
/************************************************************************/
/* */
/* NAME l3.h */
/* FUNC */
/* */
/************************************************************************/
/************************************************************************/
/* */
/* NUMBER 1 */
/* CALL -- */
/* PARAM -- */
/* FUNC l3 common header */
/* RETURN -- */
/* GLOBAL -- */
/* */
/************************************************************************/
#define L3DEL 0 /* other part */
#define L3CC 1 /* CC part */
#define L3MM 2 /* MM part */
#define L3RT 3 /* RT part */
#define L3COM 4 /* common part */
#define L3C_SCNT 4 /* l3 state count */
#define L3C_ALL_CNT 2 /* event count in all state*/
/* event count from L2 layer */
#define L3C_L2_OPN 2 /* at P0(ST_OPN ) state */
#define L3C_L2_SWT 3 /* at P1(ST_SET_WT) state*/
#define L3C_L2_SET 4 /* at P2(ST_SET ) state */
#define L3C_L2_FWT 3 /* at P3(ST_FRE_WT) state*/
/* event count from high layer*/
#define L3C_L3_OPN 2 /* at P0(ST_OPN ) state */
#define L3C_L3_SWT 0 /* at P1(ST_SET_WT) state*/
#define L3C_L3_SET 2 /* at P2(ST_SET ) state */
#define L3C_L3_FWT 0 /* at P3(ST_FRE_WT) state*/
#ifdef SIMU_ON_PC /*zch for protocol simulator */
#pragma pack( push, l3cstucture,1)
#endif
#ifdef _ARM607_
__packed
#endif
typedef struct
{/* l3 state machine struct */
U2 evt_cod; /* event code */
void (*fnc_adr)(void); /* function */
} L3C_FNC_TBL;
#ifdef _ARM607_
__packed
#endif
typedef struct
{ /* l3 main function struct */
U1 prg_bnk; /* not used */
#ifdef _ON_SANYO_
U1 (*prg_adr)(void);
#else
U1 (*prg_adr)(void*); /* l3 part main function */
#endif
} L3_PRG_TBL;
#ifdef _ARM607_
__packed
#endif
typedef struct
{/* l3 system struct */
U2 in_evt[8]; /* input data */
U2 tsk_id; /* task id */
U2 out_evt[8]; /* output data */
L3C_FNC_TBL *sts_ptr; /* state machine pointer */
U1 sts_cnt; /* event count */
} L3C_SYSWRK;
#ifdef _ARM607_
__packed
#endif
typedef struct
{
U1 dmy[L3_MSGDMY];
U1 len; /* messsage data length */
U1 dat[L3_MSGSZ]; /* message data */
} L3C_MSGDAT;
#ifdef _ARM607_
__packed
#endif
typedef struct
{/* L3Dl struct*/
U2 evt_cod; /* event code */
U2 dl_typ; /* channel id */
U2 dl_id; /* time slot */
U2 dl_sou; /* need transfer confirm flag */
L3C_MSGDAT *msg_adr; /* message data pointer*/
U2 add_dat[2]; /* addition info */
} L3C_DLEVT;
#ifdef _ARM607_
__packed
#endif
typedef struct
{/* L3MNG struct*/
U2 evt_cod; /* event code */
U2 ch_id; /* message type */
U1 msg_dat[6]; /*message data */
U1 dmy[6];
} L3C_PHEVT;
#ifdef _ON_SANYO_
#define SYS_WORK ((L3C_SYSWRK *)Sys_work)
#else
#define SYS_WORK ((L3C_SYSWRK *)&l3c_syswork)
#endif
#define IN_DLDEVT ((L3C_DLEVT *)SYS_WORK->in_evt)
#define OUT_DLDEVT ((L3C_DLEVT *)SYS_WORK->out_evt)
#define IN_PHDEVT ((L3C_PHEVT *)SYS_WORK->in_evt)
#define OUT_PHDEVT ((L3C_PHEVT *)SYS_WORK->out_evt)
#define IN_MSGDAT ((L3C_MSGDAT *)IN_DLDEVT->msg_adr)
#define OUT_MSGDAT ((L3C_MSGDAT *)OUT_DLDEVT->msg_adr)
#ifdef SIMU_ON_PC /*zch for protocol simulator */
#pragma pack( pop, l3cstucture,1)
#endif
/********************/
/* function */
/********************/
#ifdef _ON_SANYO_
void l3_main(void);
#else
void l3_main(void*);
#endif
void l3_init(void);
#ifdef _ON_SANYO_
U1 L3cMain(void);
#else
U1 L3cMain(void*);
#endif
void L3cDataLinkReq(void);
void L3cDataLinkFreeReq(void);
void L3cDataLinkFreeReqAtP0(void);
void L3cDataLinkInd(void);
void L3cDataLinkFreeInd(void);
void L3cDataLinkFreeIndAtP1(void);
void L3cDldtrs(void);
void L3cDldtds(void);
void L3cPhdtds(void);
void L3cInitReq(void);
void L3cDlFree(void);
void L3cMdlErr(void);
#ifdef _ON_SANYO_
U1 L3dMain(void);
#else
U1 L3dMain(void*);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -