linux/include/linux/reboot.h
<<
>>
Prefs
   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#define SYS_DOWN        0x0001  /* Notify of system down */
  43#define SYS_RESTART     SYS_DOWN
  44#define SYS_HALT        0x0002  /* Notify of system halt */
  45#define SYS_POWER_OFF   0x0003  /* Notify of system power off */
  46
  47extern int register_reboot_notifier(struct notifier_block *);
  48extern int unregister_reboot_notifier(struct notifier_block *);
  49
  50
  51/*
  52 * Architecture-specific implementations of sys_reboot commands.
  53 */
  54
  55extern void machine_restart(char *cmd);
  56extern void machine_halt(void);
  57extern void machine_power_off(void);
  58
  59extern void machine_shutdown(void);
  60struct pt_regs;
  61extern void machine_crash_shutdown(struct pt_regs *);
  62
  63/* 
  64 * Architecture independent implemenations of sys_reboot commands.
  65 */
  66
  67extern void kernel_restart_prepare(char *cmd);
  68extern void kernel_restart(char *cmd);
  69extern void kernel_halt(void);
  70extern void kernel_power_off(void);
  71
  72extern int C_A_D; /* for sysctl */
  73void ctrl_alt_del(void);
  74
  75#define POWEROFF_CMD_PATH_LEN   256
  76extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
  77
  78extern int orderly_poweroff(bool force);
  79
  80/*
  81 * Emergency restart, callable from an interrupt handler.
  82 */
  83
  84extern void emergency_restart(void);
  85#include <asm/emergency-restart.h>
  86
  87#endif
  88
  89#endif /* _LINUX_REBOOT_H */
  90