| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /************************************************************************
- * 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__ */
|