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:
parent
1b61a7060f
commit
8677b81966
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue