summaryrefslogtreecommitdiffhomepage
path: root/scpmisc.h
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2006-03-11 14:57:12 +0000
committerMatt Johnston <matt@ucc.asn.au>2006-03-11 14:57:12 +0000
commitc517ff57ca04346fcb4b45bbaf84624c76ba9d23 (patch)
tree8c27f70f45564ff224164416724af7ab1a689ac6 /scpmisc.h
parent46d53c37fa27994d17646e5eb922678a7ed4b3e7 (diff)
put back the TIMEVAL_TO_TIMESPEC and timersub macros for Linux
--HG-- extra : convert_revision : 8036b55441ef217824185b87697c3d68c849fe7a
Diffstat (limited to 'scpmisc.h')
-rw-r--r--scpmisc.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/scpmisc.h b/scpmisc.h
index c829347..7d0b326 100644
--- a/scpmisc.h
+++ b/scpmisc.h
@@ -46,3 +46,24 @@ char *xstrdup(const char *);
char *ssh_get_progname(char *);
void fatal(char* fmt,...);
void sanitise_stdfd(void);
+
+/* Required for non-BSD platforms, from OpenSSH's defines.h */
+#ifndef timersub
+#define timersub(a, b, result) \
+ do { \
+ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
+ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
+ if ((result)->tv_usec < 0) { \
+ --(result)->tv_sec; \
+ (result)->tv_usec += 1000000; \
+ } \
+ } while (0)
+#endif
+
+#ifndef TIMEVAL_TO_TIMESPEC
+#define TIMEVAL_TO_TIMESPEC(tv, ts) { \
+ (ts)->tv_sec = (tv)->tv_sec; \
+ (ts)->tv_nsec = (tv)->tv_usec * 1000; \
+}
+#endif
+