/*******************************************************************************
* TmsWatchdog.cc Watchdog process
* T.Barnaby, BEAM Ltd, 2008-01-18
*******************************************************************************
*/
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/watchdog.h>
int main(){
int fd;
int e;
int v;
if((fd = open("/dev/watchdog", O_RDWR)) < 0){
fprintf(stderr, "Unable to open: /dev/watchdog: %s\n", strerror(errno));
return 1;
}
v = 60;
ioctl(fd, WDIOC_SETTIMEOUT, &v);
v = 0;
ioctl(fd, WDIOC_SETPRETIMEOUT, &v);
while(1){
e = ioctl(fd, WDIOC_KEEPALIVE, 0);
fsync(fd);
sleep(10);
}
write(fd, "V", 1);
return 0;
}