00001
00002
00003
00004
00005
00006 #ifndef _DATE_H
00007 #define _DATE_H
00008
00009 #include <stdio.h>
00010 #include <stdlib.h>
00011 #include <math.h>
00012 #include <time.h>
00013 #include "LeapSeconds.h"
00014
00015 #ifdef __cplusplus
00016 extern "C"
00017 {
00018 #endif
00019
00020 #ifndef M_PI
00021 #define M_PI 3.14159265358979323846
00022 #endif
00023 #define EPOCH_J2000_0_JD 2451545.0
00024 #define EPOCH_UNIX_GPS 315964800
00025 #define EPOCH_GPS_TAI_UTC 19
00027
00028 int LeapSeconds(int gpssec);
00029
00030
00031 int LeapSecondsUTC(const struct tm *utc);
00032
00033
00034
00035 struct tm* GPSToUTC(struct tm *utc, int gpssec);
00036
00037 int UTCToGPS( const struct tm *utc );
00038
00040 double JulianDay(const struct tm *utc);
00041
00042
00043 double GreenwichSiderealTime(const double gpstime, double equation_of_equinoxes);
00044
00045
00046 double GreenwichMeanSiderealTime(const double gpstime);
00047
00048 #ifdef __cplusplus
00049 }
00050 #endif
00051
00052 #endif