/* BSDish gettimeofday() and settimeofday() calls */ /* also ftime(), which seems to be similar to gettimeofday() */ #include #include #include #ifdef __TURBOC__ #include #else #include #endif extern int _dst; /* in time.c */ extern long _timezone; /* in localtim.c */ int gettimeofday( tv, tzp ) struct timeval *tv; struct timezone *tzp; { struct timeb tp; int r; r = ftime(&tp); if (r) return r; if (tv) { tv->tv_sec = tp.time; tv->tv_usec = 0; } if (tzp) { tzp->tz_minuteswest = tp.timezone; tzp->tz_dsttime = tp.dstflag; } return 0; } int settimeofday( tv, tzp ) struct timeval *tv; struct timezone *tzp; { return stime(&tv->tv_sec); } int ftime(tp) struct timeb *tp; { long t = time((time_t *)0); tp->time = t; tp->millitm = 0; tp->timezone = _timezone / 60; tp->dstflag = (_dst) ? 1 : 0; return 0; }