⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hqueue.h

📁 实用、效率高的linux下消息队列程序,可以快速,方便的应用于linux线程间的通信
💻 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 + -