Igor Sysoev | d90282d | 2004-09-28 08:34:51 +0000 | [diff] [blame] | 1 | |
| 2 | /* |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 3 | * Copyright (C) Igor Sysoev |
Igor Sysoev | d90282d | 2004-09-28 08:34:51 +0000 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | |
Igor Sysoev | d59a047 | 2003-11-10 21:09:22 +0000 | [diff] [blame] | 7 | #ifndef _NGX_TIMES_H_INCLUDED_ |
| 8 | #define _NGX_TIMES_H_INCLUDED_ |
| 9 | |
| 10 | |
| 11 | #include <ngx_config.h> |
| 12 | #include <ngx_core.h> |
| 13 | |
| 14 | |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 15 | typedef struct { |
| 16 | time_t sec; |
| 17 | ngx_uint_t msec; |
| 18 | ngx_int_t gmtoff; |
| 19 | } ngx_time_t; |
| 20 | |
| 21 | |
Igor Sysoev | 8184d1b | 2005-03-04 14:06:57 +0000 | [diff] [blame] | 22 | void ngx_time_init(void); |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 23 | void ngx_time_update(time_t sec, ngx_uint_t msec); |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 24 | u_char *ngx_http_time(u_char *buf, time_t t); |
| 25 | u_char *ngx_http_cookie_time(u_char *buf, time_t t); |
Igor Sysoev | 562e53e | 2003-11-13 06:14:05 +0000 | [diff] [blame] | 26 | void ngx_gmtime(time_t t, ngx_tm_t *tp); |
Igor Sysoev | d59a047 | 2003-11-10 21:09:22 +0000 | [diff] [blame] | 27 | |
Igor Sysoev | 1b138ed | 2003-11-18 21:34:08 +0000 | [diff] [blame] | 28 | |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 29 | extern volatile ngx_time_t *ngx_cached_time; |
Igor Sysoev | d59a047 | 2003-11-10 21:09:22 +0000 | [diff] [blame] | 30 | |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 31 | #define ngx_time() ngx_cached_time->sec |
| 32 | #define ngx_timeofday() (ngx_time_t *) ngx_cached_time |
Igor Sysoev | c024730 | 2004-06-27 18:01:57 +0000 | [diff] [blame] | 33 | |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 34 | extern volatile ngx_str_t ngx_cached_err_log_time; |
| 35 | extern volatile ngx_str_t ngx_cached_http_time; |
| 36 | extern volatile ngx_str_t ngx_cached_http_log_time; |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 37 | |
| 38 | /* |
Igor Sysoev | 208eed2 | 2005-10-07 13:30:52 +0000 | [diff] [blame] | 39 | * milliseconds elapsed since epoch and truncated to ngx_msec_t, |
| 40 | * used in event timers |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 41 | */ |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 42 | extern volatile ngx_msec_t ngx_current_msec; |
Igor Sysoev | 10318a2 | 2004-01-29 21:45:01 +0000 | [diff] [blame] | 43 | |
Igor Sysoev | d59a047 | 2003-11-10 21:09:22 +0000 | [diff] [blame] | 44 | |
| 45 | #endif /* _NGX_TIMES_H_INCLUDED_ */ |