time.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. */
  9. #ifndef _SYS_TIME_H_
  10. #define _SYS_TIME_H_
  11. #include <time.h>
  12. #include <sys/types.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #ifndef _TIMEVAL_DEFINED
  17. #define _TIMEVAL_DEFINED
  18. /*
  19. * Structure returned by gettimeofday(2) system call,
  20. * and used in other calls.
  21. */
  22. struct timeval {
  23. long tv_sec; /* seconds */
  24. long tv_usec; /* and microseconds */
  25. };
  26. #endif /* _TIMEVAL_DEFINED */
  27. #ifndef _TIMESPEC_DEFINED
  28. #define _TIMESPEC_DEFINED
  29. /*
  30. * Structure defined by POSIX.1b to be like a timeval.
  31. */
  32. struct timespec {
  33. time_t tv_sec; /* seconds */
  34. long tv_nsec; /* and nanoseconds */
  35. };
  36. #endif /* _TIMESPEC_DEFINED */
  37. struct timezone {
  38. int tz_minuteswest; /* minutes west of Greenwich */
  39. int tz_dsttime; /* type of dst correction */
  40. };
  41. int gettimeofday(struct timeval *tp, void *ignore);
  42. struct tm *gmtime_r(const time_t *timep, struct tm *r);
  43. #ifdef __cplusplus
  44. }
  45. #endif
  46. #endif /* _SYS_TIME_H_ */