]>
Commit | Line | Data |
---|---|---|
9dd986cc RJ |
1 | /* |
2 | * Virtual hardware watchdog. | |
3 | * | |
4 | * Copyright (C) 2009 Red Hat Inc. | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU General Public License | |
8 | * as published by the Free Software Foundation; either version 2 | |
9 | * of the License, or (at your option) any later version. | |
10 | * | |
11 | * This program is distributed in the hope that it will be useful, | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | * GNU General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU General Public License | |
8167ee88 | 17 | * along with this program; if not, see <http://www.gnu.org/licenses/>. |
9dd986cc RJ |
18 | * |
19 | * By Richard W.M. Jones ([email protected]). | |
20 | */ | |
21 | ||
22 | #ifndef QEMU_WATCHDOG_H | |
23 | #define QEMU_WATCHDOG_H | |
24 | ||
25 | extern void wdt_i6300esb_init(void); | |
26 | extern void wdt_ib700_init(void); | |
27 | ||
9dd986cc RJ |
28 | |
29 | struct WatchdogTimerModel { | |
30 | LIST_ENTRY(WatchdogTimerModel) entry; | |
31 | ||
32 | /* Short name of the device - used to select it on the command line. */ | |
33 | const char *wdt_name; | |
34 | /* Longer description (eg. manufacturer and full model number). */ | |
35 | const char *wdt_description; | |
36 | ||
37 | /* This callback should create/register the device. It is called | |
38 | * indirectly from hw/pc.c when the virtual PC is being set up. | |
39 | */ | |
40 | void (*wdt_pc_init)(PCIBus *pci_bus); | |
41 | }; | |
42 | typedef struct WatchdogTimerModel WatchdogTimerModel; | |
43 | ||
9dd986cc RJ |
44 | /* in hw/watchdog.c */ |
45 | extern int select_watchdog(const char *p); | |
46 | extern int select_watchdog_action(const char *action); | |
47 | extern void watchdog_add_model(WatchdogTimerModel *model); | |
48 | extern void watchdog_perform_action(void); | |
49 | extern void watchdog_pc_init(PCIBus *pci_bus); | |
50 | extern void register_watchdogs(void); | |
51 | ||
52 | #endif /* QEMU_WATCHDOG_H */ |