src/os/unix/ngx_time.h - nginx-1.7.10

Data types defined

Macros defined

Source code


  1. /*
  2. * Copyright (C) Igor Sysoev
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #ifndef _NGX_TIME_H_INCLUDED_
  6. #define _NGX_TIME_H_INCLUDED_


  7. #include <ngx_config.h>
  8. #include <ngx_core.h>


  9. typedef ngx_rbtree_key_t      ngx_msec_t;
  10. typedef ngx_rbtree_key_int_t  ngx_msec_int_t;

  11. typedef struct tm             ngx_tm_t;

  12. #define ngx_tm_sec            tm_sec
  13. #define ngx_tm_min            tm_min
  14. #define ngx_tm_hour           tm_hour
  15. #define ngx_tm_mday           tm_mday
  16. #define ngx_tm_mon            tm_mon
  17. #define ngx_tm_year           tm_year
  18. #define ngx_tm_wday           tm_wday
  19. #define ngx_tm_isdst          tm_isdst

  20. #define ngx_tm_sec_t          int
  21. #define ngx_tm_min_t          int
  22. #define ngx_tm_hour_t         int
  23. #define ngx_tm_mday_t         int
  24. #define ngx_tm_mon_t          int
  25. #define ngx_tm_year_t         int
  26. #define ngx_tm_wday_t         int


  27. #if (NGX_HAVE_GMTOFF)
  28. #define ngx_tm_gmtoff         tm_gmtoff
  29. #define ngx_tm_zone           tm_zone
  30. #endif


  31. #if (NGX_SOLARIS)

  32. #define ngx_timezone(isdst) (- (isdst ? altzone : timezone) / 60)

  33. #else

  34. #define ngx_timezone(isdst) (- (isdst ? timezone + 3600 : timezone) / 60)

  35. #endif


  36. void ngx_timezone_update(void);
  37. void ngx_localtime(time_t s, ngx_tm_t *tm);
  38. void ngx_libc_localtime(time_t s, struct tm *tm);
  39. void ngx_libc_gmtime(time_t s, struct tm *tm);

  40. #define ngx_gettimeofday(tp)  (void) gettimeofday(tp, NULL);
  41. #define ngx_msleep(ms)        (void) usleep(ms * 1000)
  42. #define ngx_sleep(s)          (void) sleep(s)


  43. #endif /* _NGX_TIME_H_INCLUDED_ */