| #ifndef SYSROOT_TIME_H_ | |
| #define SYSROOT_TIME_H_ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <features.h> | |
| #include <bits/null.h> | |
| #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 | |
| #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) | |
| 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 // SYSROOT_TIME_H_ |