+++ /dev/null
-/** @file\r
- Definitions private to the Implementation of <time.h>.\r
-\r
- Copyright (c) 2010, 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.php.\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
- Portions derived from the NIH time zone package files,\r
- which contain 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
-#ifndef _TIMEVAL_H\r
-#define _TIMEVAL_H\r
-\r
-extern struct state * lclptr;\r
-extern struct state * gmtptr;\r
-extern char * tzname[2];\r
-extern const char gmt[4];\r
-extern const char wildabbr[9];\r
-extern const int year_lengths[2];\r
-extern const int mon_lengths[2][MONSPERYEAR];\r
-extern long int timezone;\r
-extern int daylight;\r
-\r
-#define EFI_UNSPECIFIED_TIMEZONE 0x07FF\r
-\r
-/*\r
-** The DST rules to use if TZ has no rules and we can't load TZDEFRULES.\r
-** We default to US rules as of 1999-08-17.\r
-** POSIX 1003.1 section 8.1.1 says that the default DST rules are\r
-** implementation dependent; for historical reasons, US rules are a\r
-** common default.\r
-*/\r
-#ifndef TZDEFRULESTRING\r
-#define TZDEFRULESTRING ",M4.1.0,M10.5.0"\r
-#endif\r
-\r
-// Facilities for external time-zone definition files do not currently exist\r
-#define NO_ZONEINFO_FILES\r
-\r
-#define EPOCH_DAY 5\r
-#define DAY_TO_uSEC 86400000000\r
-\r
-/* Rule type values for the r_type member of a rule structure */\r
-#define JULIAN_DAY 0 /* Jn - Julian day */\r
-#define DAY_OF_YEAR 1 /* n - day of year */\r
-#define MONTH_NTH_DAY_OF_WEEK 2 /* Mm.n.d - month, week, day of week */\r
-\r
-#ifdef TZNAME_MAX\r
- #define MY_TZNAME_MAX TZNAME_MAX\r
-#endif /* defined TZNAME_MAX */\r
-\r
-#ifndef TZNAME_MAX\r
- #define MY_TZNAME_MAX 255\r
-#endif /* !defined TZNAME_MAX */\r
-\r
-/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */\r
-#define is_digit(c) ((unsigned)(c) - '0' <= 9)\r
-\r
-#define LEAPS_THRU_END_OF(y) ((y) / 4 - (y) / 100 + (y) / 400)\r
-\r
-#define BIGGEST(a, b) (((a) > (b)) ? (a) : (b))\r
-\r
-#ifndef INITIALIZE\r
-#define INITIALIZE(x) ((x) = 0)\r
-#endif /* !defined INITIALIZE */\r
-\r
-struct ttinfo { /* time type information */\r
- LONG32 tt_gmtoff; /* UTC offset in seconds */\r
- int tt_isdst; /* used to set tm_isdst */\r
- int tt_abbrind; /* abbreviation list index */\r
- int tt_ttisstd; /* TRUE if transition is std time */\r
- int tt_ttisgmt; /* TRUE if transition is UTC */\r
-};\r
-\r
-struct lsinfo { /* leap second information */\r
- time_t ls_trans; /* transition time */\r
- LONG32 ls_corr; /* correction to apply */\r
-};\r
-\r
-struct state {\r
- int leapcnt;\r
- int timecnt;\r
- int typecnt;\r
- int charcnt;\r
- time_t ats[TZ_MAX_TIMES];\r
- unsigned char types[TZ_MAX_TIMES];\r
- struct ttinfo ttis[TZ_MAX_TYPES];\r
- char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, sizeof gmt), (2 * (MY_TZNAME_MAX + 1)))];\r
- struct lsinfo lsis[TZ_MAX_LEAPS];\r
-};\r
-\r
-struct rule {\r
- int r_type; /* type of rule--see below */\r
- int r_day; /* day number of rule */\r
- int r_week; /* week number of rule */\r
- int r_mon; /* month number of rule */\r
- LONG32 r_time; /* transition time of rule */\r
-};\r
-\r
-#define JULIAN_DAY 0 /* Jn - Julian day */\r
-#define DAY_OF_YEAR 1 /* n - day of year */\r
-#define MONTH_NTH_DAY_OF_WEEK 2 /* Mm.n.d - month, week, day of week */\r
-\r
-__BEGIN_DECLS\r
-extern void gmtload(struct state * const sp);\r
-extern void tzset(void);\r
-__END_DECLS\r
-\r
-#endif /* _TIMEVAL_H */\r