reboot.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef _LINUX_REBOOT_H
  2. #define _LINUX_REBOOT_H
  3. #include <linux/notifier.h>
  4. #include <uapi/linux/reboot.h>
  5. #define SYS_DOWN 0x0001 /* Notify of system down */
  6. #define SYS_RESTART SYS_DOWN
  7. #define SYS_HALT 0x0002 /* Notify of system halt */
  8. #define SYS_POWER_OFF 0x0003 /* Notify of system power off */
  9. enum reboot_mode {
  10. REBOOT_COLD = 0,
  11. REBOOT_WARM,
  12. REBOOT_HARD,
  13. REBOOT_SOFT,
  14. };
  15. extern int register_reboot_notifier(struct notifier_block *);
  16. extern int unregister_reboot_notifier(struct notifier_block *);
  17. /*
  18. * Architecture-specific implementations of sys_reboot commands.
  19. */
  20. extern void machine_restart(char *cmd);
  21. extern void machine_halt(void);
  22. extern void machine_power_off(void);
  23. extern void machine_shutdown(void);
  24. struct pt_regs;
  25. extern void machine_crash_shutdown(struct pt_regs *);
  26. /*
  27. * Architecture independent implemenations of sys_reboot commands.
  28. */
  29. extern void kernel_restart_prepare(char *cmd);
  30. extern void kernel_restart(char *cmd);
  31. extern void kernel_halt(void);
  32. extern void kernel_power_off(void);
  33. extern int C_A_D; /* for sysctl */
  34. void ctrl_alt_del(void);
  35. #define POWEROFF_CMD_PATH_LEN 256
  36. extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
  37. extern int orderly_poweroff(bool force);
  38. /*
  39. * Emergency restart, callable from an interrupt handler.
  40. */
  41. extern void emergency_restart(void);
  42. #include <asm/emergency-restart.h>
  43. #endif /* _LINUX_REBOOT_H */