Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _LINUX_REBOOT_H |
2 | #define _LINUX_REBOOT_H | |
3 | ||
1da177e4 LT |
4 | |
5 | #include <linux/notifier.h> | |
607ca46e | 6 | #include <uapi/linux/reboot.h> |
1da177e4 | 7 | |
c5f41752 AW |
8 | #define SYS_DOWN 0x0001 /* Notify of system down */ |
9 | #define SYS_RESTART SYS_DOWN | |
10 | #define SYS_HALT 0x0002 /* Notify of system halt */ | |
11 | #define SYS_POWER_OFF 0x0003 /* Notify of system power off */ | |
12 | ||
6fa3eb70 S |
13 | enum reboot_mode { |
14 | REBOOT_COLD = 0, | |
15 | REBOOT_WARM, | |
16 | REBOOT_HARD, | |
17 | REBOOT_SOFT, | |
18 | REBOOT_GPIO, | |
19 | }; | |
20 | ||
1da177e4 LT |
21 | extern int register_reboot_notifier(struct notifier_block *); |
22 | extern int unregister_reboot_notifier(struct notifier_block *); | |
23 | ||
24 | ||
25 | /* | |
26 | * Architecture-specific implementations of sys_reboot commands. | |
27 | */ | |
28 | ||
29 | extern void machine_restart(char *cmd); | |
30 | extern void machine_halt(void); | |
31 | extern void machine_power_off(void); | |
32 | ||
dc009d92 | 33 | extern void machine_shutdown(void); |
6e274d14 AN |
34 | struct pt_regs; |
35 | extern void machine_crash_shutdown(struct pt_regs *); | |
dc009d92 | 36 | |
4a00ea1e EB |
37 | /* |
38 | * Architecture independent implemenations of sys_reboot commands. | |
39 | */ | |
40 | ||
ca195b7f | 41 | extern void kernel_restart_prepare(char *cmd); |
4a00ea1e EB |
42 | extern void kernel_restart(char *cmd); |
43 | extern void kernel_halt(void); | |
44 | extern void kernel_power_off(void); | |
83cc5ed3 | 45 | |
eb5572fe | 46 | extern int C_A_D; /* for sysctl */ |
83cc5ed3 | 47 | void ctrl_alt_del(void); |
4a00ea1e | 48 | |
10a0a8d4 JF |
49 | #define POWEROFF_CMD_PATH_LEN 256 |
50 | extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN]; | |
51 | ||
52 | extern int orderly_poweroff(bool force); | |
53 | ||
7c903473 EB |
54 | /* |
55 | * Emergency restart, callable from an interrupt handler. | |
56 | */ | |
57 | ||
58 | extern void emergency_restart(void); | |
59 | #include <asm/emergency-restart.h> | |
60 | ||
1da177e4 | 61 | #endif /* _LINUX_REBOOT_H */ |