X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libudev%2Flibudev-util.c;h=48eea0b8981282bd25d692de973293910be4c6f3;hb=a178e7fe90c5f9a4f9f196575102ab6812bb5973;hp=6c309afd0536798fe3a1e81dffb2b68d4bb7a591;hpb=8ba13ec1cd00b86001b4344aec11ae0a64395f7b;p=elogind.git diff --git a/libudev/libudev-util.c b/libudev/libudev-util.c index 6c309afd0..48eea0b89 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 now_usec(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; +}