xref: /openbmc/linux/samples/watchdog/watchdog-simple.c (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
2071bf69aSShuah Khan #include <stdio.h>
3071bf69aSShuah Khan #include <stdlib.h>
4071bf69aSShuah Khan #include <unistd.h>
5071bf69aSShuah Khan #include <fcntl.h>
6071bf69aSShuah Khan 
main(void)7071bf69aSShuah Khan int main(void)
8071bf69aSShuah Khan {
9071bf69aSShuah Khan 	int fd = open("/dev/watchdog", O_WRONLY);
10071bf69aSShuah Khan 	int ret = 0;
11071bf69aSShuah Khan 	if (fd == -1) {
12071bf69aSShuah Khan 		perror("watchdog");
13071bf69aSShuah Khan 		exit(EXIT_FAILURE);
14071bf69aSShuah Khan 	}
15071bf69aSShuah Khan 	while (1) {
16071bf69aSShuah Khan 		ret = write(fd, "\0", 1);
17071bf69aSShuah Khan 		if (ret != 1) {
18071bf69aSShuah Khan 			ret = -1;
19071bf69aSShuah Khan 			break;
20071bf69aSShuah Khan 		}
21071bf69aSShuah Khan 		sleep(10);
22071bf69aSShuah Khan 	}
23071bf69aSShuah Khan 	close(fd);
24071bf69aSShuah Khan 	return ret;
25071bf69aSShuah Khan }
26