1
0
mirror of https://frontier.innolan.net/rainlance/amiga-tz.git synced 2026-03-21 01:09:20 +00:00
Files
amiga-tz/tzfile.5
Arthur David Olson 14dafc6c61 new handling of early times
SCCS-file: tzfile.5
SCCS-SID: 2.4
2012-07-18 03:01:40 -04:00

102 lines
2.4 KiB
Groff

.TH TZFILE 5
.SH NAME
tzfile \- time zone information
.SH SYNOPSIS
.B
#include <tzfile.h>
.SH DESCRIPTION
The time zone information files used by
.IR settz (3)
and
.IR newlocaltime (3)
begin with bytes reserved for future use,
followed by three four-byte values of type
.BR long ,
written in a ``standard'' byte order (the uppermost byte of the
value is written first, followed by the lowermost byte). These values are,
in order:
.TP
.I tzh_timecnt
The number of "transition times" for which data is stored
in the file.
.TP
.I tzh_typecnt
The number of "local time types" for which data is stored
in the file (must not be zero).
.TP
.I tzh_charcnt
The number of characters of "time zone abbreviation strings"
stored in the file.
.PP
The above header is followed by
.I tzh_timecnt
four-byte values of type
.BR long ,
sorted in ascending order.
These values are written in a ``standard'' byte order (the uppermost byte of
the value is written first, followed by the next lower byte, and so forth).
Each is used as a transition time (as returned by
.IR time (2))
at which the rules for computing local time change.
Next come
.I tzh_timecnt
one-byte values of type
.BR "unsigned char" ;
each one tells which of the different types of ``local time'' described in the
file is associated with the same-indexed transition time.
These values serve as indices into an array of
.I ttinfo
structures that appears next in the file;
these structures are defined as follows:
.in +.5i
.sp
.nf
.ta .5i +\w'unsigned short 'u
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
.in -.5i
.fi
.sp
Each structure is written as a four-byte value for
.I tt_gmtoff
of type
.BR long ,
in a standard byte order, followed by a one-byte value for
.I tt_isdst
and a one-byte value for
.IR tt_abbrind .
In each structure,
.I tt_gmtoff
gives the number of seconds to be added to GMT,
.I tt_isdst
tells whether
.I tm_isdst
should be set by
.IR newlocaltime (3),
and
.I tt_abbrind
serves as an index into the array of time zone abbreviation chaaracters
that follow the
.I ttinfo
structure(s) in the file.
.PP
.I Newlocaltime
uses the first standard-time
.I ttinfo
structure in the file
(or simply the first
.I ttinfo
structure in the absence of a standard-time structure)
if either
.I tzh_timecnt
is zero or
.IR newlocaltime 's
argument is less than
the first transition time recorded in the file.
.SH SEE ALSO
settz(3)
.. %W%