diff options
author | Nicolas Dato <nicolas.dato@gmail.com> | 2023-11-05 15:07:12 -0300 |
---|---|---|
committer | Nicolas Dato <nicolas.dato@gmail.com> | 2023-11-05 15:07:12 -0300 |
commit | 3c3935dc6d5ba6e4ed33bad1e969aa9888bd3a8a (patch) | |
tree | ef6e9118e42c23ed7fb0b363ab47c6f1cc81b11b /src/utils.c | |
parent | 0ad04cccbecd82d2683b54338b8dd088492b7215 (diff) | |
download | libtuberia-3c3935dc6d5ba6e4ed33bad1e969aa9888bd3a8a.tar.gz |
Adding some initial code. utils.c for some auxiliary functions, and itc.c for intra-tuberia-communication
Diffstat (limited to 'src/utils.c')
-rw-r--r-- | src/utils.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..8505b63 --- /dev/null +++ b/src/utils.c @@ -0,0 +1,35 @@ +#include "utils.h" + +#include <stdlib.h> +#include <sys/time.h> + +struct timespec *timespec_add_ms(struct timespec *ts, int timeout_ms) +{ + long long nsec; + + if (!ts) { + return NULL; + } + + nsec = ts->tv_nsec + timeout_ms * 1000000LL; + ts->tv_sec += nsec / 1000000000LL; + ts->tv_nsec = nsec % 1000000000LL; + + return ts; +} + +struct timespec *gettimespec(struct timespec *ts) +{ + struct timeval tv; + + if (!ts) { + return NULL; + } + + gettimeofday(&tv, NULL); + ts->tv_sec = tv.tv_sec; + ts->tv_nsec = tv.tv_usec * 1000L; + + return ts; +} + |