1 /*------------------------------------------------------------------------- 2 * 3 * tzparser.h 4 * Timezone offset file parsing definitions. 5 * 6 * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group 7 * Portions Copyright (c) 1994, Regents of the University of California 8 * 9 * src/include/utils/tzparser.h 10 * 11 *------------------------------------------------------------------------- 12 */ 13 #ifndef TZPARSER_H 14 #define TZPARSER_H 15 16 #include "utils/datetime.h" 17 18 /* 19 * The result of parsing a timezone configuration file is an array of 20 * these structs, in order by abbrev. We export this because datetime.c 21 * needs it. 22 */ 23 typedef struct tzEntry 24 { 25 /* the actual data */ 26 char *abbrev; /* TZ abbreviation (downcased) */ 27 char *zone; /* zone name if dynamic abbrev, else NULL */ 28 /* for a dynamic abbreviation, offset/is_dst are not used */ 29 int offset; /* offset in seconds from UTC */ 30 bool is_dst; /* true if a DST abbreviation */ 31 /* source information (for error messages) */ 32 int lineno; 33 const char *filename; 34 } tzEntry; 35 36 37 extern TimeZoneAbbrevTable *load_tzoffsets(const char *filename); 38 39 #endif /* TZPARSER_H */ 40