1.\" $NetBSD: inittodr.9,v 1.7 2001/09/04 02:51:16 wiz Exp $ 2.\" 3.\" Copyright (c) 1994 Christopher G. Demetriou 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed for the 17.\" NetBSD Project. See http://www.netbsd.org/ for 18.\" information about NetBSD. 19.\" 4. The name of the author may not be used to endorse or promote products 20.\" derived from this software without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32.\" 33.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> 34.\" 35.Dd November 13, 1995 36.Dt INITTODR 9 37.Os 38.Sh NAME 39.Nm inittodr 40.Nd initialize system time 41.Sh SYNOPSIS 42.Ft void 43.Fn inittodr "time_t base" 44.Sh DESCRIPTION 45The 46.Fn inittodr 47function determines the time and sets the system clock. 48It tries to pick the correct time using a set of heuristics that examine 49the system's battery backed clock and the time reported by the file 50system, as given in 51.Fa base . 52Those heuristics include: 53.Bl -bullet 54.It 55If the battery-backed clock has a valid time, it is used. 56.It 57If the battery-backed clock does not have a valid time, and 58the time provided in 59.Fa base 60is within reason, 61.Fa base 62is used as the current time. 63.It 64If the battery-backed clock appears invalid, and 65.Fa base 66appears non-sensical or was not provided (was given as zero), 67a arbitrary base (typically some time in the late 1970s) 68will be used. 69.El 70.Pp 71Once a system time has been determined, it is stored in the 72.Va time 73variable. 74.Sh DIAGNOSTICS 75The 76.Fn inittodr 77function prints diagnostic messages if it has trouble figuring 78out the system time. Conditions that can cause diagnostic 79messages to be printed include: 80.Bl -bullet 81.It 82The battery-backed clock's time appears nonsensical. 83.It 84The 85.Fa base 86time appears nonsensical. 87.It 88The 89.Fa base 90time and the battery-backed clock's time differ by a large amount. 91.El 92.Sh SEE ALSO 93.Xr resettodr 9 , 94.Xr time 9 95.Sh BUGS 96On many systems, 97.Fn inittodr 98has to convert from 99a time expressed in terms of year, month, day, hours, minutes, 100and seconds to 101.Va time , 102expressed in seconds. Many of the implementations could share code, 103but do not. 104.Pp 105Each system's heuristics for picking the correct time are slightly 106different. 107