This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / reboot.h
1 #ifndef _LINUX_REBOOT_H
2 #define _LINUX_REBOOT_H
3
4 /*
5  * Magic values required to use _reboot() system call.
6  */
7
8 #define LINUX_REBOOT_MAGIC1     0xfee1dead
9 #define LINUX_REBOOT_MAGIC2     672274793
10 #define LINUX_REBOOT_MAGIC2A    85072278
11 #define LINUX_REBOOT_MAGIC2B    369367448
12 #define LINUX_REBOOT_MAGIC2C    537993216
13
14
15 /*
16  * Commands accepted by the _reboot() system call.
17  *
18  * RESTART     Restart system using default command and mode.
19  * HALT        Stop OS and give system control to ROM monitor, if any.
20  * CAD_ON      Ctrl-Alt-Del sequence causes RESTART command.
21  * CAD_OFF     Ctrl-Alt-Del sequence sends SIGINT to init task.
22  * POWER_OFF   Stop OS and remove all power from system, if possible.
23  * RESTART2    Restart system using given command string.
24  * SW_SUSPEND  Suspend system using software suspend if compiled in.
25  * KEXEC       Restart system using a previously loaded Linux kernel
26  */
27
28 #define LINUX_REBOOT_CMD_RESTART        0x01234567
29 #define LINUX_REBOOT_CMD_HALT           0xCDEF0123
30 #define LINUX_REBOOT_CMD_CAD_ON         0x89ABCDEF
31 #define LINUX_REBOOT_CMD_CAD_OFF        0x00000000
32 #define LINUX_REBOOT_CMD_POWER_OFF      0x4321FEDC
33 #define LINUX_REBOOT_CMD_RESTART2       0xA1B2C3D4
34 #define LINUX_REBOOT_CMD_SW_SUSPEND     0xD000FCE2
35 #define LINUX_REBOOT_CMD_KEXEC          0x45584543
36
37
38 #ifdef __KERNEL__
39
40 #include <linux/notifier.h>
41
42 #ifdef CONFIG_X86_64
43
44 extern enum reboot_types {
45         BOOT_BIOS = 'b',
46         BOOT_TRIPLE = 't',
47         BOOT_KBD = 'k',
48         BOOT_ACPI = 'a'
49 } reboot_type;
50
51 extern int reboot_override;
52
53 #endif
54
55 extern int register_reboot_notifier(struct notifier_block *);
56 extern int unregister_reboot_notifier(struct notifier_block *);
57
58
59 /*
60  * Architecture-specific implementations of sys_reboot commands.
61  */
62
63 extern void machine_restart(char *cmd);
64 extern void machine_halt(void);
65 extern void machine_power_off(void);
66 extern void (*machine_reset)(void);
67
68 extern void machine_shutdown(void);
69
70 #endif
71
72 #endif /* _LINUX_REBOOT_H */