Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  *  Generic watchdog defines. Derived from..
0004  *
0005  * Berkshire PC Watchdog Defines
0006  * by Ken Hollis <khollis@bitgate.com>
0007  *
0008  */
0009 
0010 #ifndef _UAPI_LINUX_WATCHDOG_H
0011 #define _UAPI_LINUX_WATCHDOG_H
0012 
0013 #include <linux/ioctl.h>
0014 #include <linux/types.h>
0015 
0016 #define WATCHDOG_IOCTL_BASE 'W'
0017 
0018 struct watchdog_info {
0019     __u32 options;      /* Options the card/driver supports */
0020     __u32 firmware_version; /* Firmware version of the card */
0021     __u8  identity[32]; /* Identity of the board */
0022 };
0023 
0024 #define WDIOC_GETSUPPORT    _IOR(WATCHDOG_IOCTL_BASE, 0, struct watchdog_info)
0025 #define WDIOC_GETSTATUS     _IOR(WATCHDOG_IOCTL_BASE, 1, int)
0026 #define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int)
0027 #define WDIOC_GETTEMP       _IOR(WATCHDOG_IOCTL_BASE, 3, int)
0028 #define WDIOC_SETOPTIONS    _IOR(WATCHDOG_IOCTL_BASE, 4, int)
0029 #define WDIOC_KEEPALIVE     _IOR(WATCHDOG_IOCTL_BASE, 5, int)
0030 #define WDIOC_SETTIMEOUT        _IOWR(WATCHDOG_IOCTL_BASE, 6, int)
0031 #define WDIOC_GETTIMEOUT        _IOR(WATCHDOG_IOCTL_BASE, 7, int)
0032 #define WDIOC_SETPRETIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 8, int)
0033 #define WDIOC_GETPRETIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 9, int)
0034 #define WDIOC_GETTIMELEFT   _IOR(WATCHDOG_IOCTL_BASE, 10, int)
0035 
0036 #define WDIOF_UNKNOWN       -1  /* Unknown flag error */
0037 #define WDIOS_UNKNOWN       -1  /* Unknown status error */
0038 
0039 #define WDIOF_OVERHEAT      0x0001  /* Reset due to CPU overheat */
0040 #define WDIOF_FANFAULT      0x0002  /* Fan failed */
0041 #define WDIOF_EXTERN1       0x0004  /* External relay 1 */
0042 #define WDIOF_EXTERN2       0x0008  /* External relay 2 */
0043 #define WDIOF_POWERUNDER    0x0010  /* Power bad/power fault */
0044 #define WDIOF_CARDRESET     0x0020  /* Card previously reset the CPU */
0045 #define WDIOF_POWEROVER     0x0040  /* Power over voltage */
0046 #define WDIOF_SETTIMEOUT    0x0080  /* Set timeout (in seconds) */
0047 #define WDIOF_MAGICCLOSE    0x0100  /* Supports magic close char */
0048 #define WDIOF_PRETIMEOUT    0x0200  /* Pretimeout (in seconds), get/set */
0049 #define WDIOF_ALARMONLY     0x0400  /* Watchdog triggers a management or
0050                        other external alarm not a reboot */
0051 #define WDIOF_KEEPALIVEPING 0x8000  /* Keep alive ping reply */
0052 
0053 #define WDIOS_DISABLECARD   0x0001  /* Turn off the watchdog timer */
0054 #define WDIOS_ENABLECARD    0x0002  /* Turn on the watchdog timer */
0055 #define WDIOS_TEMPPANIC     0x0004  /* Kernel panic on temperature trip */
0056 
0057 
0058 #endif /* _UAPI_LINUX_WATCHDOG_H */