diff options
author | Ricardo Ribalda <ribalda@chromium.org> | 2023-03-20 09:49:36 +0100 |
---|---|---|
committer | Ricardo Ribalda <ribalda@chromium.org> | 2023-03-20 10:06:23 +0100 |
commit | e1f48361a5fca04fbd7e6440a1ae56730d9db6cb (patch) | |
tree | 44aad9624eaa87c4a314d8aca5b3e8151d59c16e /src | |
parent | bac14427831aaff9b79dcdd125c03109414215c5 (diff) | |
download | rust-libc-e1f48361a5fca04fbd7e6440a1ae56730d9db6cb.tar.gz |
linux: add kexec flags
This adds `KEXEC_ARCH_MASK`, `KEXEC_FILE_NO_INITRAMFS`,
`KEXEC_FILE_ON_CRASH`, `KEXEC_FILE_UNLOAD`, `KEXEC_ON_CRASH`,
and `KEXEC_PRESERVE_CONTEXT` constants on Linux and Android.
Those are used by `kexec` and `kexec_file_load` syscalls, and they are
defined at:
* https://github.com/torvalds/linux/blob/v6.2/include/uapi/linux/kexec.h#L12-L26
Diffstat (limited to 'src')
-rw-r--r-- | src/unix/linux_like/android/mod.rs | 8 | ||||
-rw-r--r-- | src/unix/linux_like/linux/mod.rs | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index ca2938ac22..e2fa0826f2 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -1606,6 +1606,14 @@ pub const AI_ADDRCONFIG: ::c_int = 0x00000400; pub const AI_V4MAPPED: ::c_int = 0x00000800; pub const AI_DEFAULT: ::c_int = AI_V4MAPPED_CFG | AI_ADDRCONFIG; +// linux/kexec.h +pub const KEXEC_ON_CRASH: ::c_int = 0x00000001; +pub const KEXEC_PRESERVE_CONTEXT: ::c_int = 0x00000002; +pub const KEXEC_ARCH_MASK: ::c_int = 0xffff0000; +pub const KEXEC_FILE_UNLOAD: ::c_int = 0x00000001; +pub const KEXEC_FILE_ON_CRASH: ::c_int = 0x00000002; +pub const KEXEC_FILE_NO_INITRAMFS: ::c_int = 0x00000004; + pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278; diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 1d272d601d..36b2d7878e 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3550,6 +3550,14 @@ pub fn FUTEX_OP(op: ::c_int, oparg: ::c_int, cmp: ::c_int, cmparg: ::c_int) -> : ((op & 0xf) << 28) | ((cmp & 0xf) << 24) | ((oparg & 0xfff) << 12) | (cmparg & 0xfff) } +// linux/kexec.h +pub const KEXEC_ON_CRASH: ::c_int = 0x00000001; +pub const KEXEC_PRESERVE_CONTEXT: ::c_int = 0x00000002; +pub const KEXEC_ARCH_MASK: ::c_int = 0xffff0000; +pub const KEXEC_FILE_UNLOAD: ::c_int = 0x00000001; +pub const KEXEC_FILE_ON_CRASH: ::c_int = 0x00000002; +pub const KEXEC_FILE_NO_INITRAMFS: ::c_int = 0x00000004; + // linux/reboot.h pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; |