1*58166Selan #ifndef time_h 2*58166Selan 3*58166Selan extern "C" { 4*58166Selan 5*58166Selan #ifdef __time_h_recursive 6*58166Selan #include_next <time.h> 7*58166Selan #else 8*58166Selan #define __time_h_recursive 9*58166Selan 10*58166Selan #include <_G_config.h> 11*58166Selan 12*58166Selan // A clean way to use and/or define time_t might allow removal of this crud. 13*58166Selan #ifndef __sys_time_h_recursive 14*58166Selan #define time __hide_time 15*58166Selan #define clock __hide_clock 16*58166Selan #define difftime __hide_difftime 17*58166Selan #define gmtime __hide_gmtime 18*58166Selan #define localtime __hide_localtime 19*58166Selan #define ctime __hide_ctime 20*58166Selan #define asctime __hide_asctime 21*58166Selan #define strftime __hide_strftime 22*58166Selan #endif 23*58166Selan #define mktime __hide_mktime 24*58166Selan #define tzset __hide_tzset 25*58166Selan #define tzsetwall __hide_tzsetwall 26*58166Selan #define getitimer __hide_getitimer 27*58166Selan #define setitimer __hide_setitimer 28*58166Selan #define gettimeofday __hide_gettimeofday 29*58166Selan #define settimeofday __hide_settimeofday 30*58166Selan 31*58166Selan #ifdef VMS 32*58166Selan struct unix_time 33*58166Selan { 34*58166Selan long int tv_sec; 35*58166Selan long int tv_usec; 36*58166Selan }; 37*58166Selan 38*58166Selan struct rusage 39*58166Selan { 40*58166Selan struct unix_time ru_utime; 41*58166Selan }; 42*58166Selan 43*58166Selan #define RUSAGE_SELF 0 //define it, it will be unused 44*58166Selan #else 45*58166Selan #ifdef hpux 46*58166Selan #define _INCLUDE_POSIX_SOURCE 47*58166Selan #endif 48*58166Selan 49*58166Selan #include_next <time.h> 50*58166Selan #endif 51*58166Selan #undef __time_h_recursive 52*58166Selan 53*58166Selan #define time_h 1 54*58166Selan 55*58166Selan #undef time 56*58166Selan #undef clock 57*58166Selan #undef difftime 58*58166Selan #undef gmtime 59*58166Selan #undef localtime 60*58166Selan #undef asctime 61*58166Selan #undef ctime 62*58166Selan #undef mktime 63*58166Selan #undef strftime 64*58166Selan #undef tzset 65*58166Selan #undef tzsetwall 66*58166Selan #undef getitimer 67*58166Selan #undef setitimer 68*58166Selan #undef gettimeofday 69*58166Selan #undef settimeofday 70*58166Selan 71*58166Selan extern char* asctime _G_ARGS((const struct tm*)); 72*58166Selan extern char* ctime _G_ARGS((const _G_time_t*)); 73*58166Selan double difftime _G_ARGS((_G_time_t, _G_time_t)); 74*58166Selan extern struct tm* gmtime _G_ARGS((const _G_time_t*)); 75*58166Selan extern struct tm* localtime _G_ARGS((const _G_time_t*)); 76*58166Selan extern _G_time_t mktime(struct tm*); 77*58166Selan extern _G_size_t strftime _G_ARGS((char*,_G_size_t,const char*,const struct tm*)); 78*58166Selan extern void tzset(); 79*58166Selan extern void tzsetwall(); 80*58166Selan 81*58166Selan extern int getitimer(int, struct itimerval*); 82*58166Selan extern int setitimer _G_ARGS((int, const struct itimerval*,struct itimerval*)); 83*58166Selan extern int gettimeofday(struct timeval*, struct timezone*); 84*58166Selan extern int settimeofday _G_ARGS((const struct timeval*,const struct timezone*)); 85*58166Selan extern int stime _G_ARGS((const _G_time_t*)); 86*58166Selan extern int dysize(int); 87*58166Selan 88*58166Selan #if defined(___AIX__) 89*58166Selan int clock (void); 90*58166Selan #elif defined(hpux) 91*58166Selan unsigned long clock(void); 92*58166Selan #else 93*58166Selan long clock(void); 94*58166Selan #endif 95*58166Selan _G_time_t time(_G_time_t*); 96*58166Selan unsigned ualarm(unsigned, unsigned); 97*58166Selan unsigned usleep(unsigned); 98*58166Selan void profil _G_ARGS((unsigned short*, _G_size_t, unsigned int, unsigned)); 99*58166Selan 100*58166Selan #endif 101*58166Selan } 102*58166Selan #endif 103