📄 hqueue.h
字号:
#ifndef __H_HQUEUE_H__
#define __H_HQUEUE_H__
#include <pthread.h>
#include <semaphore.h>
#include "ipanel_typedef.h"
#ifdef __cplusplus
extern "C" {
#endif
/***********************************************************/
#define HQ_PUT_WAIT 0x00000001
#define HQ_GET_WAIT 0x00000002
/***********************************************************/
typedef struct h_queue
{
unsigned int queue_mode; //队列模式
unsigned int unit_num;
unsigned int unit_size;
unsigned int front;
unsigned int rear;
//sem_t queue_semMutex; //对队列内部指针的访问互斥
sem_t queue_nnulEvent;//队列非空事件
sem_t queue_nfulEvent;//队列非满事件
char * queue_buffer;
unsigned int count_put_full; //由于队列满而导致队列PUT操作失败的次数
}HQUEUE;
/***********************************************************/
HQUEUE * hqCreate(unsigned int unit_num,unsigned int unit_size,unsigned int queue_mode);
void hqDelete(HQUEUE * phq);
BYTE_T hqBufPut(HQUEUE * phq,char * buf);
BYTE_T hqBufGet(HQUEUE * phq,char * buf);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -