timesyncd.h | timesyncd-conf.h | |||
---|---|---|---|---|
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | |||
#pragma once | ||||
/*** | /*** | |||
This file is part of systemd. | This file is part of systemd. | |||
Copyright 2014 Kay Sievers, Lennart Poettering | Copyright 2014 Kay Sievers, Lennart Poettering | |||
systemd is free software; you can redistribute it and/or modify it | systemd is free software; you can redistribute it and/or modify it | |||
under the terms of the GNU Lesser General Public License as published by | under the terms of the GNU Lesser General Public License as published by | |||
the Free Software Foundation; either version 2.1 of the License, or | the Free Software Foundation; either version 2.1 of the License, or | |||
(at your option) any later version. | (at your option) any later version. | |||
systemd is distributed in the hope that it will be useful, but | systemd is distributed in the hope that it will be useful, but | |||
WITHOUT ANY WARRANTY; without even the implied warranty of | WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public License | You should have received a copy of the GNU Lesser General Public License | |||
along with systemd; If not, see <http://www.gnu.org/licenses/>. | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |||
***/ | ***/ | |||
#include "list.h" | #include "conf-parser.h" | |||
#include "socket-util.h" | ||||
#include "ratelimit.h" | #include "timesyncd-manager.h" | |||
#include "sd-event.h" | ||||
#include "sd-resolve.h" | ||||
#include "sd-network.h" | ||||
typedef struct Manager Manager; | ||||
typedef struct ServerAddress ServerAddress; | ||||
typedef struct ServerName ServerName; | ||||
struct ServerAddress { | ||||
union sockaddr_union sockaddr; | ||||
socklen_t socklen; | ||||
LIST_FIELDS(ServerAddress, addresses); | ||||
}; | ||||
struct ServerName { | ||||
char *string; | ||||
LIST_HEAD(ServerAddress, addresses); | ||||
LIST_FIELDS(ServerName, names); | ||||
}; | ||||
struct Manager { | ||||
sd_event *event; | ||||
sd_resolve *resolve; | ||||
LIST_HEAD(ServerName, servers); | ||||
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; | ||||
ServerName *current_server_name; | ||||
ServerAddress *current_server_address; | ||||
int server_socket; | ||||
uint64_t packet_count; | ||||
sd_event_source *event_timeout; | ||||
/* last sent packet */ | ||||
struct timespec trans_time_mon; | ||||
struct timespec trans_time; | ||||
usec_t retry_interval; | ||||
bool pending; | ||||
/* poll timer */ | ||||
sd_event_source *event_timer; | ||||
usec_t poll_interval_usec; | ||||
bool poll_resync; | ||||
/* history data */ | ||||
struct { | ||||
double offset; | ||||
double delay; | ||||
} samples[8]; | ||||
unsigned int samples_idx; | ||||
double samples_jitter; | ||||
/* last change */ | ||||
bool jumped; | ||||
bool sync; | ||||
int drift_ppm; | ||||
/* watch for time changes */ | ||||
sd_event_source *event_clock_watch; | ||||
int clock_watch_fd; | ||||
/* Retry connections */ | ||||
sd_event_source *event_retry; | ||||
}; | ||||
const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsign ed length); | const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsign ed length); | |||
int manager_parse_server_string(Manager *m, ServerType type, const char *st | ||||
ring); | ||||
int config_parse_servers(const char *unit, const char *filename, unsigned l ine, const char *section, unsigned section_line, const char *lvalue, int lt ype, const char *rvalue, void *data, void *userdata); | int config_parse_servers(const char *unit, const char *filename, unsigned l ine, const char *section, unsigned section_line, const char *lvalue, int lt ype, const char *rvalue, void *data, void *userdata); | |||
int manager_parse_config_file(Manager *m); | ||||
End of changes. 4 change blocks. | ||||
75 lines changed or deleted | 8 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |