1 /*
2  * Public domain
3  * sys/time.h compatibility shim
4  */
5 
6 #ifndef LIBCRYPTOCOMPAT_SYS_TIME_H
7 #define LIBCRYPTOCOMPAT_SYS_TIME_H
8 
9 #ifdef _MSC_VER
10 #include <winsock2.h>
11 int gettimeofday(struct timeval *tp, void *tzp);
12 #else
13 #include_next <sys/time.h>
14 #endif
15 
16 #ifndef timersub
17 #define timersub(tvp, uvp, vvp)                                         \
18 	do {                                                            \
19 		(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec;          \
20 		(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec;       \
21 		if ((vvp)->tv_usec < 0) {                               \
22 			(vvp)->tv_sec--;                                \
23 			(vvp)->tv_usec += 1000000;                      \
24 		}                                                       \
25 	} while (0)
26 #endif
27 
28 #endif
29