inittodr(9)
NAME
inittodr - initialize system time
SYNOPSIS
#include <sys/types.h>
#include <sys/systm.h>
void
inittodr(time_t base);
DESCRIPTION
- The 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 base. How the base value is ob - tained will vary
depending on the root file system type. The heuristics used - include:
- +o If the battery-backed clock has a valid time, it is
- used.
- +o If the battery-backed clock does not have a valid time,
- the time pro
- vided in base will be used.
- Once a system time has been determined, it is stored in the
- time variable.
DIAGNOSTICS
- The inittodr() function prints diagnostic messages if it has
- trouble figuring out the system time. Conditions that can cause diag
- nostic messages
to be printed include: - +o The battery-backed clock's time appears nonsensical.
SEE ALSO
BUGS
- On many systems, inittodr() has to convert from a time ex
- pressed 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 FreeBSD implementation should do a better job of vali
- dating the time
provided in base when the battery-backed clock is unusable. - Currently it
unconditionally sets the system clock to this value. - BSD March 22, 1997