caljulian.c revision 289764
1/* 2 * caljulian - determine the Julian date from an NTP time. 3 * 4 * (Note: since we use the GREGORIAN calendar, this should be renamed to 5 * 'calgregorian' eventually...) 6 */ 7#include <config.h> 8#include <sys/types.h> 9 10#include "ntp_types.h" 11#include "ntp_calendar.h" 12 13#if !(defined(ISC_CHECK_ALL) || defined(ISC_CHECK_NONE) || \ 14 defined(ISC_CHECK_ENSURE) || defined(ISC_CHECK_INSIST) || \ 15 defined(ISC_CHECK_INVARIANT)) 16# define ISC_CHECK_ALL 17#endif 18 19#include "ntp_assert.h" 20 21void 22caljulian( 23 uint32_t ntp, 24 struct calendar * jt 25 ) 26{ 27 vint64 vlong; 28 ntpcal_split split; 29 30 31 INSIST(NULL != jt); 32 33 /* 34 * Unfold ntp time around current time into NTP domain. Split 35 * into days and seconds, shift days into CE domain and 36 * process the parts. 37 */ 38 vlong = ntpcal_ntp_to_ntp(ntp, NULL); 39 split = ntpcal_daysplit(&vlong); 40 ntpcal_daysplit_to_date(jt, &split, DAY_NTP_STARTS); 41} 42