From 3001187cd9526bb90b021c86a7e87b9746661d42 Mon Sep 17 00:00:00 2001 From: mpp Date: Wed, 1 May 1996 23:17:27 +0000 Subject: [PATCH] Convert the time2posix man page to mdoc format. This still needs some other cleanup, but it is good enough for now. --- lib/libc/stdtime/time2posix.3 | 94 +++++++++++++++++------------------ 1 file changed, 45 insertions(+), 49 deletions(-) diff --git a/lib/libc/stdtime/time2posix.3 b/lib/libc/stdtime/time2posix.3 index 7faa85dcb2c3..6715eeb9ef43 100644 --- a/lib/libc/stdtime/time2posix.3 +++ b/lib/libc/stdtime/time2posix.3 @@ -1,28 +1,25 @@ -.TH TIME2POSIX 3 -.SH NAME -time2posix, posix2time \- convert seconds since the Epoch -.SH SYNOPSIS -.nf -.B #include -.PP -.B time_t time2posix(t) -.B time_t t -.PP -.B time_t posix2time(t) -.B time_t t -.PP -.B cc ... -lz -.fi -.SH DESCRIPTION -IEEE Standard 1003.1 -(POSIX) +.Dd May 1, 1996 +.Dt TIME2POSIX 3 +.Os +.Sh NAME +.Nm time2posix , +.Nm posix2time +.Nd convert seconds since the Epoch +.Sh SYNOPSIS +.Fd #include +.Ft time_t +.Fn time2posix "const time_t *t" +.Ft time_t +.Fn posix2time "const time_t *t" +.Sh DESCRIPTION +.St -p1003.1-88 legislates that a time_t value of 536457599 shall correspond to "Wed Dec 31 23:59:59 GMT 1986." This effectively implies that POSIX time_t's cannot include leap seconds and, therefore, that the system time must be adjusted as each leap occurs. -.PP +.Pp If the time package is configured with leap-second support enabled, however, @@ -31,19 +28,20 @@ time_t values continue to increase over leap events (as a true `seconds since...' value). This means that these values will differ from those required by POSIX by the net number of leap seconds inserted since the Epoch. -.PP +.Pp Typically this is not a problem as the type time_t is intended to be (mostly) opaque\(emtime_t values should only be obtained-from and passed-to functions such as -.IR time(2) , -.IR localtime(3) , -.IR mktime(3) , +.Xr time 2 , +.Xr localtime 3 , +.Xr mktime 3 and -.IR difftime(3) . +.Xr difftime 3 . However, -POSIX gives an arithmetic +.Std -p1003.1-88 +gives an arithmetic expression for directly computing a time_t value from a given date/time, and the same relationship is assumed by some (usually older) @@ -51,11 +49,11 @@ applications. Any programs creating/dissecting time_t's using such a relationship will typically not handle intervals over leap seconds correctly. -.PP +.Pp The -.I time2posix +.Fn time2posix and -.I posix2time +.Fn posix2time functions are provided to address this time_t mismatch by converting between local time_t values and their POSIX equivalents. This is done by accounting for the number of time-base changes that @@ -64,26 +62,27 @@ or deleted. These converted values can then be used in lieu of correcting the older applications, or when communicating with POSIX-compliant systems. -.PP -.I Time2posix -is single-valued. +.Pp +The +.Fn time2posix +function is single-valued. That is, every local time_t corresponds to a single POSIX time_t. -.I Posix2time -is less well-behaved: +The +.Fn posix2time +function is less well-behaved: for a positive leap second hit the result is not unique, and for a negative leap second hit the corresponding POSIX time_t doesn't exist so an adjacent value is returned. Both of these are good indicators of the inferiority of the POSIX representation. -.PP -The following table summarizes the relationship between a time -T and it's conversion to, +.Pp +The following table summarizes the relationship between a time_t +nd it's conversion to, and back from, the POSIX representation over the leap second inserted at the end of June, 1993. -.nf .ta \w'93/06/30 'u +\w'23:59:59 'u +\w'A+0 'u +\w'X=time2posix(T) 'u DATE TIME T X=time2posix(T) posix2time(X) 93/06/30 23:59:59 A+0 B+0 A+0 @@ -97,22 +96,19 @@ DATE TIME T X=time2posix(T) posix2time(X) ??/06/30 23:59:58 A+0 B+0 A+0 ??/07/01 00:00:00 A+1 B+2 A+1 ??/07/01 00:00:01 A+2 B+3 A+2 -.sp -.ce +.Pp [Note: posix2time(B+1) => A+0 or A+1] -.fi -.PP +.Pp If leap-second support is not enabled, local time_t's and POSIX time_t's are equivalent, and both -.I time2posix +.Fn time2posix and -.I posix2time +.Fn posix2time degenerate to the identity function. -.SH SEE ALSO -difftime(3), -localtime(3), -mktime(3), -time(3) -.\" @(#)time2posix.3 7.3 +.Sh "SEE ALSO" +.Xr difftime 3 , +.Xr localtime 3 , +.Xr mktime 3 , +.Xr time 3