Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/time.h
Show First 20 Lines • Show All 387 Lines • ▼ Show 20 Lines | do { \ | ||||
(vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \ | (vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \ | ||||
(vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \ | (vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \ | ||||
if ((vsp)->tv_nsec < 0) { \ | if ((vsp)->tv_nsec < 0) { \ | ||||
(vsp)->tv_sec--; \ | (vsp)->tv_sec--; \ | ||||
(vsp)->tv_nsec += 1000000000L; \ | (vsp)->tv_nsec += 1000000000L; \ | ||||
} \ | } \ | ||||
} while (0) | } while (0) | ||||
#ifdef _KERNEL | #if defined(_KERNEL) | ||||
/* Operations on timevals. */ | /* Operations on timevals. */ | ||||
#define timevalclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) | #define timevalclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) | ||||
#define timevalisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) | #define timevalisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) | ||||
#define timevalcmp(tvp, uvp, cmp) \ | #define timevalcmp(tvp, uvp, cmp) \ | ||||
(((tvp)->tv_sec == (uvp)->tv_sec) ? \ | (((tvp)->tv_sec == (uvp)->tv_sec) ? \ | ||||
((tvp)->tv_usec cmp (uvp)->tv_usec) : \ | ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ | ||||
▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | |||||
#define TIMER_ABSTIME 0x1 /* absolute timer */ | #define TIMER_ABSTIME 0x1 /* absolute timer */ | ||||
#endif | #endif | ||||
#if __BSD_VISIBLE | #if __BSD_VISIBLE | ||||
#define CPUCLOCK_WHICH_PID 0 | #define CPUCLOCK_WHICH_PID 0 | ||||
#define CPUCLOCK_WHICH_TID 1 | #define CPUCLOCK_WHICH_TID 1 | ||||
#endif | #endif | ||||
#ifdef _KERNEL | #if defined(_KERNEL) || defined(_STANDALONE) | ||||
/* | /* | ||||
* Kernel to clock driver interface. | * Kernel to clock driver interface. | ||||
*/ | */ | ||||
void inittodr(time_t base); | void inittodr(time_t base); | ||||
void resettodr(void); | void resettodr(void); | ||||
extern volatile time_t time_second; | extern volatile time_t time_second; | ||||
▲ Show 20 Lines • Show All 91 Lines • ▼ Show 20 Lines | #define FREQ2BT(freq, bt) \ | ||||
(bt)->sec = 0; \ | (bt)->sec = 0; \ | ||||
(bt)->frac = ((uint64_t)0x8000000000000000 / (freq)) << 1; \ | (bt)->frac = ((uint64_t)0x8000000000000000 / (freq)) << 1; \ | ||||
} | } | ||||
#define TIMESEL(sbt, sbt2) \ | #define TIMESEL(sbt, sbt2) \ | ||||
(((sbt2) >= sbt_timethreshold) ? \ | (((sbt2) >= sbt_timethreshold) ? \ | ||||
((*(sbt) = getsbinuptime()), 1) : ((*(sbt) = sbinuptime()), 0)) | ((*(sbt) = getsbinuptime()), 1) : ((*(sbt) = sbinuptime()), 0)) | ||||
#else /* !_KERNEL */ | #else /* !_KERNEL && !_STANDALONE */ | ||||
#include <time.h> | #include <time.h> | ||||
#include <sys/cdefs.h> | #include <sys/cdefs.h> | ||||
#include <sys/select.h> | #include <sys/select.h> | ||||
__BEGIN_DECLS | __BEGIN_DECLS | ||||
int setitimer(int, const struct itimerval *, struct itimerval *); | int setitimer(int, const struct itimerval *, struct itimerval *); | ||||
int utimes(const char *, const struct timeval *); | int utimes(const char *, const struct timeval *); | ||||
Show All 20 Lines |