unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Page:
Section:
Apropos / Subsearch:
optional field

INITTODR(9)              BSD Kernel Developer's Manual             INITTODR(9)

NAME
     inittodr -- initialize system time

SYNOPSIS
     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 reported by the file sys-
     tem, as given in base.  Those heuristics 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, and the time
         provided in base is within reason, base is used as the current time.

     o   If the battery-backed clock appears invalid, and base appears nonsen-
         sical or was not provided (was given as zero), an arbitrary base
         (typically some time in the late 1970s) will be used.

     Once a system time has been determined, it is stored in the time vari-
     able.

DIAGNOSTICS
     The inittodr() function prints diagnostic messages if it has trouble fig-
     uring out the system time.  Conditions that can cause diagnostic messages
     to be printed include:

     o   The battery-backed clock's time appears nonsensical.

     o   The base time appears nonsensical.

     o   The base time and the battery-backed clock's time differ by a large
         amount.

SEE ALSO
     resettodr(9), time(9)

BUGS
     On many systems, 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 dif-
     ferent.

BSD                              May 31, 2007                              BSD