mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 16:45:07 -05:00
ntp: drop initstepslew NTP implementation
The initstepslew code has its own minimal NTP implementation. Drop the code, add a new initstepslew mode to the reference updating code and use regular NTP sources with iburst flag for initstepslew addresses instead. When an update is made or a source is found unreachable, log a message, remove the initstepslew sources and switch to normal mode. This reduces code duplication and makes initstepslew use features implemented only in the main code like source combining or SO_TIMESTAMP support.
This commit is contained in:
18
reference.h
18
reference.h
@@ -40,6 +40,24 @@ extern void REF_Initialise(void);
|
||||
/* Fini function */
|
||||
extern void REF_Finalise(void);
|
||||
|
||||
typedef enum {
|
||||
REF_ModeNormal,
|
||||
REF_ModeInitStepSlew,
|
||||
REF_ModeIgnore,
|
||||
} REF_Mode;
|
||||
|
||||
/* Set reference update mode */
|
||||
extern void REF_SetMode(REF_Mode mode);
|
||||
|
||||
/* Get reference update mode */
|
||||
extern REF_Mode REF_GetMode(void);
|
||||
|
||||
/* Function type for handlers to be called back when mode ends */
|
||||
typedef void (*REF_ModeEndHandler)(int result);
|
||||
|
||||
/* Set the handler for being notified of mode ending */
|
||||
extern void REF_SetModeEndHandler(REF_ModeEndHandler handler);
|
||||
|
||||
/* Function which takes a local cooked time and returns the estimated
|
||||
time of the reference. It also returns the other parameters
|
||||
required for forming the outgoing NTP packet.
|
||||
|
||||
Reference in New Issue
Block a user