Controlla la pagina man di rtc per i dettagli, ma se hai effettuato l'accesso come root, qualcosa del genere:
#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);
Dopo aver chiamato sti(), fai questo:
system("/sbin/hwclock --systohc");
Vedi la pagina man di hwclock(8) per maggiori informazioni.