summaryrefslogtreecommitdiffstats
path: root/rtemsbsd
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-09-25 09:24:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-09-25 09:24:09 +0200
commit8618727d5161ab9485248f3135a076e9ae5dd964 (patch)
tree7341f020aedb040d0a2908eed008a10ed5ebc392 /rtemsbsd
parentUpdate to FreeBSD stable/12 2019-09-23 (diff)
downloadrtems-libbsd-8618727d5161ab9485248f3135a076e9ae5dd964.tar.bz2
Add compatiblity for older Newlib variants
Diffstat (limited to 'rtemsbsd')
-rw-r--r--rtemsbsd/include/machine/rtems-bsd-user-space.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/rtemsbsd/include/machine/rtems-bsd-user-space.h b/rtemsbsd/include/machine/rtems-bsd-user-space.h
index ac78b723..67326a0f 100644
--- a/rtemsbsd/include/machine/rtems-bsd-user-space.h
+++ b/rtemsbsd/include/machine/rtems-bsd-user-space.h
@@ -91,6 +91,42 @@ char *fgetln(FILE *fp, size_t *lenp);
/* FIXME: Add to Newlib */
int feature_present(const char *);
+/* FIXME: Remove after Newlib update */
+#ifndef timespecclear
+#define timespecclear(tvp) ((tvp)->tv_sec = (tvp)->tv_nsec = 0)
+#endif
+#ifndef timespecisset
+#define timespecisset(tvp) ((tvp)->tv_sec || (tvp)->tv_nsec)
+#endif
+#ifndef timespeccmp
+#define timespeccmp(tvp, uvp, cmp) \
+ (((tvp)->tv_sec == (uvp)->tv_sec) ? \
+ ((tvp)->tv_nsec cmp (uvp)->tv_nsec) : \
+ ((tvp)->tv_sec cmp (uvp)->tv_sec))
+#endif
+#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
+
__END_DECLS
#endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_USER_SPACE_H_ */