hqueue.h
来自「实用、效率高的linux下消息队列程序,可以快速,方便的应用于linux线程间的」· C头文件 代码 · 共 41 行
H
41 行
#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 + =
减小字号Ctrl + -
显示快捷键?