aboutsummaryrefslogtreecommitdiffstats
path: root/old/glougloud/glougloud.h
diff options
context:
space:
mode:
Diffstat (limited to 'old/glougloud/glougloud.h')
-rw-r--r--old/glougloud/glougloud.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/old/glougloud/glougloud.h b/old/glougloud/glougloud.h
new file mode 100644
index 0000000..c4f0a4a
--- /dev/null
+++ b/old/glougloud/glougloud.h
@@ -0,0 +1,79 @@
+#include <sys/socket.h>
+
+#include <netinet/in.h>
+
+#include <stdio.h>
+#include <pcap.h>
+
+#include <libglouglou.h>
+
+#include "external/queue.h"
+
+#if !defined(__OpenBSD__)
+#define setproctitle(x) {}
+#endif
+
+#define GLOUGLOUD_USER "_glougloud"
+#define PCAP_COUNT 20
+#define PCAP_TO 300
+
+/* ipc */
+
+enum imsg_type {
+ IMSG_SRVCONN_REQ,
+ IMSG_SRVCONN_RES,
+ IMSG_USRCONN_REQ,
+ IMSG_USRCONN_RES,
+ IMSG_USRDNS_REQ,
+ IMSG_USRDNS_RES
+};
+
+/* XXX restore the _req _res structs, so that we have less bytes going on
+ * the pipe */
+struct imsg_srvconn {
+ struct sockaddr_in addr;
+ u_short ok;
+ u_short deco;
+};
+struct imsg_usrconn {
+ struct sockaddr_in addr;
+ u_short ok;
+ u_short deco;
+};
+struct imsg_usrdns_req {
+ struct in_addr addr;
+};
+struct imsg_usrdns_res {
+ struct in_addr addr;
+ char name[DNSNAME_MAX];
+};
+
+/* glougloud.c */
+
+extern int net_socket;
+
+/* server.c */
+
+int server_init(int *);
+
+/* user.c */
+
+int user_init(int *, pcap_t *pcap);
+
+/* util.c */
+
+void log_init(int, int);
+void log_pinvalid(const char *, ...);
+void log_tmp(const char *, ...);
+void log_debug(const char *, ...);
+void log_info(const char *, ...);
+void log_warn(const char *, ...);
+void fatal(const char *, ...);
+
+void *xmalloc(size_t);
+void *xcalloc(size_t, size_t);
+void fd_nonblock(int);
+void droppriv();
+void addrcpy(struct sockaddr_in *, struct sockaddr_in *);
+void socketpair_prepare(int *);
+