003 File Manager
Current Path:
/usr/src/contrib/ntp/include
usr
/
src
/
contrib
/
ntp
/
include
/
📁
..
📄
Makefile.am
(1.2 KB)
📄
Makefile.in
(24.68 KB)
📄
README
(157 B)
📄
adjtime.h
(1.96 KB)
📄
ascii.h
(2.78 KB)
📄
audio.h
(283 B)
📄
binio.h
(3.26 KB)
📄
declcond.h
(803 B)
📄
gps.h
(2.84 KB)
📄
hopf6039.h
(3.51 KB)
📄
icom.h
(2.33 KB)
📄
ieee754io.h
(2.94 KB)
📄
intreswork.h
(808 B)
📄
iosignal.h
(1.46 KB)
📁
isc
📄
l_stdlib.h
(4.8 KB)
📄
lib_strbuf.h
(674 B)
📄
libntp.h
(436 B)
📄
libssl_compat.h
(4.25 KB)
📄
mbg_gps166.h
(36.84 KB)
📄
mx4200.h
(2.15 KB)
📄
ntif.h
(2.86 KB)
📄
ntp.h
(33.52 KB)
📄
ntp_assert.h
(2.73 KB)
📄
ntp_calendar.h
(14.99 KB)
📄
ntp_calgps.h
(4.02 KB)
📄
ntp_cmdargs.h
(38 B)
📄
ntp_config.h
(8.33 KB)
📄
ntp_control.h
(5.66 KB)
📄
ntp_crypto.h
(6.61 KB)
📄
ntp_datum.h
(1.07 KB)
📄
ntp_debug.h
(635 B)
📄
ntp_filegen.h
(1.76 KB)
📄
ntp_fp.h
(13.37 KB)
📄
ntp_if.h
(651 B)
📄
ntp_intres.h
(1.77 KB)
📄
ntp_io.h
(1.82 KB)
📄
ntp_keyacc.h
(658 B)
📄
ntp_libopts.h
(330 B)
📄
ntp_lineedit.h
(251 B)
📄
ntp_lists.h
(12.09 KB)
📄
ntp_machine.h
(7.18 KB)
📄
ntp_malloc.h
(1.18 KB)
📄
ntp_md5.h
(1.32 KB)
📄
ntp_net.h
(6.61 KB)
📄
ntp_prio_q.h
(1.93 KB)
📄
ntp_proto.h
(95 B)
📄
ntp_psl.h
(342 B)
📄
ntp_random.h
(402 B)
📄
ntp_refclock.h
(7.81 KB)
📄
ntp_request.h
(30.83 KB)
📄
ntp_rfc2553.h
(8.46 KB)
📄
ntp_select.h
(1.02 KB)
📄
ntp_stdlib.h
(9.83 KB)
📄
ntp_string.h
(708 B)
📄
ntp_syscall.h
(1.17 KB)
📄
ntp_syslog.h
(2.94 KB)
📄
ntp_tty.h
(2.61 KB)
📄
ntp_types.h
(7.21 KB)
📄
ntp_unixtime.h
(1.6 KB)
📄
ntp_worker.h
(5.54 KB)
📄
ntp_workimpl.h
(749 B)
📄
ntpd.h
(20.67 KB)
📄
ntpsim.h
(3.85 KB)
📄
parse.h
(14.58 KB)
📄
parse_conf.h
(2.76 KB)
📄
rc_cmdlength.h
(83 B)
📄
recvbuff.h
(3.84 KB)
📄
refclock_atom.h
(449 B)
📄
refidsmear.h
(89 B)
📄
safecast.h
(1.04 KB)
📄
ssl_applink.c
(2.1 KB)
📄
timepps-SCO.h
(11.67 KB)
📄
timepps-Solaris.h
(13.24 KB)
📄
timepps-SunOS.h
(11.78 KB)
📄
timespecops.h
(4.82 KB)
📄
timetoa.h
(2.62 KB)
📄
timevalops.h
(8.33 KB)
📄
timexsup.h
(1.37 KB)
📄
trimble.h
(8.01 KB)
📄
vint64ops.h
(1.05 KB)
Editing: ntp_calgps.h
/* * ntp_calgps.h - calendar for GPS/GNSS based clocks * * Written by Juergen Perlinger (perlinger@ntp.org) for the NTP project. * The contents of 'html/copyright.html' apply. * * -------------------------------------------------------------------- * * This module implements stuff often used with GPS/GNSS receivers */ #ifndef NTP_CALGPS_H #define NTP_CALGPS_H #include <time.h> #include "ntp_types.h" #include "ntp_fp.h" #include "ntp_calendar.h" /* GPS week calendar (extended weeks) * We use weeks based on 1899-31-12, which was the last Sunday before * the begin of the NTP epoch. (Which is equivalent to saying 1900-01-01 * was a Monday...) * * We simply pre-calculate the offsets and cycle shifts for the real GPS * calendar, which starts at 1980-01-06, to simplyfy some expressions. * * This has a fringe benefit that should not be overlooked: Since week zero * is around 1900, and we should never have to deal with dates before * 1970 or 1980, a week number of zero can be easily used to indicate * an invalid week time stamp. */ #define GPSNTP_WSHIFT 4175 /* weeks 1899-31-12 --> 1980-01-06 */ #define GPSNTP_WCYCLE 79 /* above, modulo 1024 */ #define GPSNTP_DSHIFT 1 /* day number of 1900-01-01 in week */ struct gpsdatum { uint32_t weeks; /* weeks since GPS epoch */ int32_t wsecs; /* seconds since week start */ uint32_t frac; /* fractional seconds */ }; typedef struct gpsdatum TGpsDatum; typedef struct gpsdatum const TcGpsDatum; /* NTP date/time in split representation */ struct ntpdatum { uint32_t days; /* since NTP epoch */ int32_t secs; /* since midnight, denorm is ok */ uint32_t frac; /* fractional seconds */ }; typedef struct ntpdatum TNtpDatum; typedef struct ntpdatum const TcNtpDatum; /* * GPS week/sec calendar functions * * see the implementation for details, especially the * 'gpscal_from_weektime{1,2}()' */ extern TGpsDatum gpscal_fix_gps_era(TcGpsDatum *); extern void gpscal_add_offset(TGpsDatum *datum, l_fp offset); extern TGpsDatum gpscal_from_calendar_ex(TcCivilDate*, l_fp fofs, int/*BOOL*/ warp); static inline TGpsDatum gpscal_from_calendar(TcCivilDate *pCiv, l_fp fofs) { return gpscal_from_calendar_ex(pCiv, fofs, TRUE); } extern TGpsDatum /* see source for semantic of the 'fofs' value! */ gpscal_from_gpsweek(uint16_t w, int32_t s, l_fp fofs); extern TGpsDatum gpscal_from_weektime1(int32_t wsecs, l_fp fofs, l_fp pivot); extern TGpsDatum gpscal_from_weektime2(int32_t wsecs, l_fp fofs, TcGpsDatum *pivot); extern void gpscal_to_calendar(TCivilDate*, TcGpsDatum*); extern TGpsDatum gpscal_from_gpsntp(TcNtpDatum*); extern l_fp ntpfp_from_gpsdatum(TcGpsDatum *); /* * NTP day/sec calendar functions * * see the implementation for details, especially the * 'gpscal_from_daytime{1,2}()' */ extern TNtpDatum gpsntp_fix_gps_era(TcNtpDatum *); extern void gpsntp_add_offset(TNtpDatum *datum, l_fp offset); extern TNtpDatum gpsntp_from_calendar_ex(TcCivilDate*, l_fp fofs, int/*BOOL*/ warp); static inline TNtpDatum gpsntp_from_calendar(TcCivilDate * pCiv, l_fp fofs) { return gpsntp_from_calendar_ex(pCiv, fofs, TRUE); } extern TNtpDatum gpsntp_from_daytime1_ex(TcCivilDate *dt, l_fp fofs, l_fp pivot, int/*BOOL*/ warp); static inline TNtpDatum gpsntp_from_daytime1(TcCivilDate *dt, l_fp fofs, l_fp pivot) { return gpsntp_from_daytime1_ex(dt, fofs, pivot, TRUE); } extern TNtpDatum gpsntp_from_daytime2_ex(TcCivilDate *dt, l_fp fofs, TcNtpDatum *pivot, int/*BOOL*/ warp); static inline TNtpDatum gpsntp_from_daytime2(TcCivilDate *dt, l_fp fofs, TcNtpDatum *pivot) { return gpsntp_from_daytime2_ex(dt, fofs, pivot, TRUE); } extern TNtpDatum gpsntp_from_gpscal_ex(TcGpsDatum*, int/*BOOL*/ warp); static inline TNtpDatum gpsntp_from_gpscal(TcGpsDatum *wd) { return gpsntp_from_gpscal_ex(wd, FALSE); } extern void gpsntp_to_calendar(TCivilDate*, TcNtpDatum*); extern l_fp ntpfp_from_ntpdatum(TcNtpDatum*); /* * Some helpers */ /* apply fudge to time stamp: *SUBTRACT* the given offset from an l_fp*/ extern l_fp ntpfp_with_fudge(l_fp lfp, double ofs); #endif /*!defined(NTP_CALGPS_H)*/
Upload File
Create Folder