2000-12-04 Joel Sherrill <joel@OARcorp.com>

* libc/include/sys/time.h: Added BSD timer manipulation macros
        used by RTEMS code.
This commit is contained in:
Jeff Johnston 2000-12-04 18:40:53 +00:00
parent 1b61a7060f
commit 8677b81966
2 changed files with 37 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2000-12-04 Joel Sherrill <joel@OARcorp.com>
* libc/include/sys/time.h: Added BSD timer manipulation macros
used by RTEMS code.
2000-12-04 Joel Sherrill <joel@OARcorp.com>
* libc/sys/rtems/crt0.c: Add stubs for functions implicitly

View File

@ -38,6 +38,38 @@ struct itimerval {
struct timeval it_value;
};
/* BSD time macros used by RTEMS code */
#if defined(__rtems__)
/* Convenience macros for operations on timevals.
NOTE: `timercmp' does not work for >= or <=. */
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
#define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
#define timercmp(a, b, CMP) \
(((a)->tv_sec == (b)->tv_sec) ? \
((a)->tv_usec CMP (b)->tv_usec) : \
((a)->tv_sec CMP (b)->tv_sec))
#define timeradd(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 >= 1000000) \
{ \
++(result)->tv_sec; \
(result)->tv_usec -= 1000000; \
} \
} while (0)
#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
int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__z));
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
int _EXFUN(utimes, (const char *__path, struct timeval *__tvp));