forked from lei.chen/myxce
use nix build & meson & zlog
This commit is contained in:
parent
0123623742
commit
346768a144
60 changed files with 13739 additions and 0 deletions
28
src/include/dataq.h
Normal file
28
src/include/dataq.h
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#if !defined(_DATAQ_H_)
|
||||
|
||||
#define _DATAQ_H_ 1
|
||||
|
||||
#include "mylock.h"
|
||||
|
||||
typedef struct _data_item {
|
||||
struct _data_item* next;
|
||||
} data_item_t;
|
||||
|
||||
typedef int (*data_item_match_fn_t)(data_item_t*);
|
||||
typedef void (*data_item_killer_t)(data_item_t*);
|
||||
|
||||
typedef struct {
|
||||
data_item_t* head;
|
||||
data_item_t* tail;
|
||||
data_item_killer_t killer;
|
||||
mylock_t lock;
|
||||
} dataq_t;
|
||||
|
||||
#define DATAQ_EMPTY(q) ((q)->head == NULL)
|
||||
|
||||
extern int dataq_init(dataq_t*, data_item_killer_t);
|
||||
extern data_item_t* dataq_deq(dataq_t*, data_item_match_fn_t);
|
||||
extern int dataq_enq(dataq_t*, data_item_t*);
|
||||
extern void dataq_fini(dataq_t*);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue