add legacy BSD-style timer*() macros in sys/time.h
authorRich Felker <dalias@aerifal.cx>
Mon, 11 Apr 2011 02:46:46 +0000 (22:46 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 11 Apr 2011 02:46:46 +0000 (22:46 -0400)
include/sys/time.h

index 766ac72..70fd568 100644 (file)
@@ -42,6 +42,16 @@ struct timezone {
        int tz_minuteswest;
        int tz_dsttime;
 };
+#define timerisset(t) ((t)->tv_sec || (t)->tv_usec)
+#define timerclear(t) ((t)->tv_sec = (t)->tv_usec = 0)
+#define timercmp(s,t,op) ((s)->tv_sec == (t)->tv_sec ? \
+       (s)->tv_usec op (t)->tv_usec : (s)->tv_sec op (t)->tv_sec)
+#define timeradd(s,t,a) ( (a)->tv_sec = (s)->tv_sec + (t)->tv_sec, \
+       ((a)->tv_usec = (s)->tv_usec + (t)->tv_usec) >= 1000000 && \
+       ((a)->tv_usec -= 1000000, (a)->tv_sec++) )
+#define timersub(s,t,a) ( (a)->tv_sec = (s)->tv_sec - (t)->tv_sec, \
+       ((a)->tv_usec = (s)->tv_usec - (t)->tv_usec) < 0 && \
+       ((a)->tv_usec += 1000000, (a)->tv_sec--) )
 #endif
 
 #ifdef __cplusplus