summaryrefslogtreecommitdiff
path: root/main.h
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-05 14:09:18 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-05 14:09:18 +0200
commitdb66484c4300f5f0e857eff01d15fd3593002a79 (patch)
treea787b9f0da1243ae0391d5931ecb9cb0f29d3ee4 /main.h
Initial commit
Diffstat (limited to 'main.h')
-rw-r--r--main.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/main.h b/main.h
new file mode 100644
index 0000000..9ab769c
--- /dev/null
+++ b/main.h
@@ -0,0 +1,55 @@
+#ifndef foomainhfoo
+#define foomainhfoo
+
+#include <sys/socket.h>
+#include <netinet/ip.h>
+#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 sockaddr_in46 {
+ union {
+ struct sockaddr_storage storage;
+ struct sockaddr_in in4;
+ struct sockaddr_in6 in6;
+ };
+ socklen_t addrlen;
+ struct list_head list;
+};
+
+struct cfg {
+ const char *homedir;
+ struct uring_ev *uev;
+ struct inotify_ev *iev;
+ struct signalfd_ev *sev;
+ struct uring_task task;
+ struct list_head servers;
+};
+
+#endif