4 * Licensed under GPLv2, see file LICENSE in this tarball for details.
10 #if ENABLE_FEATURE_HWCLOCK_ADJTIME_FHS
11 # define ADJTIME_PATH "/var/lib/hwclock/adjtime"
13 # define ADJTIME_PATH "/etc/adjtime"
16 int FAST_FUNC rtc_adjtime_is_utc(void)
19 FILE *f = fopen_for_read(ADJTIME_PATH);
24 while (fgets(buffer, sizeof(buffer), f)) {
25 int len = strlen(buffer);
27 while (len && isspace(buffer[len - 1]))
32 if (strncmp(buffer, "UTC", 3) == 0) {
43 int FAST_FUNC rtc_xopen(const char **default_rtc, int flags)
48 *default_rtc = "/dev/rtc";
49 rtc = open(*default_rtc, flags);
52 *default_rtc = "/dev/rtc0";
53 rtc = open(*default_rtc, flags);
56 *default_rtc = "/dev/misc/rtc";
59 return xopen(*default_rtc, flags);
62 void FAST_FUNC rtc_read_tm(struct tm *ptm, int fd)
64 memset(ptm, 0, sizeof(*ptm));
65 xioctl(fd, RTC_RD_TIME, ptm);
66 ptm->tm_isdst = -1; /* "not known" */
69 time_t FAST_FUNC rtc_tm2time(struct tm *ptm, int utc)
71 char *oldtz = oldtz; /* for compiler */
76 putenv((char*)"TZ=UTC0");