Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: source/tools/tzcode/tzfile.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/tools/tzcode/tz2icu.cpp ('k') | source/tools/tzcode/zdump.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #ifndef TZFILE_H 1 #ifndef TZFILE_H
2 2
3 #define TZFILE_H 3 #define TZFILE_H
4 4
5 /* 5 /*
6 ** This file is in the public domain, so clarified as of 6 ** This file is in the public domain, so clarified as of
7 ** 1996-06-05 by Arthur David Olson. 7 ** 1996-06-05 by Arthur David Olson.
8 */ 8 */
9 9
10 /* 10 /*
11 ** This header is for use ONLY with the time conversion code. 11 ** This header is for use ONLY with the time conversion code.
12 ** There is no guarantee that it will remain unchanged, 12 ** There is no guarantee that it will remain unchanged,
13 ** or that it will remain at all. 13 ** or that it will remain at all.
14 ** Do NOT copy it to any system include directory. 14 ** Do NOT copy it to any system include directory.
15 ** Thank you! 15 ** Thank you!
16 */ 16 */
17 17
18 /* 18 /*
19 ** ID
20 */
21
22 #ifndef lint
23 #ifndef NOID
24 static char tzfilehid[] = "@(#)tzfile.h 8.1";
25 #endif /* !defined NOID */
26 #endif /* !defined lint */
27
28 /*
29 ** Information about time zone files. 19 ** Information about time zone files.
30 */ 20 */
31 21
32 #ifndef TZDIR 22 #ifndef TZDIR
33 #define TZDIR "/usr/local/etc/zoneinfo" /* Time zone object file directory */ 23 #define TZDIR "/usr/local/etc/zoneinfo" /* Time zone object file directory */
34 #endif /* !defined TZDIR */ 24 #endif /* !defined TZDIR */
35 25
36 #ifndef TZDEFAULT 26 #ifndef TZDEFAULT
37 #define TZDEFAULT "localtime" 27 #define TZDEFAULT "localtime"
38 #endif /* !defined TZDEFAULT */ 28 #endif /* !defined TZDEFAULT */
39 29
40 #ifndef TZDEFRULES 30 #ifndef TZDEFRULES
41 #define TZDEFRULES "posixrules" 31 #define TZDEFRULES "posixrules"
42 #endif /* !defined TZDEFRULES */ 32 #endif /* !defined TZDEFRULES */
43 33
44 /* 34 /*
45 ** Each file begins with. . . 35 ** Each file begins with. . .
46 */ 36 */
47 37
48 #define TZ_MAGIC "TZif" 38 #define TZ_MAGIC "TZif"
49 39
50 struct tzhead { 40 struct tzhead {
51 char tzh_magic[4]; /* TZ_MAGIC */ 41 char tzh_magic[4]; /* TZ_MAGIC */
52 » char» tzh_version[1];»» /* '\0' or '2' as of 2005 */ 42 » char» tzh_version[1];»» /* '\0' or '2' or '3' as of 2013 */
53 char tzh_reserved[15]; /* reserved--must be zero */ 43 char tzh_reserved[15]; /* reserved--must be zero */
54 char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ 44 char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */
55 char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ 45 char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */
56 char tzh_leapcnt[4]; /* coded number of leap seconds */ 46 char tzh_leapcnt[4]; /* coded number of leap seconds */
57 char tzh_timecnt[4]; /* coded number of transition times */ 47 char tzh_timecnt[4]; /* coded number of transition times */
58 char tzh_typecnt[4]; /* coded number of local time types */ 48 char tzh_typecnt[4]; /* coded number of local time types */
59 char tzh_charcnt[4]; /* coded number of abbr. chars */ 49 char tzh_charcnt[4]; /* coded number of abbr. chars */
60 }; 50 };
61 51
62 /* 52 /*
63 ** . . .followed by. . . 53 ** . . .followed by. . .
64 ** 54 **
65 ** tzh_timecnt (char [4])s coded transition times a la time(2) 55 ** tzh_timecnt (char [4])s coded transition times a la time(2)
66 ** tzh_timecnt (unsigned char)s types of local time starting at above 56 ** tzh_timecnt (unsigned char)s types of local time starting at above
67 ** tzh_typecnt repetitions of 57 ** tzh_typecnt repetitions of
68 **» » one (char [4])» » coded UTC offset in seconds 58 **» » one (char [4])» » coded UT offset in seconds
69 ** one (unsigned char) used to set tm_isdst 59 ** one (unsigned char) used to set tm_isdst
70 ** one (unsigned char) that's an abbreviation list index 60 ** one (unsigned char) that's an abbreviation list index
71 ** tzh_charcnt (char)s '\0'-terminated zone abbreviations 61 ** tzh_charcnt (char)s '\0'-terminated zone abbreviations
72 ** tzh_leapcnt repetitions of 62 ** tzh_leapcnt repetitions of
73 ** one (char [4]) coded leap second transition times 63 ** one (char [4]) coded leap second transition times
74 ** one (char [4]) total correction after above 64 ** one (char [4]) total correction after above
75 ** tzh_ttisstdcnt (char)s indexed by type; if TRUE, transition 65 ** tzh_ttisstdcnt (char)s indexed by type; if TRUE, transition
76 ** time is standard time, if FALSE, 66 ** time is standard time, if FALSE,
77 ** transition time is wall clock time 67 ** transition time is wall clock time
78 ** if absent, transition times are 68 ** if absent, transition times are
79 ** assumed to be wall clock time 69 ** assumed to be wall clock time
80 ** tzh_ttisgmtcnt (char)s indexed by type; if TRUE, transition 70 ** tzh_ttisgmtcnt (char)s indexed by type; if TRUE, transition
81 **» » » » » time is UTC, if FALSE, 71 **» » » » » time is UT, if FALSE,
82 ** transition time is local time 72 ** transition time is local time
83 ** if absent, transition times are 73 ** if absent, transition times are
84 ** assumed to be local time 74 ** assumed to be local time
85 */ 75 */
86 76
87 /* 77 /*
88 ** If tzh_version is '2' or greater, the above is followed by a second instance 78 ** If tzh_version is '2' or greater, the above is followed by a second instance
89 ** of tzhead and a second instance of the data in which each coded transition 79 ** of tzhead and a second instance of the data in which each coded transition
90 ** time uses 8 rather than 4 chars, 80 ** time uses 8 rather than 4 chars,
91 ** then a POSIX-TZ-environment-variable-style string for use in handling 81 ** then a POSIX-TZ-environment-variable-style string for use in handling
92 ** instants after the last transition time stored in the file 82 ** instants after the last transition time stored in the file
93 ** (with nothing between the newlines if there is no POSIX representation for 83 ** (with nothing between the newlines if there is no POSIX representation for
94 ** such instants). 84 ** such instants).
85 **
86 ** If tz_version is '3' or greater, the above is extended as follows.
87 ** First, the POSIX TZ string's hour offset may range from -167
88 ** through 167 as compared to the POSIX-required 0 through 24.
89 ** Second, its DST start time may be January 1 at 00:00 and its stop
90 ** time December 31 at 24:00 plus the difference between DST and
91 ** standard time, indicating DST all year.
95 */ 92 */
96 93
97 /* 94 /*
98 ** In the current implementation, "tzset()" refuses to deal with files that 95 ** In the current implementation, "tzset()" refuses to deal with files that
99 ** exceed any of the limits below. 96 ** exceed any of the limits below.
100 */ 97 */
101 98
102 #ifndef TZ_MAX_TIMES 99 #ifndef TZ_MAX_TIMES
103 #define TZ_MAX_TIMES» 1200 100 #define TZ_MAX_TIMES» 2000
104 #endif /* !defined TZ_MAX_TIMES */ 101 #endif /* !defined TZ_MAX_TIMES */
105 102
106 #ifndef TZ_MAX_TYPES 103 #ifndef TZ_MAX_TYPES
107 #ifndef NOSOLAR 104 /* This must be at least 17 for Europe/Samara and Europe/Vilnius. */
108 #define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */ 105 #define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */
109 #endif /* !defined NOSOLAR */
110 #ifdef NOSOLAR
111 /*
112 ** Must be at least 14 for Europe/Riga as of Jan 12 1995,
113 ** as noted by Earl Chew.
114 */
115 #define TZ_MAX_TYPES 20 /* Maximum number of local time types */
116 #endif /* !defined NOSOLAR */
117 #endif /* !defined TZ_MAX_TYPES */ 106 #endif /* !defined TZ_MAX_TYPES */
118 107
119 #ifndef TZ_MAX_CHARS 108 #ifndef TZ_MAX_CHARS
120 #define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */ 109 #define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */
121 /* (limited by what unsigned chars can hold) */ 110 /* (limited by what unsigned chars can hold) */
122 #endif /* !defined TZ_MAX_CHARS */ 111 #endif /* !defined TZ_MAX_CHARS */
123 112
124 #ifndef TZ_MAX_LEAPS 113 #ifndef TZ_MAX_LEAPS
125 #define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */ 114 #define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */
126 #endif /* !defined TZ_MAX_LEAPS */ 115 #endif /* !defined TZ_MAX_LEAPS */
127 116
128 #define SECSPERMIN 60 117 #define SECSPERMIN 60
129 #define MINSPERHOUR 60 118 #define MINSPERHOUR 60
130 #define HOURSPERDAY 24 119 #define HOURSPERDAY 24
131 #define DAYSPERWEEK 7 120 #define DAYSPERWEEK 7
132 #define DAYSPERNYEAR 365 121 #define DAYSPERNYEAR 365
133 #define DAYSPERLYEAR 366 122 #define DAYSPERLYEAR 366
134 #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR) 123 #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
135 #define SECSPERDAY» ((long) SECSPERHOUR * HOURSPERDAY) 124 #define SECSPERDAY» ((int_fast32_t) SECSPERHOUR * HOURSPERDAY)
136 #define MONSPERYEAR 12 125 #define MONSPERYEAR 12
137 126
138 #define TM_SUNDAY 0 127 #define TM_SUNDAY 0
139 #define TM_MONDAY 1 128 #define TM_MONDAY 1
140 #define TM_TUESDAY 2 129 #define TM_TUESDAY 2
141 #define TM_WEDNESDAY 3 130 #define TM_WEDNESDAY 3
142 #define TM_THURSDAY 4 131 #define TM_THURSDAY 4
143 #define TM_FRIDAY 5 132 #define TM_FRIDAY 5
144 #define TM_SATURDAY 6 133 #define TM_SATURDAY 6
145 134
(...skipping 25 matching lines...) Expand all
171 ** or 160 ** or
172 ** isleap(a + b) == isleap(a % 400 + b % 400) 161 ** isleap(a + b) == isleap(a % 400 + b % 400)
173 ** This is true even if % means modulo rather than Fortran remainder 162 ** This is true even if % means modulo rather than Fortran remainder
174 ** (which is allowed by C89 but not C99). 163 ** (which is allowed by C89 but not C99).
175 ** We use this to avoid addition overflow problems. 164 ** We use this to avoid addition overflow problems.
176 */ 165 */
177 166
178 #define isleap_sum(a, b) isleap((a) % 400 + (b) % 400) 167 #define isleap_sum(a, b) isleap((a) % 400 + (b) % 400)
179 168
180 #endif /* !defined TZFILE_H */ 169 #endif /* !defined TZFILE_H */
OLDNEW
« no previous file with comments | « source/tools/tzcode/tz2icu.cpp ('k') | source/tools/tzcode/zdump.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698