4 * Licensed under GPLv2, see file LICENSE in this source tree.
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 if (strncmp(buffer
, "UTC", 3) == 0) {
36 int FAST_FUNC
rtc_xopen(const char **default_rtc
, int flags
)
41 *default_rtc
= "/dev/rtc";
42 rtc
= open(*default_rtc
, flags
);
45 *default_rtc
= "/dev/rtc0";
46 rtc
= open(*default_rtc
, flags
);
49 *default_rtc
= "/dev/misc/rtc";
52 return xopen(*default_rtc
, flags
);
55 void FAST_FUNC
rtc_read_tm(struct tm
*ptm
, int fd
)
57 memset(ptm
, 0, sizeof(*ptm
));
58 xioctl(fd
, RTC_RD_TIME
, ptm
);
59 ptm
->tm_isdst
= -1; /* "not known" */
62 time_t FAST_FUNC
rtc_tm2time(struct tm
*ptm
, int utc
)
64 char *oldtz
= oldtz
; /* for compiler */
69 putenv((char*)"TZ=UTC0");