/* Current clock time, truncated to seconds */
#define clock_Sec() ((!clock_haveCurrentTime)? clock_UpdateTime(), clock_now.sec:clock_now.sec)
+
+extern void clock_Init(void);
+extern int clock_UnInit(void);
+extern void clock_UpdateTime(void);
+
#endif /* AFS_USE_GETTIMEOFDAY || AFS_PTHREAD_ENV */
#else /* KERNEL */
#define clock_Init()
#if defined(AFS_SGI61_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_LINUX_64BIT_KERNEL)
-#define clock_GetTime(cv) osi_GetTime((osi_timeval_t *)cv)
+#define clock_GetTime(cv) osi_GetTime((osi_timeval32_t *)cv)
#else
-#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || (defined(AFS_DARWIN100_ENV) && defined(__amd64__))
+#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || (defined(AFS_DARWIN100_ENV) && defined(__amd64__)) || defined(AFS_XBSD_ENV)
#define clock_GetTime(cv) \
BEGIN \
struct timeval tv; \
(cv)->usec = (afs_int32)tv.tv_usec; \
END
#else /* defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL) */
-#define clock_GetTime(cv) osi_GetTime((osi_timeval_t *)(cv))
+#define clock_GetTime(cv) osi_GetTime((osi_timeval32_t *)(cv))
#endif /* defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL) */
#endif
#define clock_Sec() osi_Time()
/* Add time c2 to time c1. Both c2 and c1 must be positive times. */
#define clock_Add(c1, c2) \
BEGIN \
+ (c1)->sec += (c2)->sec; \
if (((c1)->usec += (c2)->usec) >= 1000000) { \
(c1)->usec -= 1000000; \
(c1)->sec++; \
} \
- (c1)->sec += (c2)->sec; \
END
#define USEC(cp) (((cp)->sec * 1000000) + (cp)->usec)