commit 8bf45581e9d9b5fd2c32633ecf3fcd800090b66e from: Sven M. Hallberg date: Wed Nov 22 23:38:01 2023 UTC define timespec helpers if missing commit - 76906c96c9ae0469191ea7b65a1c9bb2eb38e85c commit + 8bf45581e9d9b5fd2c32633ecf3fcd800090b66e blob - 8c36c73adac1227dca491c1429df2b94966870dd blob + f5b8ca1e1660f86cffe5298bba48fdcb9274ee66 --- platform.h +++ platform.h @@ -1,5 +1,30 @@ #ifndef PLATFORM_H_ #define PLATFORM_H_ +#include +/* define timespec helpers if missing - copied from OpenBSD sys/time.h */ +#ifndef timespecadd +#define timespecadd(tsp, usp, vsp) \ + do { \ + (vsp)->tv_sec = (tsp)->tv_sec + (usp)->tv_sec; \ + (vsp)->tv_nsec = (tsp)->tv_nsec + (usp)->tv_nsec; \ + if ((vsp)->tv_nsec >= 1000000000L) { \ + (vsp)->tv_sec++; \ + (vsp)->tv_nsec -= 1000000000L; \ + } \ + } while (0) +#endif +#ifndef timespecsub +#define timespecsub(tsp, usp, vsp) \ + do { \ + (vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \ + (vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \ + if ((vsp)->tv_nsec < 0) { \ + (vsp)->tv_sec--; \ + (vsp)->tv_nsec += 1000000000L; \ + } \ + } while (0) +#endif + #endif /* PLATFORM_H_ */