Consulte la página de manual de rtc para obtener más detalles, pero si ha iniciado sesión como root, algo como esto:
#include <linux/rtc.h>
#include <sys/ioctl.h>
struct rtc_time {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday; /* unused */
int tm_yday; /* unused */
int tm_isdst;/* unused */
};
int fd;
struct rtc_time rt;
/* set your values here */
fd = open("/dev/rtc", O_RDONLY);
ioctl(fd, RTC_SET_TIME, &rt);
close(fd);
Después de llamar a stime(), haz esto:
system("/sbin/hwclock --systohc");
Consulte la página del comando man hwclock(8) para obtener más información.