/************************************************************************ * AUTHOR: NiuJiuRu * FILENAME: swmsgq.h * DESCRIPTION: 消息队列 * NOTE: * HISTORY: * 1, [2010-09-06] created by NiuJiuRu * 2, [2016-08-08] 优化代码, 保障线程安全 ***********************************************************************/ #ifndef __SWMSGQ_H__ #define __SWMSGQ_H__ #ifdef __cplusplus extern "C" { #endif /* 创建一个消息队列 */ void *sw_msgq_create(int max); /* 销毁一个消息队列 */ void sw_msgq_destroy(void *hQueue); /* 向一个消息队列添加消息 */ int sw_msgq_post(void *hQueue, int msg, unsigned long wParam, unsigned long lParam); /* 从一个消息队列提取消息(超时设置的时间单位为: 毫秒, 并且当timeout = -1时表示无限等待) */ int sw_msgq_read(void *hQueue, int *msg, unsigned long *wParam, unsigned long *lParam, int timeout); /* 删除一个消息队列里的所有消息 */ void sw_msgq_clear(void *hQueue); /* 取得一个消息队列中现有的消息数目 */ int sw_msgq_get_num(void *hQueue); /* 得到一个消息队列所允许的最大消息数目 */ int sw_msgq_get_max(void *hQueue); #ifdef __cplusplus } #endif #endif /* __SWMSGQ_H__ */