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 + -
显示快捷键?