#ifndef COSMOPOLITAN_LIBC_TIME_TIME_H_ #define COSMOPOLITAN_LIBC_TIME_TIME_H_ #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ struct itimerval; struct timespec; struct timeval; struct timezone; struct tm; extern const char kWeekdayNameShort[7][4]; extern const char kWeekdayName[7][10]; extern const char kMonthNameShort[12][4]; extern const char kMonthName[12][10]; extern char *tzname[2]; extern long CLOCKS_PER_SEC; int64_t clock(void); int64_t time(int64_t *); int gettimeofday(struct timeval *, struct timezone *); int clock_gettime(int, struct timespec *) paramsnonnull(); int clock_getres(int, struct timespec *); int sleep(uint32_t); int usleep(uint32_t); int nanosleep(const struct timespec *, struct timespec *) paramsnonnull((1)); unsigned alarm(unsigned); int getitimer(int, struct itimerval *) paramsnonnull(); int setitimer(int, const struct itimerval *, struct itimerval *) paramsnonnull((2)); void tzset(void); struct tm *gmtime(const int64_t *); struct tm *gmtime_r(const int64_t *, struct tm *); struct tm *localtime(const int64_t *); struct tm *localtime_r(const int64_t *, struct tm *); int64_t timegm(struct tm *); int64_t mktime(struct tm *); int64_t timelocal(struct tm *); int64_t timeoff(struct tm *, long); int64_t time2posix(int64_t) pureconst; int64_t posix2time(int64_t) pureconst; char *strptime(const char *, const char *, struct tm *); size_t strftime(char *, size_t, const char *, const struct tm *) strftimeesque(3); char *asctime(const struct tm *); char *asctime_r(const struct tm *, char * /*[64]*/); char *ctime(const int64_t *); char *ctime_r(const int64_t *, char * /*[64]*/); int utimes(const char *, const struct timeval *); long double dtime(int); long double dsleep(long double); extern long double (*nowl)(void); long double converttickstonanos(uint64_t); long double converttickstoseconds(uint64_t); double difftime(int64_t, int64_t) nothrow pureconst; COSMOPOLITAN_C_END_ #endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ #endif /* COSMOPOLITAN_LIBC_TIME_TIME_H_ */