summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdtime/tzfile.5
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/stdtime/tzfile.5')
-rw-r--r--lib/libc/stdtime/tzfile.5122
1 files changed, 122 insertions, 0 deletions
diff --git a/lib/libc/stdtime/tzfile.5 b/lib/libc/stdtime/tzfile.5
new file mode 100644
index 0000000..4bff7de
--- /dev/null
+++ b/lib/libc/stdtime/tzfile.5
@@ -0,0 +1,122 @@
+.Dd September 13, 1994
+.Dt TZFILE 5
+.Os FreeBSD 2.0
+.Sh NAME
+.Nm tzfile
+.Nd time zone information
+.Sh SYNOPSIS
+.Fd #include <tzfile.h>
+.Sh DESCRIPTION
+The time zone information files used by
+.Xr tzset 3
+begin with bytes reserved for future use,
+followed by four four-byte values of type
+.Fa long ,
+written in a ``standard'' byte order
+(the high-order byte of the value is written first).
+These values are,
+in order:
+.Pp
+.Bl -tag -compact -width tzh_ttisstdcnt
+.It Li tzh_ttisstdcnt
+The number of standard/wall indicators stored in the file.
+.It Li tzh_leapcnt
+The number of leap seconds for which data is stored in the file.
+.It Li tzh_timecnt
+The number of ``transition times'' for which data is stored
+in the file.
+.It Li tzh_typecnt
+The number of ``local time types'' for which data is stored
+in the file (must not be zero).
+.It Li tzh_charcnt
+The number of characters of ``time zone abbreviation strings''
+stored in the file.
+.El
+.Pp
+The above header is followed by
+.Li tzh_timecnt
+four-byte values of type
+.Fa long ,
+sorted in ascending order.
+These values are written in ``standard'' byte order.
+Each is used as a transition time (as returned by
+.Xr time 2 )
+at which the rules for computing local time change.
+Next come
+.Li tzh_timecnt
+one-byte values of type
+.Fa "unsigned char" ;
+each one tells which of the different types of ``local time'' types
+described in the file is associated with the same-indexed transition time.
+These values serve as indices into an array of
+.Fa ttinfo
+structures that appears next in the file;
+these structures are defined as follows:
+.Pp
+.Bd -literal -offset indent
+struct ttinfo {
+ long tt_gmtoff;
+ int tt_isdst;
+ unsigned int tt_abbrind;
+};
+.Ed
+.Pp
+Each structure is written as a four-byte value for
+.Li tt_gmtoff
+of type
+.Fa long ,
+in a standard byte order, followed by a one-byte value for
+.Li tt_isdst
+and a one-byte value for
+.Li tt_abbrind .
+In each structure,
+.Li tt_gmtoff
+gives the number of seconds to be added to GMT,
+.Li tt_isdst
+tells whether
+.Li tm_isdst
+should be set by
+.Xr localtime 3
+and
+.Li tt_abbrind
+serves as an index into the array of time zone abbreviation characters
+that follow the
+.Li ttinfo
+structure(s) in the file.
+.Pp
+Then there are
+.Li tzh_leapcnt
+pairs of four-byte values, written in standard byte order;
+the first value of each pair gives the time
+(as returned by
+.Xr time 2 )
+at which a leap second occurs;
+the second gives the
+.Em total
+number of leap seconds to be applied after the given time.
+The pairs of values are sorted in ascending order by time.
+.Pp
+Finally there are
+.Li tzh_ttisstdcnt
+standard/wall indicators, each stored as a one-byte value;
+they tell whether the transition times associated with local time types
+were specified as standard time or wall clock time,
+and are used when a time zone file is used in handling POSIX-style
+time zone environment variables.
+.Pp
+.Nm localtime
+uses the first standard-time
+.Li ttinfo
+structure in the file
+(or simply the first
+.Li ttinfo
+structure in the absence of a standard-time structure)
+if either
+.Li tzh_timecnt
+is zero or the time argument is less than the first transition time recorded
+in the file.
+.Sh SEE ALSO
+.Xr ctime 3 ,
+.Xr time2posix 3 ,
+.Xr zic 8
+.\" @(#)tzfile.5 7.2
OpenPOWER on IntegriCloud