/*
******************************************************************************** * julian.h -- include file for Julian Toolkit * * Mark Showalter, PDS Ring-Moon Systems Node, December 1995 * Updated June 1998 to conform to other RingLib naming conventions. *******************************************************************************/ #include "ringlib.h" /******************************************************************************* * GLOBAL SYMBOLS *******************************************************************************/ #ifndef TRUE #define TRUE ((RL_BOOL) 1) #define FALSE ((RL_BOOL) 0) #endif #ifndef NULL #define NULL ((RL_VOID *) 0) #endif #define JUL_UTC_TYPE 0 #define JUL_TAI_TYPE 1 #define JUL_ET_TYPE 2 /******************************************************************************* * FUNCTION PROTOTYPES ******************************************************************************** * dates.c *******************************************************************************/ RL_INT4 Jul_DUTCofYMD RL_PROTO((RL_INT4 year, RL_INT4 month, RL_INT4 day)); void Jul_YDofDUTC RL_PROTO((RL_INT4 dutc, RL_INT4 *year, RL_INT4 *day)); void Jul_YMDofDUTC RL_PROTO((RL_INT4 dutc, RL_INT4 *year, RL_INT4 *month, RL_INT4 *day)); void Jul_Gregorian RL_PROTO((RL_INT4 year, RL_INT4 month, RL_INT4 day)); RL_BOOL Jul_IsLeapYear RL_PROTO((RL_INT4 year)); RL_INT4 Jul_YearDays RL_PROTO((RL_INT4 year)); RL_INT4 Jul_MonthDays RL_PROTO((RL_INT4 year, RL_INT4 month)); RL_INT4 Jul_DUTCofJDN RL_PROTO((RL_INT4 jdn)); RL_INT4 Jul_JDNofDUTC RL_PROTO((RL_INT4 dutc)); /******************************************************************************* * format.c *******************************************************************************/ void Jul_FormatDate RL_PROTO((RL_INT4 dutc, RL_CHAR *format, RL_CHAR *string)); RL_INT4 Jul_FormatTime RL_PROTO((RL_FLT8 secs, RL_BOOL isleap, RL_CHAR *format, RL_CHAR *string)); void Jul_FormatPDS RL_PROTO((RL_INT4 dutc, RL_FLT8 secs, RL_INT4 ndigits, RL_BOOL useZ, RL_CHAR *string)); void Jul_FormatSQL RL_PROTO((RL_INT4 dutc, RL_FLT8 secs, RL_CHAR *string)); /******************************************************************************* * juldates.c *******************************************************************************/ RL_FLT8 Jul_TAIofJD RL_PROTO((RL_FLT8 jd, RL_INT4 type)); RL_FLT8 Jul_JDofTAI RL_PROTO((RL_FLT8 tai, RL_INT4 type)); RL_FLT8 Jul_TAIofMJD RL_PROTO((RL_FLT8 mjd, RL_INT4 type)); RL_FLT8 Jul_MJDofTAI RL_PROTO((RL_FLT8 tai, RL_INT4 type)); /******************************************************************************* * leapsecs.c *******************************************************************************/ RL_INT4 Jul_LeapSecs RL_PROTO((RL_INT4 dutc)); RL_BOOL Jul_IsLeapDay RL_PROTO((RL_INT4 dutc)); RL_INT4 Jul_DaySecs RL_PROTO((RL_INT4 dutc)); RL_BOOL Jul_InitLeaps RL_PROTO((RL_CHAR *leapfile)); /******************************************************************************* * parser.c *******************************************************************************/ RL_BOOL Jul_ParseDT RL_PROTO((RL_CHAR *string, RL_CHAR *pref, RL_INT4 *dutc, RL_FLT8 *secs)); RL_BOOL Jul_ParseDate RL_PROTO((RL_CHAR *string, RL_CHAR *pref, RL_INT4 *dutc)); RL_BOOL Jul_ParseTime RL_PROTO((RL_CHAR *string, RL_BOOL isleap, RL_FLT8 *secs)); /******************************************************************************* * seconds.c *******************************************************************************/ RL_FLT8 Jul_SecofDHMS RL_PROTO((RL_INT4 day, RL_INT4 hour, RL_INT4 minute, RL_FLT8 second)); void Jul_DSofSec RL_PROTO((RL_FLT8 secs, RL_INT4 *day, RL_FLT8 *second)); void Jul_DHMSofSec RL_PROTO((RL_FLT8 secs, RL_INT4 *day, RL_INT4 *hour, RL_INT4 *minute, RL_FLT8 *second)); void Jul_HMSofSec RL_PROTO((RL_FLT8 secs, RL_INT4 *hour, RL_INT4 *minute, RL_FLT8 *second)); /******************************************************************************* * tai_et.c *******************************************************************************/ RL_FLT8 Jul_TAIofET RL_PROTO((RL_FLT8 et)); RL_FLT8 Jul_ETofTAI RL_PROTO((RL_FLT8 tai)); /******************************************************************************* * utc_tai.c *******************************************************************************/ RL_FLT8 Jul_TAIofDUTC RL_PROTO((RL_INT4 dutc)); RL_INT4 Jul_DUTCofTAI RL_PROTO((RL_FLT8 tai, RL_FLT8 *secs)); /********************************************************************************/