-int itimerfix __P((struct timeval *tv));
-int itimerdecr __P((struct itimerval *itp, int usec));
-void microtime __P((struct timeval *tv));
+
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+__BEGIN_DECLS
+void microtime(struct timeval *tv);
+void microuptime(struct timeval *tv);
+#define getmicrotime(a) microtime(a)
+#define getmicrouptime(a) microuptime(a)
+void nanotime(struct timespec *ts);
+void nanouptime(struct timespec *ts);
+#define getnanotime(a) nanotime(a)
+#define getnanouptime(a) nanouptime(a)
+void timevaladd(struct timeval *t1, struct timeval *t2);
+void timevalsub(struct timeval *t1, struct timeval *t2);
+void timevalfix(struct timeval *t1);
+#ifdef BSD_KERNEL_PRIVATE
+time_t boottime_sec(void);
+void inittodr(time_t base) __attribute__((section("__TEXT, initcode")));
+#endif /* BSD_KERNEL_PRIVATE */
+
+__END_DECLS
+
+#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+