/* timing.h */
extern void TvNormalize(struct timeval *tv);
extern void TvSetConst (struct timeval *tv, LWORD sec, LWORD usec);
extern void TvAddConst (struct timeval *tv, LWORD sec, LWORD usec);
extern void TvSubConst (struct timeval *tv, LWORD sec, LWORD usec);
extern void TvGetTime(struct timeval *tv);
/* associated macros */
#define TVADD(tv1, tv2) TvAddConst(&tv1, tv2.tv_sec, tv2.tv_usec)
#define TVSUB(tv1, tv2) TvSubConst(&tv1, tv2.tv_sec, tv2.tv_usec)
#define TVSET(tv1, tv2) TvSetConst(&tv1, tv2.tv_sec, tv2.tv_usec)
/* handy little debugging routine */
#define TVPRINTF(tv) printf("tv%ld.%ld\n", tv.tv_sec, tv.tv_usec)