1 #include <time.h> 2 #include "time64_config.h" 3 4 #ifndef PERL_TIME64_H_ 5 # define PERL_TIME64_H_ 6 7 8 /* Set our custom types */ 9 typedef INT_64_T Int64; 10 typedef Int64 Time64_T; 11 typedef I32 Year; 12 13 14 /* A copy of the tm struct but with a 64 bit year */ 15 struct TM64 { 16 int tm_sec; 17 int tm_min; 18 int tm_hour; 19 int tm_mday; 20 int tm_mon; 21 Year tm_year; 22 int tm_wday; 23 int tm_yday; 24 int tm_isdst; 25 26 #ifdef HAS_TM_TM_GMTOFF 27 long tm_gmtoff; 28 #endif 29 30 #ifdef HAS_TM_TM_ZONE 31 const char *tm_zone; 32 #endif 33 }; 34 35 36 /* Decide which tm struct to use */ 37 #ifdef USE_TM64 38 #define TM TM64 39 #else 40 #define TM tm 41 #endif 42 43 44 /* Declare functions */ 45 struct TM *Perl_gmtime64_r (const Time64_T *, struct TM *); 46 struct TM *Perl_localtime64_r (const Time64_T *, struct TM *); 47 48 #endif 49