X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libudev%2Flibudev-util.c;h=51dd017467c6ea577825ceee35ceb1663d31cf0c;hb=c54b43e2c233e724f840c4f6a0a81bdd549e40bb;hp=6c309afd0536798fe3a1e81dffb2b68d4bb7a591;hpb=8ba13ec1cd00b86001b4344aec11ae0a64395f7b;p=elogind.git diff --git a/libudev/libudev-util.c b/libudev/libudev-util.c index 6c309afd0..51dd01746 100644 --- a/libudev/libudev-util.c +++ b/libudev/libudev-util.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "libudev.h" @@ -553,3 +554,15 @@ uint64_t util_string_bloom64(const char *str) bits |= 1LLU << ((hash >> 18) & 63); return bits; } + +#define USEC_PER_SEC 1000000ULL +#define NSEC_PER_USEC 1000ULL +unsigned long long usec_monotonic(void) +{ + struct timespec ts; + + if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) + return 0; + return (unsigned long long) ts.tv_sec * USEC_PER_SEC + + (unsigned long long) ts.tv_nsec / NSEC_PER_USEC; +}