Index: fusl/include/time.h |
diff --git a/fusl/include/time.h b/fusl/include/time.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..16ec08aeb2b4c6a592d83b0005315d71d9602987 |
--- /dev/null |
+++ b/fusl/include/time.h |
@@ -0,0 +1,139 @@ |
+#ifndef _TIME_H |
+#define _TIME_H |
+ |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <features.h> |
+ |
+#ifdef __cplusplus |
+#define NULL 0L |
+#else |
+#define NULL ((void*)0) |
+#endif |
+ |
+ |
+#define __NEED_size_t |
+#define __NEED_time_t |
+#define __NEED_clock_t |
+#define __NEED_struct_timespec |
+ |
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+#define __NEED_clockid_t |
+#define __NEED_timer_t |
+#define __NEED_pid_t |
+#define __NEED_locale_t |
+#endif |
+ |
+#include <bits/alltypes.h> |
+ |
+#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) |
+#define __tm_gmtoff tm_gmtoff |
+#define __tm_zone tm_zone |
+#endif |
+ |
+struct tm |
+{ |
+ int tm_sec; |
+ int tm_min; |
+ int tm_hour; |
+ int tm_mday; |
+ int tm_mon; |
+ int tm_year; |
+ int tm_wday; |
+ int tm_yday; |
+ int tm_isdst; |
+ long __tm_gmtoff; |
+ const char *__tm_zone; |
+}; |
+ |
+clock_t clock (void); |
+time_t time (time_t *); |
+double difftime (time_t, time_t); |
+time_t mktime (struct tm *); |
+size_t strftime (char *__restrict, size_t, const char *__restrict, const struct tm *__restrict); |
+struct tm *gmtime (const time_t *); |
+struct tm *localtime (const time_t *); |
+char *asctime (const struct tm *); |
+char *ctime (const time_t *); |
+int timespec_get(struct timespec *, int); |
+ |
+#define CLOCKS_PER_SEC 1000000L |
+ |
+#define TIME_UTC 1 |
+ |
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+ |
+size_t strftime_l (char * __restrict, size_t, const char * __restrict, const struct tm * __restrict, locale_t); |
+ |
+struct tm *gmtime_r (const time_t *__restrict, struct tm *__restrict); |
+struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict); |
+char *asctime_r (const struct tm *__restrict, char *__restrict); |
+char *ctime_r (const time_t *, char *); |
+ |
+void tzset (void); |
+ |
+struct itimerspec |
+{ |
+ struct timespec it_interval; |
+ struct timespec it_value; |
+}; |
+ |
+#define CLOCK_REALTIME 0 |
+#define CLOCK_MONOTONIC 1 |
+#define CLOCK_PROCESS_CPUTIME_ID 2 |
+#define CLOCK_THREAD_CPUTIME_ID 3 |
+#define CLOCK_MONOTONIC_RAW 4 |
+#define CLOCK_REALTIME_COARSE 5 |
+#define CLOCK_MONOTONIC_COARSE 6 |
+#define CLOCK_BOOTTIME 7 |
+#define CLOCK_REALTIME_ALARM 8 |
+#define CLOCK_BOOTTIME_ALARM 9 |
+#define CLOCK_SGI_CYCLE 10 |
+#define CLOCK_TAI 11 |
+ |
+#define TIMER_ABSTIME 1 |
+ |
+int nanosleep (const struct timespec *, struct timespec *); |
+int clock_getres (clockid_t, struct timespec *); |
+int clock_gettime (clockid_t, struct timespec *); |
+int clock_settime (clockid_t, const struct timespec *); |
+int clock_nanosleep (clockid_t, int, const struct timespec *, struct timespec *); |
+int clock_getcpuclockid (pid_t, clockid_t *); |
+ |
+struct sigevent; |
+int timer_create (clockid_t, struct sigevent *__restrict, timer_t *__restrict); |
+int timer_delete (timer_t); |
+int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict); |
+int timer_gettime (timer_t, struct itimerspec *); |
+int timer_getoverrun (timer_t); |
+ |
+#endif |
+ |
+ |
+#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) |
+char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict); |
+extern int daylight; |
+extern long timezone; |
+extern char *tzname[2]; |
+extern int getdate_err; |
+struct tm *getdate (const char *); |
+#endif |
+ |
+ |
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
+int stime(const time_t *); |
+time_t timegm(struct tm *); |
+#endif |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+ |
+#endif |