026a351996-06-21Fredrik Hübinette (Hubbe) /*\
06983f1996-09-22Fredrik Hübinette (Hubbe) ||| This file a part of Pike, and is copyright by Fredrik Hubinette ||| Pike is distributed as GPL (General Public License)
026a351996-06-21Fredrik Hübinette (Hubbe) ||| See the files COPYING and DISCLAIMER for more information. \*/ #ifndef TIME_STUFF_H #define TIME_STUFF_H #include "machine.h" #if TIME_WITH_SYS_TIME # include <sys/time.h> # include <time.h> #else # if HAVE_SYS_TIME_H # include <sys/time.h> # else # if HAVE_TIME_H # include <time.h> # endif # endif #endif
bdfb861997-12-22Fredrik Hübinette (Hubbe) #ifdef HAVE_WINSOCK_H # include <winsock.h> #endif
026a351996-06-21Fredrik Hübinette (Hubbe) #undef HAVE_SYS_TIME_H #undef HAVE_TIME_H #undef TIME_WITH_SYS_TIME #define my_timercmp(tvp, cmp, uvp) \
0cdad21996-07-01Fredrik Hübinette (Hubbe)  ( (tvp)->tv_sec == (uvp)->tv_sec ? \ (tvp)->tv_usec cmp (uvp)->tv_usec : \ (tvp)->tv_sec cmp (uvp)->tv_sec )
026a351996-06-21Fredrik Hübinette (Hubbe)  #define my_subtract_timeval(X, Y) \ do { \ struct timeval *_a=(X), *_b=(Y); \ _a->tv_sec -= _b->tv_sec; \
0cdad21996-07-01Fredrik Hübinette (Hubbe)  _a->tv_usec -= _b->tv_usec; \ if(_a->tv_usec < 0) { \ _a->tv_sec--; \ _a->tv_usec+=1000000; \
026a351996-06-21Fredrik Hübinette (Hubbe)  } \ } while(0) #define my_add_timeval(X, Y) \ do { \ struct timeval *_a=(X), *_b=(Y); \ _a->tv_sec += _b->tv_sec; \
0cdad21996-07-01Fredrik Hübinette (Hubbe)  _a->tv_usec += _b->tv_usec; \ if(_a->tv_usec >= 1000000) { \ _a->tv_sec++; \ _a->tv_usec-=1000000; \
026a351996-06-21Fredrik Hübinette (Hubbe)  } \ } while(0)
dfa5b31996-12-05Fredrik Hübinette (Hubbe) #ifndef STRUCT_TIMEVAL_DECLARED #define STRUCT_TIMEVAL_DECLARED #endif
211d6b1996-12-05Fredrik Hübinette (Hubbe)  #ifndef HAVE_STRUCT_TIMEVAL
026a351996-06-21Fredrik Hübinette (Hubbe) struct timeval { long tv_sec; long tv_usec; }; #endif #endif