queue.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /******************************************************************************
  2. 版权所有 (C), 2019-2029, SDC OS 开源软件小组所有
  3. ******************************************************************************
  4. 文 件 名 : queue.h
  5. 版 本 号 : 初稿
  6. 作 者 : jelly
  7. 生成日期 : 2019年6月9日
  8. 最近修改 :
  9. 功能描述 : queue.c 的头文件
  10. 函数列表 :
  11. 修改历史 :
  12. 1.日 期 : 2019年6月9日
  13. 作 者 : jelly
  14. 修改内容 : 创建文件
  15. ******************************************************************************/
  16. #ifndef __QUEUE_H__
  17. #define __QUEUE_H__
  18. #ifdef __cplusplus
  19. #if __cplusplus
  20. extern "C"{
  21. #endif
  22. #endif /* __cplusplus */
  23. enum QUEUE_STATE_E
  24. {
  25. QUEUE_STATE_EMPT,
  26. QUEUE_STATE_FULL,
  27. QUEUE_STATE_OK,
  28. QUEUE_STATE_PARAS_ERR,
  29. QUEUE_STATE_ABORT
  30. };
  31. typedef struct QUEUE_STRU
  32. {
  33. unsigned int uiRead; //指向队列第一个元素
  34. unsigned int uiWrite; //指向队列最后一个元素的下一个元素
  35. unsigned int uiMaxSize; //循环队列的最大存储空间
  36. char *pBase;
  37. } QUEUE_S;
  38. extern int QUE_CreateQueue(QUEUE_S *pstQueue, unsigned int uiMaxSize);
  39. extern int QUE_PopQueue(QUEUE_S *pstQueue, char *pucSdcYuvData);
  40. extern int QUE_PushQueue(QUEUE_S *pstQueue, char *pucSdcYuvData);
  41. extern int QUE_GetQueueSize(QUEUE_S *pstQueue);
  42. #ifdef __cplusplus
  43. #if __cplusplus
  44. }
  45. #endif
  46. #endif /* __cplusplus */
  47. #endif /* __QUEUE_H__ */