Commit Diff


commit - 76906c96c9ae0469191ea7b65a1c9bb2eb38e85c
commit + 8bf45581e9d9b5fd2c32633ecf3fcd800090b66e
blob - 8c36c73adac1227dca491c1429df2b94966870dd
blob + f5b8ca1e1660f86cffe5298bba48fdcb9274ee66
--- platform.h
+++ platform.h
@@ -1,5 +1,30 @@
 #ifndef PLATFORM_H_ 
 #define PLATFORM_H_ 
 
+#include <sys/time.h>
 
+/* 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_ */