Index: fusl/include/sys/time.h |
diff --git a/fusl/include/sys/time.h b/fusl/include/sys/time.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bfe1414e86fbc5b95f87680d022c6042cdd175c0 |
--- /dev/null |
+++ b/fusl/include/sys/time.h |
@@ -0,0 +1,68 @@ |
+#ifndef _SYS_TIME_H |
+#define _SYS_TIME_H |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <features.h> |
+ |
+#include <sys/select.h> |
+ |
+int gettimeofday (struct timeval *__restrict, void *__restrict); |
+ |
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+ |
+#define ITIMER_REAL 0 |
+#define ITIMER_VIRTUAL 1 |
+#define ITIMER_PROF 2 |
+ |
+struct itimerval |
+{ |
+ struct timeval it_interval; |
+ struct timeval it_value; |
+}; |
+ |
+int getitimer (int, struct itimerval *); |
+int setitimer (int, const struct itimerval *__restrict, struct itimerval *__restrict); |
+int utimes (const char *, const struct timeval [2]); |
+ |
+#endif |
+ |
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
+struct timezone { |
+ int tz_minuteswest; |
+ int tz_dsttime; |
+}; |
+int futimes(int, const struct timeval [2]); |
+int futimesat(int, const char *, const struct timeval [2]); |
+int lutimes(const char *, const struct timeval [2]); |
+int settimeofday(const struct timeval *, const struct timezone *); |
+int adjtime (const struct timeval *, struct timeval *); |
+#define timerisset(t) ((t)->tv_sec || (t)->tv_usec) |
+#define timerclear(t) ((t)->tv_sec = (t)->tv_usec = 0) |
+#define timercmp(s,t,op) ((s)->tv_sec == (t)->tv_sec ? \ |
+ (s)->tv_usec op (t)->tv_usec : (s)->tv_sec op (t)->tv_sec) |
+#define timeradd(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec + (t)->tv_sec, \ |
+ ((a)->tv_usec = (s)->tv_usec + (t)->tv_usec) >= 1000000 && \ |
+ ((a)->tv_usec -= 1000000, (a)->tv_sec++) ) |
+#define timersub(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec - (t)->tv_sec, \ |
+ ((a)->tv_usec = (s)->tv_usec - (t)->tv_usec) < 0 && \ |
+ ((a)->tv_usec += 1000000, (a)->tv_sec--) ) |
+#endif |
+ |
+#if defined(_GNU_SOURCE) |
+#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \ |
+ (ts)->tv_sec = (tv)->tv_sec, \ |
+ (ts)->tv_nsec = (tv)->tv_usec * 1000, \ |
+ (void)0 ) |
+#define TIMESPEC_TO_TIMEVAL(tv, ts) ( \ |
+ (tv)->tv_sec = (ts)->tv_sec, \ |
+ (tv)->tv_usec = (ts)->tv_nsec / 1000, \ |
+ (void)0 ) |
+#endif |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+#endif |