diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-08-12 19:48:24 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-08-12 19:48:24 +0200 |
commit | 874ff7bf4d6fe693542209f127d23cd89adc499b (patch) | |
tree | 3918bc0e967ca64ca3e4b8cad39ccd9f47754d4f /src/timesync/timesyncd-server.h | |
parent | 96e6e394431dcc1db52847be311e2c8e61d7a9d6 (diff) |
timesyncd: beef up NTP server selection logic, and acquire NTP servers from DHCP
Diffstat (limited to 'src/timesync/timesyncd-server.h')
-rw-r--r-- | src/timesync/timesyncd-server.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/timesync/timesyncd-server.h b/src/timesync/timesyncd-server.h index a1312bfe0c..243b44a0eb 100644 --- a/src/timesync/timesyncd-server.h +++ b/src/timesync/timesyncd-server.h @@ -21,24 +21,47 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include "socket-util.h" +#include "list.h" + typedef struct ServerAddress ServerAddress; typedef struct ServerName ServerName; -#include "socket-util.h" -#include "list.h" +typedef enum ServerType { + SERVER_SYSTEM, + SERVER_FALLBACK, + SERVER_LINK, +} ServerType; + +#include "timesyncd-manager.h" struct ServerAddress { + ServerName *name; + union sockaddr_union sockaddr; socklen_t socklen; + LIST_FIELDS(ServerAddress, addresses); }; struct ServerName { + Manager *manager; + + ServerType type; char *string; + + bool marked:1; + LIST_HEAD(ServerAddress, addresses); LIST_FIELDS(ServerName, names); }; +int server_address_new(ServerName *n, ServerAddress **ret, const union sockaddr_union *sockaddr, socklen_t socklen); +ServerAddress* server_address_free(ServerAddress *a); static inline int server_address_pretty(ServerAddress *a, char **pretty) { return sockaddr_pretty(&a->sockaddr.sa, a->socklen, true, pretty); } + +int server_name_new(Manager *m, ServerName **ret, ServerType type,const char *string); +ServerName *server_name_free(ServerName *n); +void server_name_flush_addresses(ServerName *n); |