摘要
TODO(https://fxbug.dev/42108078)
声明
#include <zircon/syscalls.h>
zx_status_t zx_system_powerctl(zx_handle_t resource, uint32_t cmd);
说明
zx_system_powerctl 会根据 cmd 的值更改系统的电源状态。Zircon 可能无法将系统置于给定的电源状态,具体取决于其对所用架构的支持级别。
命令
ZX_SYSTEM_POWERCTL_REBOOT
重启系统,控制权应通过任何相关固件和引导加载程序。
ZX_SYSTEM_POWERCTL_REBOOT_BOOTLOADER
重启系统,但在引导加载程序中停止,而不是加载操作系统。
ZX_SYSTEM_POWERCTL_REBOOT_RECOVERY
重启系统,但加载恢复操作系统,而不是主操作系统。
ZX_SYSTEM_POWERCTL_SHUTDOWN
关闭系统。
ZX_SYSTEM_POWERCTL_ACK_KERNEL_INITIATED_REBOOT
当用户空间准备好重启以响应内核之前发出的内核想要重启系统的信号时,由用户空间使用。
如果内核之前未发出重启请求,则返回 ZX_ERR_BAD_STATE。
权限
resource 必须具有资源种类 ZX_RSRC_KIND_SYSTEM,且基数为 ZX_RSRC_SYSTEM_POWER_BASE。
返回值
ZX_OK
错误
如果提供无法识别的 cmd 值,则返回 ZX_ERR_INVALID_ARGS。
另请参阅
TODO(https://fxbug.dev/42108078)