/* time.h: Time management. */ #ifndef _TIME_H #define _TIME_H #include #include #include #include #include #include typedef long int clock_t; #define CLOCKS_PER_SEC 1000000 #ifdef __cplusplus extern "C" { #endif /* Get the current value of a system clock. */ int clock_gettime(clockid_t id, struct timespec* ts); /* Get the current wall clock time. */ time_t time(time_t* tp); /* Get the broken-down time representation of UNIX time, in local time. */ struct tm* localtime(const time_t* tp); /* Get the broken-down time representation of UNIX time, in local time. */ struct tm* localtime_r(const time_t* tp, struct tm* out); /* Get the broken-down time representation of UNIX time, in UTC time. */ struct tm* gmtime(const time_t* tp); /* Get the broken-down time representation of UNIX time, in UTC time. */ struct tm* gmtime_r(const time_t* tp, struct tm* out); /* Build a string representation of broken-down time. */ char* asctime(const struct tm* tm); /* Build a string representation of broken-down time. */ char* asctime_r(const struct tm* tm, char buf[26]); /* Build a string representation of UNIX time. */ char* ctime(const time_t* tp); /* Build a string representation of UNIX time. */ char* ctime_r(const time_t* tp, char buf[26]); /* Convert broken-down time back into UNIX time. */ time_t mktime(struct tm* tm); /* Format a string representation of broken-down time using a format string. */ size_t strftime(char* buf, size_t max, const char* format, const struct tm* tm); /* Return the difference in seconds between two times. */ double difftime(time_t a, time_t b); /* Estimate the CPU time used by a process. */ clock_t clock(void); /* Create a new POSIX timer. */ int timer_create(clockid_t clockid, struct sigevent* sevp, timer_t* timerid); /* Get the current time remaining for a POSIX timer. */ int timer_gettime(timer_t timerid, struct itimerspec* value); /* Set the time remaining and interval for a POSIX timer. */ int timer_settime(timer_t timerid, int flags, const struct itimerspec* new_value, struct itimerspec* old_value); /* Delete an existing POSIX timer. */ int timer_delete(timer_t timerid); #ifdef __cplusplus } #endif #endif