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_FORCE  = 'p',
  29        BOOT_CF9_SAFE   = '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
  41extern int register_restart_handler(struct notifier_block *);
  42extern int unregister_restart_handler(struct notifier_block *);
  43extern void do_kernel_restart(char *cmd);
  44
  45/*
  46 * Architecture-specific implementations of sys_reboot commands.
  47 */
  48
  49extern void migrate_to_reboot_cpu(void);
  50extern void machine_restart(char *cmd);
  51extern void machine_halt(void);
  52extern void machine_power_off(void);
  53
  54extern void machine_shutdown(void);
  55struct pt_regs;
  56extern void machine_crash_shutdown(struct pt_regs *);
  57
  58/*
  59 * Architecture independent implemenations of sys_reboot commands.
  60 */
  61
  62extern void kernel_restart_prepare(char *cmd);
  63extern void kernel_restart(char *cmd);
  64extern void kernel_halt(void);
  65extern void kernel_power_off(void);
  66
  67extern int C_A_D; /* for sysctl */
  68void ctrl_alt_del(void);
  69
  70#define POWEROFF_CMD_PATH_LEN   256
  71extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
  72
  73extern void orderly_poweroff(bool force);
  74extern void orderly_reboot(void);
  75
  76/*
  77 * Emergency restart, callable from an interrupt handler.
  78 */
  79
  80extern void emergency_restart(void);
  81#include <asm/emergency-restart.h>
  82
  83#endif /* _LINUX_REBOOT_H */
  84