reboot.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. };
  13. extern int register_reboot_notifier(struct notifier_block *);
  14. extern int unregister_reboot_notifier(struct notifier_block *);
  15. /*
  16. * Architecture-specific implementations of sys_reboot commands.
  17. */
  18. extern void machine_restart(char *cmd);
  19. extern void machine_halt(void);
  20. extern void machine_power_off(void);
  21. extern void machine_shutdown(void);
  22. struct pt_regs;
  23. extern void machine_crash_shutdown(struct pt_regs *);
  24. /*
  25. * Architecture independent implemenations of sys_reboot commands.
  26. */
  27. extern void kernel_restart_prepare(char *cmd);
  28. extern void kernel_restart(char *cmd);
  29. extern void kernel_halt(void);
  30. extern void kernel_power_off(void);
  31. extern int C_A_D; /* for sysctl */
  32. void ctrl_alt_del(void);
  33. #define POWEROFF_CMD_PATH_LEN 256
  34. extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
  35. extern int orderly_poweroff(bool force);
  36. /*
  37. * Emergency restart, callable from an interrupt handler.
  38. */
  39. extern void emergency_restart(void);
  40. #include <asm/emergency-restart.h>
  41. #endif /* _LINUX_REBOOT_H */