upstream nginx-0.7.31
[nginx.git] / nginx / src / os / unix / ngx_time.h
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
15 typedef ngx_rbtree_key_t      ngx_msec_t;
16 typedef ngx_rbtree_key_int_t  ngx_msec_int_t;
17
18 typedef struct tm             ngx_tm_t;
19
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
28
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
36
37
38 #if (NGX_HAVE_GMTOFF)
39 #define ngx_tm_gmtoff         tm_gmtoff
40 #define ngx_tm_zone           tm_zone
41 #endif
42
43
44 #if (NGX_SOLARIS)
45
46 #define ngx_timezone(isdst) (- (isdst ? altzone : timezone) / 60)
47
48 #else
49
50 #define ngx_timezone(isdst) (- (isdst ? timezone + 3600 : timezone) / 60)
51
52 #endif
53
54
55 void ngx_timezone_update(void);
56 void ngx_localtime(time_t s, ngx_tm_t *tm);
57 void ngx_libc_localtime(time_t s, struct tm *tm);
58 void ngx_libc_gmtime(time_t s, struct tm *tm);
59
60 #define ngx_gettimeofday(tp)  (void) gettimeofday(tp, NULL);
61 #define ngx_msleep(ms)        (void) usleep(ms * 1000)
62 #define ngx_sleep(s)          (void) sleep(s)
63
64
65 #endif /* _NGX_TIME_H_INCLUDED_ */