0
|
1
|
|
2 /*
|
|
3 * Copyright (C) Igor Sysoev
|
|
4 */
|
|
5
|
|
6
|
|
7 #ifndef _NGX_TIME_H_INCLUDED_
|
|
8 #define _NGX_TIME_H_INCLUDED_
|
|
9
|
|
10
|
|
11 #include <ngx_config.h>
|
|
12 #include <ngx_core.h>
|
|
13
|
|
14
|
110
|
15 typedef ngx_rbtree_key_t ngx_msec_t;
|
|
16 typedef ngx_rbtree_key_int_t ngx_msec_int_t;
|
0
|
17
|
110
|
18 typedef struct tm ngx_tm_t;
|
0
|
19
|
110
|
20 #define ngx_tm_sec tm_sec
|
|
21 #define ngx_tm_min tm_min
|
|
22 #define ngx_tm_hour tm_hour
|
|
23 #define ngx_tm_mday tm_mday
|
|
24 #define ngx_tm_mon tm_mon
|
|
25 #define ngx_tm_year tm_year
|
|
26 #define ngx_tm_wday tm_wday
|
|
27 #define ngx_tm_isdst tm_isdst
|
0
|
28
|
110
|
29 #define ngx_tm_sec_t int
|
|
30 #define ngx_tm_min_t int
|
|
31 #define ngx_tm_hour_t int
|
|
32 #define ngx_tm_mday_t int
|
|
33 #define ngx_tm_mon_t int
|
|
34 #define ngx_tm_year_t int
|
|
35 #define ngx_tm_wday_t int
|
0
|
36
|
|
37
|
18
|
38 #if (NGX_HAVE_GMTOFF)
|
110
|
39 #define ngx_tm_gmtoff tm_gmtoff
|
|
40 #define ngx_tm_zone tm_zone
|
0
|
41 #endif
|
|
42
|
|
43
|
4
|
44 #if (NGX_SOLARIS)
|
|
45
|
0
|
46 #define ngx_timezone(isdst) (- (isdst ? altzone : timezone) / 60)
|
4
|
47
|
|
48 #else
|
|
49
|
|
50 #define ngx_timezone(isdst) (- (isdst ? timezone + 3600 : timezone) / 60)
|
|
51
|
0
|
52 #endif
|
|
53
|
|
54
|
112
|
55 void ngx_localtime(time_t s, ngx_tm_t *tm);
|
|
56 void ngx_libc_localtime(time_t s, struct tm *tm);
|
|
57 void ngx_libc_gmtime(time_t s, struct tm *tm);
|
0
|
58
|
66
|
59 #define ngx_gettimeofday(tp) (void) gettimeofday(tp, NULL);
|
|
60 #define ngx_msleep(ms) (void) usleep(ms * 1000)
|
|
61 #define ngx_sleep(s) (void) sleep(s)
|
0
|
62
|
|
63
|
|
64 #endif /* _NGX_TIME_H_INCLUDED_ */
|