mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 16:45:07 -05:00
Equivalent to V1.19.99.1
This is a verbatim copy of the files at that stage of the repository that was built from the CVS import. It allows future development to see a bit of recent history, but without carrying around the baggage going back to 1997. If that is really required, git grafts can be used.
This commit is contained in:
147
reference.h
Normal file
147
reference.h
Normal file
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
$Header: /cvs/src/chrony/reference.h,v 1.13 2002/02/28 23:27:12 richard Exp $
|
||||
|
||||
=======================================================================
|
||||
|
||||
chronyd/chronyc - Programs for keeping computer clocks accurate.
|
||||
|
||||
**********************************************************************
|
||||
* Copyright (C) Richard P. Curnow 1997-2002
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
=======================================================================
|
||||
|
||||
This is the header file for the module that keeps track of the current
|
||||
reference.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef GOT_REFERENCE_H
|
||||
#define GOT_REFERENCE_H
|
||||
|
||||
#include "sysincl.h"
|
||||
|
||||
#include "ntp.h"
|
||||
#include "reports.h"
|
||||
|
||||
/* Init function */
|
||||
extern void REF_Initialise(void);
|
||||
|
||||
/* Fini function */
|
||||
extern void REF_Finalise(void);
|
||||
|
||||
/* 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.
|
||||
|
||||
local_time is the cooked local time returned by the LCL module
|
||||
|
||||
is_synchronised indicates whether we are synchronised to anything
|
||||
at the moment.
|
||||
|
||||
leap indicates the current leap status
|
||||
|
||||
stratum is the stratum of this machine, when considered to be sync'd to the
|
||||
reference
|
||||
|
||||
ref_id is the reference_id of the source
|
||||
|
||||
ref_time is the time at which the we last set the reference source up
|
||||
|
||||
root_delay is the root delay of the sample we are using
|
||||
|
||||
root_dispersion is the root dispersion of the sample we are using, with all the
|
||||
skew etc added on.
|
||||
|
||||
*/
|
||||
|
||||
extern void REF_GetReferenceParams
|
||||
(
|
||||
struct timeval *local_time,
|
||||
int *is_synchronised,
|
||||
NTP_Leap *leap,
|
||||
int *stratum,
|
||||
unsigned long *ref_id,
|
||||
struct timeval *ref_time,
|
||||
double *root_delay,
|
||||
double *root_dispersion
|
||||
);
|
||||
|
||||
/* Function called by the clock selection process to register a new
|
||||
reference source and its parameters
|
||||
|
||||
stratum is the stratum of the reference
|
||||
|
||||
leap is the leap status read from the source
|
||||
|
||||
ref_id is the reference id of the reference
|
||||
|
||||
ref_time is the time at which the parameters are assumed to be
|
||||
correct, in terms of local time
|
||||
|
||||
frequency is the amount of local clock gain relative to the
|
||||
reference per unit time interval of the local clock
|
||||
|
||||
skew is the maximum estimated frequency error (so we are within
|
||||
[frequency+-skew])
|
||||
|
||||
root_delay is the root delay of the sample we are using
|
||||
|
||||
root_dispersion is the root dispersion of the sample we are using
|
||||
|
||||
*/
|
||||
|
||||
extern void REF_SetReference
|
||||
(
|
||||
int stratum,
|
||||
NTP_Leap leap,
|
||||
unsigned long ref_id,
|
||||
struct timeval *ref_time,
|
||||
double offset,
|
||||
double frequency,
|
||||
double skew,
|
||||
double root_delay,
|
||||
double root_dispersion
|
||||
);
|
||||
|
||||
extern void REF_SetManualReference
|
||||
(
|
||||
struct timeval *ref_time,
|
||||
double offset,
|
||||
double frequency,
|
||||
double skew
|
||||
);
|
||||
|
||||
/* Mark the local clock as unsynchronised */
|
||||
extern void
|
||||
REF_SetUnsynchronised(void);
|
||||
|
||||
/* Return the current stratum of this host or zero if the host is not
|
||||
synchronised */
|
||||
extern int REF_GetOurStratum(void);
|
||||
|
||||
/* Modify the setting for the maximum skew we are prepared to allow updates on (in ppm). */
|
||||
extern void REF_ModifyMaxupdateskew(double new_max_update_skew);
|
||||
|
||||
extern void REF_EnableLocal(int stratum);
|
||||
extern void REF_DisableLocal(void);
|
||||
|
||||
extern void REF_GetTrackingReport(RPT_TrackingReport *rep);
|
||||
|
||||
extern void REF_CycleLogFile(void);
|
||||
|
||||
#endif /* GOT_REFERENCE_H */
|
||||
Reference in New Issue
Block a user