util: add timespec_to_nsec

This commit is contained in:
Rose Hudson 2023-06-05 16:26:50 +01:00 committed by Simon Ser
parent 37b5f8a89e
commit bd834fe8d1
2 changed files with 9 additions and 0 deletions

View File

@ -13,6 +13,11 @@ int64_t get_current_time_msec(void);
*/ */
int64_t timespec_to_msec(const struct timespec *a); int64_t timespec_to_msec(const struct timespec *a);
/**
* Convert a timespec to nanoseconds.
*/
int64_t timespec_to_nsec(const struct timespec *a);
/** /**
* Convert nanoseconds to a timespec. * Convert nanoseconds to a timespec.
*/ */

View File

@ -10,6 +10,10 @@ int64_t timespec_to_msec(const struct timespec *a) {
return (int64_t)a->tv_sec * 1000 + a->tv_nsec / 1000000; return (int64_t)a->tv_sec * 1000 + a->tv_nsec / 1000000;
} }
int64_t timespec_to_nsec(const struct timespec *a) {
return (int64_t)a->tv_sec * NSEC_PER_SEC + a->tv_nsec;
}
void timespec_from_nsec(struct timespec *r, int64_t nsec) { void timespec_from_nsec(struct timespec *r, int64_t nsec) {
r->tv_sec = nsec / NSEC_PER_SEC; r->tv_sec = nsec / NSEC_PER_SEC;
r->tv_nsec = nsec % NSEC_PER_SEC; r->tv_nsec = nsec % NSEC_PER_SEC;