MsgQueue.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /********************************************************************************
  2. * File Name: MsgQueue.h
  3. * Function Describe: Header file for MsgQueue.c
  4. * Explain:
  5. * Writer: ShiLiangWen
  6. * Date: 2015-6-29
  7. *******************************************************************************/
  8. #ifndef __MSG_QUEUE_H
  9. #define __MSG_QUEUE_H
  10. /************************************file begin*******************************/
  11. #define MSG_DATA_BUF_LEN (2*1024+512) //消息数据缓冲区最大长度,此数据缓冲区将被多个消息队列共用 //
  12. #define MSG_QUEUE_NUM_MAX 50 //每个消息队列允许最大消息数
  13. //消息结构体
  14. typedef struct{
  15. unsigned short MsgLen;//消息数据长度
  16. unsigned short DataStartIndex;//消息数据在数据缓冲区中的开始位置索引
  17. }SUT_MESSAGE;
  18. //消息队列结构体
  19. typedef struct{
  20. unsigned short MsgIn;//加入新消息的位置索引
  21. unsigned short MsgOut;//取出已有消息的位置索引
  22. unsigned short MsgNum;//当前消息个数
  23. SUT_MESSAGE MsgQueue[MSG_QUEUE_NUM_MAX];//消息队列
  24. //--数据缓冲区
  25. unsigned short DataBufferLenMax;
  26. unsigned short DataBufferLen;
  27. unsigned short DataBufferIn;
  28. unsigned short DataBufferOut;
  29. char *DataBuffer;//数据缓冲区
  30. }SUT_MSG_QUEUE;
  31. extern SUT_MSG_QUEUE msgQue;
  32. void MsgQueueInit(char *pDataBuffer,unsigned short DataBufferLenMax);
  33. int MsgQueuePost(char *pData,unsigned short DataLen);
  34. int MsgQueueAccept(char *pBuf,unsigned short BufLen);
  35. void MsgQueueSet(void);
  36. /************************************file end*******************************/
  37. #endif