#ifndef foomainhfoo #define foomainhfoo #include #include #include "utils.h" extern int debuglvl; void debug(unsigned lvl, const char *fmt, ...); #define info(...) fprintf(stderr, __VA_ARGS__) #define error(...) fprintf(stderr, __VA_ARGS__) void die(const char *fmt, ...); #define perrordie(msg) die("%s: %m\n", msg) struct cfg; struct uring_task; /* To save typing in all the function definitions below */ typedef void (*callback_t)(struct cfg *, struct uring_task *, int res); struct uring_task { const char *name; unsigned refcount; int fd; void *parent; void (*free)(struct uring_task *); bool dead; callback_t callback; }; struct cfg { const char *homedir; struct uring_ev *uev; struct inotify_ev *iev; struct signalfd_ev *sev; struct announce *aev; struct uring_task task; struct list_head servers; }; #endif