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 
13 
14 /*
15  * Commands accepted by the _reboot() system call.
16  *
17  * RESTART     Restart system using default command and mode.
18  * HALT        Stop OS and give system control to ROM monitor, if any.
19  * CAD_ON      Ctrl-Alt-Del sequence causes RESTART command.
20  * CAD_OFF     Ctrl-Alt-Del sequence sends SIGINT to init task.
21  * POWER_OFF   Stop OS and remove all power from system, if possible.
22  * RESTART2    Restart system using given command string.
23  */
24 
25 #define	LINUX_REBOOT_CMD_RESTART	0x01234567
26 #define	LINUX_REBOOT_CMD_HALT		0xCDEF0123
27 #define	LINUX_REBOOT_CMD_CAD_ON		0x89ABCDEF
28 #define	LINUX_REBOOT_CMD_CAD_OFF	0x00000000
29 #define	LINUX_REBOOT_CMD_POWER_OFF	0x4321FEDC
30 #define	LINUX_REBOOT_CMD_RESTART2	0xA1B2C3D4
31 
32 
33 #ifdef __KERNEL__
34 
35 #include <linux/notifier.h>
36 
37 extern int register_reboot_notifier(struct notifier_block *);
38 extern int unregister_reboot_notifier(struct notifier_block *);
39 
40 
41 /*
42  * Architecture-specific implementations of sys_reboot commands.
43  */
44 
45 extern void machine_restart(char *cmd);
46 extern void machine_halt(void);
47 extern void machine_power_off(void);
48 
49 #endif
50 
51 #endif /* _LINUX_REBOOT_H */
52