que.h

来自「wimax BS simulation code,implemented und」· C头文件 代码 · 共 60 行

H
60
字号
/* * This piece of code is totally free. If any pitfalls found,  * please feel free to contact me at jetmotor@21cn.com * THANKS A LOT! */#ifndef _QUE_H#define _QUE_H#include <pthread.h>#include <semaphore.h>#include "types.h"#include "list.h"#include "wxbuff.h"typedef struct pool_s{	pthread_mutex_t mutex;	uint32_t count;	struct list_head link;}pool_t;typedef struct softq_s{	pthread_mutex_t mutex;		/* mutex for simutaneously deque and enque operations */	uint32_t count;			/* number of hanging elements */	uint32_t size;			/* total data size of hanging elements */	struct list_head link;}softq_t;typedef struct ringq_s{	sem_t resource;	pthread_mutex_t mutex;	uint32_t count;	struct list_head link;}ringq_t;extern int32_t pool_init(pool_t *p);extern int32_t softq_init(softq_t *sq);extern int32_t softq_enque_tail(softq_t *sq, wxbuff_t *wxb);extern int32_t softq_enque_head(softq_t *sq, wxbuff_t *wxb);extern wxbuff_t * softq_deque(softq_t *sq);extern wxbuff_t * softq_dump(softq_t *sq);extern int32_t ringq_init(ringq_t *rq);extern int32_t ringq_enque(ringq_t *rq, struct list_head *new);extern struct list_head * ringq_deque(ringq_t *rq);extern int32_t ringq_enque_simple(ringq_t *rq, struct list_head *new);extern struct list_head * ringq_dump(ringq_t *rq);#endif	/* end of _QUE_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?