-int adjtime __P((const struct timeval *, struct timeval *));
-int futimes __P((int, const struct timeval *));
-int getitimer __P((int, struct itimerval *));
-int gettimeofday __P((struct timeval *, struct timezone *));
-int setitimer __P((int, const struct itimerval *, struct itimerval *));
-int settimeofday __P((const struct timeval *, const struct timezone *));
-int utimes __P((const char *, const struct timeval *));
+
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+int adjtime(const struct timeval *, struct timeval *);
+int futimes(int, const struct timeval *);
+int lutimes(const char *, const struct timeval *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+int settimeofday(const struct timeval *, const struct timezone *);
+#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+
+int getitimer(int, struct itimerval *);
+int gettimeofday(struct timeval * __restrict, void * __restrict);
+
+#include <sys/_select.h> /* select() prototype */
+
+int setitimer(int, const struct itimerval * __restrict,
+ struct itimerval * __restrict);
+int utimes(const char *, const struct timeval *);
+