4 #ifndef RUDIMENTS_TIMEZONEFILE_H
5 #define RUDIMENTS_TIMEZONEFILE_H
7 #include <rudiments/private/timezonefileincludes.h>
9 #ifdef RUDIMENTS_NAMESPACE
13 class timezonefileprivate;
42 bool parseFile(
const char *filename);
46 uint64_t getTimeCount();
49 uint64_t *getTransitionTimes();
52 uint64_t getTransitionTime(int32_t index);
55 unsigned char *getLocalTimes();
58 unsigned char getLocalTimes(int32_t index);
62 uint64_t getTypeCount();
65 ttinfo **getTimeTypeInfos();
68 ttinfo *getTimeTypeInfo(int32_t index);
72 uint64_t getLeapCount();
75 uint64_t *getLeapSecondTimes();
78 uint64_t getLeapSecondTime(int32_t index);
81 uint64_t *getTotalLeapSeconds();
84 uint64_t getTotalLeapSeconds(int32_t index);
88 uint64_t getIsSTDCount();
91 unsigned char *getStandardOrWallIndicators();
94 unsigned char getStandardOrWallIndicator(int32_t index);
98 uint64_t getIsGMTCount();
101 unsigned char *getUTCOrLocalIndicators();
104 unsigned char getUTCOrLocalIndicator(int32_t index);
108 uint64_t getCharacterCount();
111 unsigned char *getRawTimeZoneString();
114 unsigned char **getTimeZoneStrings();
117 unsigned char *getTimeZoneString(int32_t index);
122 #include <rudiments/private/timezonefile.h>
125 #ifdef RUDIMENTS_NAMESPACE