MsgQueue.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 RunMake(FileID) (void)0
  12. #define MSG_DATA_BUF_LEN (1*1024) //消息数据缓冲区最大长度,此数据缓冲区将被多个消息队列共用
  13. #define MSG_QUEUE_NUM_MAX 50 //每个消息队列允许最大消息数
  14. //消息结构体
  15. typedef struct{
  16. unsigned short MsgLen;//消息数据长度
  17. unsigned short DataStartIndex;//消息数据在数据缓冲区中的开始位置索引
  18. }SUT_MESSAGE;
  19. //消息队列结构体
  20. typedef struct{
  21. unsigned short MsgIn;//加入新消息的位置索引
  22. unsigned short MsgOut;//取出已有消息的位置索引
  23. unsigned short MsgNum;//当前消息个数
  24. SUT_MESSAGE MsgQueue[MSG_QUEUE_NUM_MAX];//消息队列
  25. //--数据缓冲区
  26. unsigned short DataBufferLenMax;
  27. unsigned short DataBufferLen;
  28. unsigned short DataBufferIn;
  29. unsigned short DataBufferOut;
  30. char *DataBuffer;//数据缓冲区
  31. }SUT_MSG_QUEUE;
  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