📄 wtd-d501.c
字号:
//Copy from Documentation\watchdog.txt Example Watchdog Driver//xtp-d501//-----------------------#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/watchdog.h>int main(int argc, char *argv[]){ int fd,sleepval,mode,ret; unsigned long setval; if(argc < 4){ printf("Usage:%s [timeout][sleep][mode]\n",argv[0]); printf(" timeout:value in seconds to cause wdt timeout/reset\n"); printf(" sleep: value in seconds to service the wdt\n"); printf(" mode: 0/Service wdt with ioctl(), 1/with write()\n"); return 0; } fd = open("/dev/misc/watchdog",O_WRONLY); if(fd < 0) { printf("dev/misc/watchdog can't open! \n"); return 1; } else printf("/dev/misc/watchdog/: fd = %d \n", fd); setval = atoi(argv[1]); sleepval = atoi(argv[2]); mode = atoi(argv[3]); printf("%d %d %d\n",(int)setval,sleepval,mode); ret = ioctl(fd,WDIOC_SETTIMEOUT,&setval); if(ret != 0) printf("set timeout fail,default=60 sec\n"); //setval = ioctl(fd,WDIOC_GETTIMEOUT,setval); //printf("%d %d %d\n",(int)setval,sleepval,mode); while(1){ if(mode == 1) write(fd,"\0",1); else{ ret = ioctl(fd,WDIOC_KEEPALIVE,0); printf("ret %d\n",ret); } printf("service ok\n"); sleep(sleepval); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -