$NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp $ Copyright (c) 1994 Christopher G. Demetriou All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list ...
NAMEinittodr - initialize system time
SYNOPSISIn sys/types.h In sys/systm.h Ft void Fn inittodr time_t base
DESCRIPTIONThe Fn inittodr function determines the time and sets the system clock. It tries to pick the correct time using a set of heuristics that examine the system's battery backed clock and the time obtained from the root file system, as given in Fa base . How the Fa base value is obtained will vary depending on the root file system type. The heuristics used include:
- If the battery-backed clock has a valid time, it is used.
- If the battery-backed clock does not have a valid time, the time provided in Fa base will be used.
Once a system time has been determined, it is stored in the time variable.
DIAGNOSTICSThe Fn inittodr function prints diagnostic messages if it has trouble figuring out the system time. Conditions that can cause diagnostic messages to be printed include:
- The battery-backed clock's time appears nonsensical.
SEE ALSOresettodr(9), time(9)
BUGSOn many systems, Fn inittodr has to convert from a time expressed in terms of year, month, day, hours, minutes, and seconds to time expressed in seconds. Many of the implementations could share code, but do not.
Each system's heuristics for picking the correct time are slightly different.
The Fx implementation should do a better job of validating the time provided in Fa base when the battery-backed clock is unusable. Currently it unconditionally sets the system clock to this value.