1 /*-------------------------------------------------------------------------
2  *
3  * tzparser.h
4  *	  Timezone offset file parsing definitions.
5  *
6  * Portions Copyright (c) 1996-2016, 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