use nix build & meson & zlog

This commit is contained in:
Rongsong Shen 2025-11-03 18:19:59 +08:00
parent 0123623742
commit 346768a144
60 changed files with 13739 additions and 0 deletions

28
src/include/dataq.h Normal file
View 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