include/linux/reboot.h

Source file repositories/reference/linux-study-clean/include/linux/reboot.h

File Facts

System
Linux kernel
Corpus path
include/linux/reboot.h
Extension
.h
Size
5927 bytes
Lines
222
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct sys_off_data {
	int mode;
	void *cb_data;
	const char *cmd;
	struct device *dev;
};

struct sys_off_handler *
register_sys_off_handler(enum sys_off_mode mode,
			 int priority,
			 int (*callback)(struct sys_off_data *data),
			 void *cb_data);
void unregister_sys_off_handler(struct sys_off_handler *handler);

int devm_register_sys_off_handler(struct device *dev,
				  enum sys_off_mode mode,
				  int priority,
				  int (*callback)(struct sys_off_data *data),
				  void *cb_data);

int devm_register_power_off_handler(struct device *dev,
				    int (*callback)(struct sys_off_data *data),
				    void *cb_data);

int devm_register_restart_handler(struct device *dev,
				  int (*callback)(struct sys_off_data *data),
				  void *cb_data);

int register_platform_power_off(void (*power_off)(void));
void unregister_platform_power_off(void (*power_off)(void));

/*
 * Architecture independent implemenations of sys_reboot commands.
 */

extern void kernel_restart_prepare(char *cmd);
extern void kernel_restart(char *cmd);
extern void kernel_halt(void);
extern void kernel_power_off(void);
extern bool kernel_can_power_off(void);

void ctrl_alt_del(void);

extern void orderly_poweroff(bool force);
extern void orderly_reboot(void);

/**
 * enum hw_protection_action - Hardware protection action
 *
 * @HWPROT_ACT_DEFAULT:
 *      The default action should be taken. This is HWPROT_ACT_SHUTDOWN
 *      by default, but can be overridden.
 * @HWPROT_ACT_SHUTDOWN:
 *	The system should be shut down (powered off) for HW protection.
 * @HWPROT_ACT_REBOOT:
 *	The system should be rebooted for HW protection.
 */
enum hw_protection_action { HWPROT_ACT_DEFAULT, HWPROT_ACT_SHUTDOWN, HWPROT_ACT_REBOOT };

void __hw_protection_trigger(const char *reason, int ms_until_forced,
			     enum hw_protection_action action);

/**
 * hw_protection_trigger - Trigger default emergency system hardware protection action
 *
 * @reason:		Reason of emergency shutdown or reboot to be printed.
 * @ms_until_forced:	Time to wait for orderly shutdown or reboot before
 *			triggering it. Negative value disables the forced
 *			shutdown or reboot.
 *
 * Initiate an emergency system shutdown or reboot in order to protect
 * hardware from further damage. The exact action taken is controllable at
 * runtime and defaults to shutdown.
 */
static inline void hw_protection_trigger(const char *reason, int ms_until_forced)
{
	__hw_protection_trigger(reason, ms_until_forced, HWPROT_ACT_DEFAULT);
}

/*
 * Emergency restart, callable from an interrupt handler.
 */

extern void emergency_restart(void);
#include <asm/emergency-restart.h>

#endif /* _LINUX_REBOOT_H */

Annotation

Implementation Notes