aboutsummaryrefslogtreecommitdiff
path: root/eperd/evntp.c
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2015-05-15 10:25:25 +0200
committerBjørn Mork <bjorn@mork.no>2015-05-15 10:25:25 +0200
commit73e699faf130d0fc0f2f076d95db9dbd7f42a8b6 (patch)
tree6f0e62ed18a2791e66525b9efb6430e851ba76d8 /eperd/evntp.c
parentb8c5c3b44362778c099531f7a905c56a0423bcef (diff)
ripe-atlas-fw: imported version 46604660
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Diffstat (limited to 'eperd/evntp.c')
-rw-r--r--eperd/evntp.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/eperd/evntp.c b/eperd/evntp.c
new file mode 100644
index 0000000..0047d1b
--- /dev/null
+++ b/eperd/evntp.c
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2013 RIPE NCC <atlas@ripe.net>
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Standalone version of the event-based ntp.
+ */
+
+#include "libbb.h"
+#include <syslog.h>
+#include <event2/dns.h>
+#include <event2/event.h>
+#include <event2/event_struct.h>
+
+#include "eperd.h"
+
+static void done(void *state UNUSED_PARAM)
+{
+ fprintf(stderr, "And we are done\n");
+ exit(0);
+}
+
+int evntp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int evntp_main(int argc UNUSED_PARAM, char **argv)
+{
+ int r;
+ void *state;
+
+ /* Create libevent event base */
+ EventBase= event_base_new();
+ if (!EventBase)
+ {
+ fprintf(stderr, "evntp: event_base_new failed\n");
+ exit(1);
+ }
+ DnsBase= evdns_base_new(EventBase, 1 /*initialize*/);
+ if (!DnsBase)
+ {
+ fprintf(stderr, "evdns_base_new failed\n");
+ exit(1);
+ }
+
+ state= ntp_ops.init(argc, argv, done);
+ if (!state)
+ {
+ fprintf(stderr, "evntp: ntp_ops.init failed\n");
+ exit(1);
+ }
+ ntp_ops.start(state);
+
+ r= event_base_loop(EventBase, 0);
+ if (r != 0)
+ {
+ fprintf(stderr, "evntp: event_base_loop failed\n");
+ exit(1);
+ }
+ return 0; /* not reached */
+}
+