timespec.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _TIMESPEC_H
  2. #define _TIMESPEC_H
  3. #ifdef HAVE_CONFIG_H
  4. # include "config.h"
  5. #endif
  6. #ifdef HAVE_CONFIG_H
  7. #include "config.h"
  8. #endif
  9. #ifndef HAVE_TIMESPEC
  10. struct timespec {
  11. time_t tv_sec;
  12. long tv_nsec;
  13. };
  14. #endif /* !HAVE_TIMESPEC */
  15. #ifndef timespecclear
  16. # define timespecclear(ts) (ts)->tv_sec = (ts)->tv_nsec = 0
  17. #endif
  18. #ifndef timespecisset
  19. # define timespecisset(ts) ((ts)->tv_sec || (ts)->tv_nsec)
  20. #endif
  21. #ifndef timespecsub
  22. # define timespecsub(minuend, subrahend, difference) \
  23. do { \
  24. (difference)->tv_sec = (minuend)->tv_sec - (subrahend)->tv_sec; \
  25. (difference)->tv_nsec = (minuend)->tv_nsec - (subrahend)->tv_nsec; \
  26. if ((difference)->tv_nsec < 0) { \
  27. (difference)->tv_nsec += 1000000000L; \
  28. (difference)->tv_sec--; \
  29. } \
  30. } while (0)
  31. #endif
  32. #endif /* !_TIMESPEC_H */