1: /*
   2:  *	@(#)tzfile.h	5.2.1 (2.11BSD) 1996/11/29
   3:  */
   4: 
   5: /*
   6: ** Information about time zone files.
   7: */
   8: 
   9:             /* Time zone object file directory */
  10: #define TZDIR       "/usr/share/zoneinfo"
  11: #define TZDEFAULT   "/etc/localtime"
  12: 
  13: /*
  14: ** Each file begins with. . .
  15: */
  16: 
  17: struct tzhead {
  18:     char    tzh_reserved[32];   /* reserved for future use */
  19:     char    tzh_timecnt[4];     /* coded number of transition times */
  20:     char    tzh_typecnt[4];     /* coded number of local time types */
  21:     char    tzh_charcnt[4];     /* coded number of abbr. chars */
  22: };
  23: 
  24: /*
  25: ** . . .followed by. . .
  26: **
  27: **	tzh_timecnt (char [4])s		coded transition times a la time(2)
  28: **	tzh_timecnt (unsigned char)s	types of local time starting at above
  29: **	tzh_typecnt repetitions of
  30: **		one (char [4])		coded GMT offset in seconds
  31: **		one (unsigned char)	used to set tm_isdt
  32: **		one (unsigned char)	that's an abbreviation list index
  33: **	tzh_charcnt (char)s		'\0'-terminated zone abbreviaton strings
  34: */
  35: 
  36: /*
  37: ** In the current implementation, "tzset()" refuses to deal with files that
  38: ** exceed any of the limits below.
  39: */
  40: 
  41: /*
  42: ** The TZ_MAX_TIMES value below is enough to handle a bit more than a
  43: ** year's worth of solar time (corrected daily to the nearest second) or
  44: ** 138 years of Pacific Presidential Election time
  45: ** (where there are three time zone transitions every fourth year).
  46: */
  47: #define TZ_MAX_TIMES    370
  48: 
  49: #define NOSOLAR         /* We currently don't handle solar time */
  50: 
  51: #ifndef NOSOLAR
  52: #define TZ_MAX_TYPES    256 /* Limited by what (unsigned char)'s can hold */
  53: #else /* !NOSOLAR */
  54: #define TZ_MAX_TYPES    10  /* Maximum number of local time types */
  55: #endif /* !NOSOLAR */
  56: 
  57: #define TZ_MAX_CHARS    50  /* Maximum number of abbreviation characters */
  58: 
  59: #define SECS_PER_MIN    60
  60: #define MINS_PER_HOUR   60
  61: #define HOURS_PER_DAY   24
  62: #define DAYS_PER_WEEK   7
  63: #define DAYS_PER_NYEAR  365
  64: #define DAYS_PER_LYEAR  366
  65: #define SECS_PER_HOUR   (SECS_PER_MIN * MINS_PER_HOUR)
  66: #define SECS_PER_DAY    ((long) SECS_PER_HOUR * HOURS_PER_DAY)
  67: #define MONS_PER_YEAR   12
  68: 
  69: #define TM_SUNDAY   0
  70: #define TM_MONDAY   1
  71: #define TM_TUESDAY  2
  72: #define TM_WEDNESDAY    3
  73: #define TM_THURSDAY 4
  74: #define TM_FRIDAY   5
  75: #define TM_SATURDAY 6
  76: 
  77: #define TM_JANUARY  0
  78: #define TM_FEBRUARY 1
  79: #define TM_MARCH    2
  80: #define TM_APRIL    3
  81: #define TM_MAY      4
  82: #define TM_JUNE     5
  83: #define TM_JULY     6
  84: #define TM_AUGUST   7
  85: #define TM_SEPTEMBER    8
  86: #define TM_OCTOBER  9
  87: #define TM_NOVEMBER 10
  88: #define TM_DECEMBER 11
  89: #define TM_SUNDAY   0
  90: 
  91: #define TM_YEAR_BASE    1900
  92: 
  93: #define EPOCH_YEAR  1970
  94: #define EPOCH_WDAY  TM_THURSDAY
  95: 
  96: /*
  97: ** Accurate only for the past couple of centuries;
  98: ** that will probably do.
  99: */
 100: 
 101: #define isleap(y) (((y) % 4) == 0 && ((y) % 100) != 0 || ((y) % 400) == 0)

Defined struct's

tzhead defined in line 17; never used

Defined macros

DAYS_PER_LYEAR defined in line 64; never used
DAYS_PER_NYEAR defined in line 63; never used
DAYS_PER_WEEK defined in line 62; never used
EPOCH_WDAY defined in line 94; never used
EPOCH_YEAR defined in line 93; never used
HOURS_PER_DAY defined in line 61; used 1 times
  • in line 66
MINS_PER_HOUR defined in line 60; used 1 times
  • in line 65
MONS_PER_YEAR defined in line 67; never used
NOSOLAR defined in line 49; used 1 times
  • in line 51
SECS_PER_DAY defined in line 66; never used
SECS_PER_HOUR defined in line 65; used 1 times
  • in line 66
SECS_PER_MIN defined in line 59; used 1 times
  • in line 65
TM_APRIL defined in line 80; never used
TM_AUGUST defined in line 84; never used
TM_DECEMBER defined in line 88; never used
TM_FEBRUARY defined in line 78; never used
TM_FRIDAY defined in line 74; never used
TM_JANUARY defined in line 77; never used
TM_JULY defined in line 83; never used
TM_JUNE defined in line 82; never used
TM_MARCH defined in line 79; never used
TM_MAY defined in line 81; never used
TM_MONDAY defined in line 70; never used
TM_NOVEMBER defined in line 87; never used
TM_OCTOBER defined in line 86; never used
TM_SATURDAY defined in line 75; never used
TM_SEPTEMBER defined in line 85; never used
TM_SUNDAY defined in line 89; never used
TM_THURSDAY defined in line 73; used 1 times
  • in line 94
TM_TUESDAY defined in line 71; never used
TM_WEDNESDAY defined in line 72; never used
TM_YEAR_BASE defined in line 91; never used
TZDEFAULT defined in line 11; never used
TZDIR defined in line 10; never used
TZ_MAX_CHARS defined in line 57; never used
TZ_MAX_TIMES defined in line 47; never used
TZ_MAX_TYPES defined in line 54; never used
isleap defined in line 101; never used
Last modified: 1996-11-30
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1461
Valid CSS Valid XHTML 1.0 Strict