linux/include/linux/reboot.h
<<
>>
Prefs
   1#ifndef _LINUX_REBOOT_H
   2#define _LINUX_REBOOT_H
   3
   4
   5#include <linux/notifier.h>
   6#include <uapi/linux/reboot.h>
   7
   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
  13enum reboot_mode {
  14        REBOOT_COLD = 0,
  15        REBOOT_WARM,
  16        REBOOT_HARD,
  17        REBOOT_SOFT,
  18        REBOOT_GPIO,
  19};
  20extern enum reboot_mode reboot_mode;
  21
  22enum reboot_type {
  23        BOOT_TRIPLE = 't',
  24        BOOT_KBD = 'k',
  25        BOOT_BIOS = 'b',
  26        BOOT_ACPI = 'a',
  27        BOOT_EFI = 'e',
  28        BOOT_CF9 = 'p',
  29        BOOT_CF9_COND = 'q',
  30};
  31extern enum reboot_type reboot_type;
  32
  33extern int reboot_default;
  34extern int reboot_cpu;
  35extern int reboot_force;
  36
  37
  38extern int register_reboot_notifier(struct notifier_block *);
  39extern int unregister_reboot_notifier(struct notifier_block *);
  40
  41
  42/*
  43 * Architecture-specific implementations of sys_reboot commands.
  44 */
  45
  46extern void machine_restart(char *cmd);
  47extern void machine_halt(void);
  48extern void machine_power_off(void);
  49
  50extern void machine_shutdown(void);
  51struct pt_regs;
  52extern void machine_crash_shutdown(struct pt_regs *);
  53
  54/*
  55 * Architecture independent implemenations of sys_reboot commands.
  56 */
  57
  58extern void kernel_restart_prepare(char *cmd);
  59extern void kernel_restart(char *cmd);
  60extern void kernel_halt(void);
  61extern void kernel_power_off(void);
  62
  63extern int C_A_D; /* for sysctl */
  64void ctrl_alt_del(void);
  65
  66#define POWEROFF_CMD_PATH_LEN   256
  67extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
  68
  69extern int orderly_poweroff(bool force);
  70
  71/*
  72 * Emergency restart, callable from an interrupt handler.
  73 */
  74
  75extern void emergency_restart(void);
  76#include <asm/emergency-restart.h>
  77
  78#endif /* _LINUX_REBOOT_H */
  79