chiark / gitweb /
timesyncd: add sockaddr_pretty wrapper
[elogind.git] / src / timesync / timesyncd.h
index 6dd1388ea8c6078807d0b7bd0bc6fff561207db4..52cca6d1ed37e39c1cb59e37b69debaee723f933 100644 (file)
@@ -24,6 +24,7 @@
 #include "ratelimit.h"
 #include "sd-event.h"
 #include "sd-resolve.h"
+#include "sd-network.h"
 
 typedef struct Manager Manager;
 typedef struct ServerAddress ServerAddress;
@@ -41,6 +42,10 @@ struct ServerName {
         LIST_FIELDS(ServerName, names);
 };
 
+static inline int server_address_pretty(ServerAddress *a, char **pretty) {
+        return sockaddr_pretty(&a->sockaddr.sa, a->socklen, true, pretty);
+}
+
 struct Manager {
         sd_event *event;
         sd_resolve *resolve;
@@ -49,6 +54,10 @@ struct Manager {
 
         RateLimit ratelimit;
 
+        /* network */
+        sd_event_source *network_event_source;
+        sd_network_monitor *network_monitor;
+
         /* peer */
         sd_resolve_query *resolve_query;
         sd_event_source *event_receive;
@@ -79,6 +88,7 @@ struct Manager {
 
         /* last change */
         bool jumped;
+        bool sync;
         int drift_ppm;
 
         /* watch for time changes */
@@ -87,9 +97,6 @@ struct Manager {
 
         /* Retry connections */
         sd_event_source *event_retry;
-
-        /* Handle SIGINT/SIGTERM */
-        sd_event_source *sigterm, *sigint;
 };
 
 const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsigned length);