123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /********************************************************************
- File Name : LoopQueue.h
- Description : 循环队列
- *********************************************************************/
- #ifndef __LoopQueue_H
- #define __LoopQueue_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*-begin---------------------------------------------------------------*/
- /**********************************
- 元素为unsigned char类型的队列
- **********************************/
- typedef struct UCQueue
- {
- unsigned char *buf;//缓冲 环形
- unsigned short size;//buf长度
- unsigned short in;//入指针位置
- unsigned short out;//出指针位置
-
- }UCQueue;
- /**********************************
- 元素为unsigned short类型的队列
- **********************************/
- typedef struct USQueue
- {
- unsigned short *buf;//缓冲 环形
- unsigned short size;//buf长度
- unsigned short in;//入指针位置
- unsigned short out;//出指针位置
-
- }USQueue;
- void UCQueueInit(UCQueue *queue,unsigned char *pBuf, unsigned short BufLen);//队列初始化
- int UCQueueOut(UCQueue *queue);//出队列 返回-1标识队列已空,返回0~255为出队列元素值
- int UCQueueIn(UCQueue *queue,unsigned char data);//入队列,返回-1标识队列已满,返回0入成功
- void USQueueInit(USQueue *queue,unsigned short *pBuf, unsigned short BufLen);//队列初始化
- int USQueueOut(USQueue *queue);//出队列 返回-1标识队列已空,返回0~65535为出队列元素值
- int USQueueIn(USQueue *queue,unsigned short data);//入队列,返回-1标识队列已满,返回0入成功
- /*-end---------------------------------------------------------------*/
- #ifdef __cplusplus
- }
- #endif
- #endif /*__LoopQueue_H*/
- /******END OF FILE****/
|