//================================================================== // // Filename: mapp_msg.h // Description: // //------------------------------------------------------------------ // // version: // date: 00:08am, 09.Apr.2012, by Sirius // Description: // //------------------------------------------------------------------ //================================================================== #ifndef _MAPP_MSG_H_ #define _MAPP_MSG_H_ /*------------------------------------------------------------------------------ * I N C L U D E *------------------------------------------------------------------------------*/ #include "general.h" /*------------------------------------------------------------------------------ * D E F I N E *------------------------------------------------------------------------------*/ #define NO_MSG 0 /*< no message >*/ typedef struct { U08 id; /*< message id >*/ U16 prm; /*< message parameter >*/ } T_MESSAGE; /*---------------------- ** message queue struct -----------------------*/ #define QUEUE_LENGTH 20 /*< total queue length >*/ typedef struct { U08 nEnque; /*< enqueue index >*/ U08 nDeque; /*< dequeue index >*/ T_MESSAGE Queue[QUEUE_LENGTH]; /*< queue buffer >*/ } T_MSG_QUEUE; /*---------------------- ** message module type -----------------------*/ typedef enum { ArmMsgQueue = 0x00, /*< message queue for VC2 task >*/ AmiMsgQueue = 0x01, /*< message queue for CAR task >*/ AvmMsgQueue = 0x02, BusMsgQueue = 0x03, MsgQueueCnt } T_MSG_MODULE; /*------------------------------------------------------------------------------ * P R O T O T Y P E *------------------------------------------------------------------------------*/ void OSQPost(T_MSG_MODULE mod, U08 id, U16 prm); void OSQNew(T_MSG_MODULE mod, U08 id, U16 prm); void OSQInquery(T_MSG_MODULE mod, U08 id, U16 prm); void OSQInsert(T_MSG_MODULE mod, U08 id, U16 prm); T_MESSAGE *OSQGet(T_MSG_MODULE mod); void OSQFlush(T_MSG_MODULE mod); void OSQInit(void); int OSQIsEmpty(T_MSG_MODULE mod); /*------------------------------- E O F ----------------------------------------*/ #endif /* _MAPP_MSG_H_ */