+++ /dev/null
-/** @file\r
- Time Zone processing, declarations and macros.\r
-\r
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials are licensed and made available under\r
- the terms and conditions of the BSD License that accompanies this distribution.\r
- The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
- Derived from the NIH time zone package file, tzfile.h, which contains the following notice:\r
-\r
- This file is in the public domain, so clarified as of\r
- 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov).\r
-\r
- This header is for use ONLY with the time conversion code.\r
- There is no guarantee that it will remain unchanged,\r
- or that it will remain at all.\r
- Do NOT copy it to any system include directory.\r
- Thank you!\r
-\r
- NetBSD: tzfile.h,v 1.8 1998/01/22 07:06:59 jtc Exp\r
-**/\r
-#ifndef TZFILE_H\r
-#define TZFILE_H\r
-\r
-/*\r
-** Information about time zone files.\r
-*/\r
-\r
-#ifndef TZDIR /* Time zone object file directory */\r
-#define TZDIR "/usr/share/zoneinfo"\r
-#endif /* !defined TZDIR */\r
-\r
-#ifndef TZDEFAULT\r
-#define TZDEFAULT "/etc/localtime"\r
-#endif /* !defined TZDEFAULT */\r
-\r
-#ifndef TZDEFRULES\r
-#define TZDEFRULES "posixrules"\r
-#endif /* !defined TZDEFRULES */\r
-\r
-/*\r
-** Each file begins with. . .\r
-*/\r
-\r
-#define TZ_MAGIC "TZif"\r
-\r
-struct tzhead {\r
- char tzh_magic[4]; /* TZ_MAGIC */\r
- char tzh_reserved[16]; /* reserved for future use */\r
- char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */\r
- char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */\r
- char tzh_leapcnt[4]; /* coded number of leap seconds */\r
- char tzh_timecnt[4]; /* coded number of transition times */\r
- char tzh_typecnt[4]; /* coded number of local time types */\r
- char tzh_charcnt[4]; /* coded number of abbr. chars */\r
-};\r
-\r
-/*\r
-** . . .followed by. . .\r
-**\r
-** tzh_timecnt (char [4])s coded transition times a la time(2)\r
-** tzh_timecnt (unsigned char)s types of local time starting at above\r
-** tzh_typecnt repetitions of\r
-** one (char [4]) coded UTC offset in seconds\r
-** one (unsigned char) used to set tm_isdst\r
-** one (unsigned char) that's an abbreviation list index\r
-** tzh_charcnt (char)s '\0'-terminated zone abbreviations\r
-** tzh_leapcnt repetitions of\r
-** one (char [4]) coded leap second transition times\r
-** one (char [4]) total correction after above\r
-** tzh_ttisstdcnt (char)s indexed by type; if TRUE, transition\r
-** time is standard time, if FALSE,\r
-** transition time is wall clock time\r
-** if absent, transition times are\r
-** assumed to be wall clock time\r
-** tzh_ttisgmtcnt (char)s indexed by type; if TRUE, transition\r
-** time is UTC, if FALSE,\r
-** transition time is local time\r
-** if absent, transition times are\r
-** assumed to be local time\r
-*/\r
-\r
-/*\r
-** In the current implementation, "tzset()" refuses to deal with files that\r
-** exceed any of the limits below.\r
-*/\r
-\r
-#ifndef TZ_MAX_TIMES\r
-/*\r
-** The TZ_MAX_TIMES value below is enough to handle a bit more than a\r
-** year's worth of solar time (corrected daily to the nearest second) or\r
-** 138 years of Pacific Presidential Election time\r
-** (where there are three time zone transitions every fourth year).\r
-*/\r
-#define TZ_MAX_TIMES 370\r
-#endif /* !defined TZ_MAX_TIMES */\r
-\r
-#ifndef TZ_MAX_TYPES\r
-#ifndef NOSOLAR\r
-#define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */\r
-#endif /* !defined NOSOLAR */\r
-#ifdef NOSOLAR\r
-/*\r
-** Must be at least 14 for Europe/Riga as of Jan 12 1995,\r
-** as noted by Earl Chew <earl@hpato.aus.hp.com>.\r
-*/\r
-#define TZ_MAX_TYPES 20 /* Maximum number of local time types */\r
-#endif /* !defined NOSOLAR */\r
-#endif /* !defined TZ_MAX_TYPES */\r
-\r
-#ifndef TZ_MAX_CHARS\r
-#define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */\r
- /* (limited by what unsigned chars can hold) */\r
-#endif /* !defined TZ_MAX_CHARS */\r
-\r
-#ifndef TZ_MAX_LEAPS\r
-#define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */\r
-#endif /* !defined TZ_MAX_LEAPS */\r
-\r
-#define SECSPERMIN 60\r
-#define MINSPERHOUR 60\r
-#define HOURSPERDAY 24\r
-#define DAYSPERWEEK 7\r
-#define DAYSPERNYEAR 365\r
-#define DAYSPERLYEAR 366\r
-#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)\r
-#define SECSPERDAY ((LONG32)(SECSPERHOUR * HOURSPERDAY))\r
-#define MONSPERYEAR 12\r
-\r
-#define EPOCH_YEAR 1970\r
-#define EPOCH_WDAY TM_THURSDAY // Use this for 32-bit time_t\r
-//#define EPOCH_WDAY TM_SUNDAY // Use this for 64-bit time_t\r
-\r
-/*\r
-** Accurate only for the past couple of centuries;\r
-** that will probably do.\r
-*/\r
-\r
-#define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))\r
-\r
-#endif /* !defined TZFILE_H */\r