aboutsummaryrefslogtreecommitdiffstats
path: root/v3/glougloud/glougloud.h
diff options
context:
space:
mode:
Diffstat (limited to 'v3/glougloud/glougloud.h')
-rw-r--r--v3/glougloud/glougloud.h58
1 files changed, 32 insertions, 26 deletions
diff --git a/v3/glougloud/glougloud.h b/v3/glougloud/glougloud.h
index 468c341..618db9e 100644
--- a/v3/glougloud/glougloud.h
+++ b/v3/glougloud/glougloud.h
@@ -1,16 +1,15 @@
-/* glougloud internal */
+/*
+ * Public header for glougloud and glougloud modules
+ * (both probes and viz modules)
+ */
-#include <dnet.h>
-#include <event.h>
-#include <hiredis/hiredis.h>
-#include <hiredis/async.h>
-
-#define GLOUGLOUD_VERSION 3
+#if defined(__OpenBSD__)
+#include <sys/queue.h>
+#else
+#include <bsd/sys/queue.h>
+#endif
-#define GLOUGLOUD_USER_PROBES "_ggdprobe"
-#define GLOUGLOUD_USER_VIZ "_ggdviz"
-#define GLOUGLOUD_LOGFILE "/var/log/glougloud.log"
-#define GLOUGLOUD_MOD_PATH "/lib/glougloud/modules/"
+#include <dnet.h>
struct glougloud {
int daemonize;
@@ -31,22 +30,29 @@ struct glougloud {
} viz;
};
-/* redis.c */
-
-int redis_init(struct glougloud *);
-void redis_shutdown(void);
-
-redisAsyncContext *redis_connect(struct event_base *,
- void (*cb_connect)(const redisAsyncContext *, int),
- void (*cb_disconnect)(const redisAsyncContext *, int));
-void redis_disconnect(redisAsyncContext *);
+enum ggdviz_cli_type {
+ GGDVIZ_CLI_TCP = 0,
+ GGDVIZ_CLI_WS = 1
+};
-/* probes.c */
+struct ggdviz_cli {
+ LIST_ENTRY(ggdviz_cli) entry;
+ int id;
+ enum ggdviz_cli_type type;
+ union {
+ struct {
+ struct bufferevent *bev;
+ struct addr addr;
+ } tcp;
+ };
+};
-int probes_init(struct glougloud *);
-void probes_shutdown(void);
+struct ggdprobe_cli {
+ LIST_ENTRY(ggprobe_cli) entry;
+ int id;
+};
-/* viz.c */
+struct ggdmodviz_conf {
+ int id;
+};
-int viz_init(struct glougloud *);
-void viz_shutdown(void);