table of contents
TM(3) | Library Functions Manual | TM(3) |
NAME¶
tv - high resolution time support
SYNOPSIS¶
#include <tv.h>
DESCRIPTION¶
The tv library supports high resolution Tv_t time specifications.
Tv_t¶
contains these elements:
- unsigned
- _ast_int4_t tv_sec Seconds since the epoch.
- unsigned
- _ast_int4_t tv_nsec Nanosecond resolution.
In practice resolution is much coarser than 1 nanosecond. Systems that only support 1 second resolution always set tv_nsec to 0.
int tvgettime(Tv_t* tv)¶
Sets tv to the current time. 0 is returned on success, -1 on error.
int tvsettime(const Tv_t* tv)¶
Sets the system time to tv. The caller must have sufficient privilege. 0 is returned on success, -1 on error.
int tvcmp(const Tv_t* av, const Tv_t* bv)¶
Compares the times av and bv and returns -1 if av is less than bv, 0 if av is equal to bv, and 1 if av is greater than bv.
time_t tvgetatime(Tv_t* tv, const struct stat* st)¶
time_t tvgetmtime(Tv_t* tv, const struct stat* st)¶
time_t tvgetctime(Tv_t* tv, const struct stat* st)¶
These macros set tv to the st the access, modify, or change time, respectively. The seconds portion of tv is returned.
time_t tvsetatime(Tv_t* tv, struct stat* st)¶
time_t tvsetmtime(Tv_t* tv, struct stat* st)¶
time_t tvsetctime(Tv_t* tv, struct stat* st)¶
These macros set the st access, modify, or change time, respectively, to tv. The seconds portion of tv is returned.
int tvtouch(const char* path, const Tv_t* av, const Tv_t* mv, const Tv_t* cv, int copy)¶
Sets the file path access time from av, modify time from mv, and change time from cv. Any of av, mv, and cv may be 0; the corresponding file time will retain the previous value if path exists and copy is 1; otherwise the corresponding file time will be set to the current time. 0 is returned on success, -1 on error.
int tvsleep(const Tv_t* tv, Tv_t* rv)¶
Pauses execution for tv time. 0 is returned if the full tv amount has expired. Otherwise -1 is returned and rv, if not 0, is set to the sleep time remaining.
RETURN VALUE¶
Except for tvcmp(), an error return of -1 also sets errno to the corresponding error code.