From 984f9cf714c0024fbe0509ffc6f7a01e473afb33 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Thu, 1 Aug 2024 19:13:09 +0200 Subject: [PATCH] Add RtSigInfo. --- src/data.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/data.rs b/src/data.rs index 063252fb75..3fb9a51517 100644 --- a/src/data.rs +++ b/src/data.rs @@ -358,3 +358,32 @@ impl DerefMut for SetSighandlerData { } } pub use crate::sigabi::*; + +#[derive(Copy, Clone, Debug, Default, PartialEq)] +#[repr(C)] +pub struct RtSigInfo { + pub arg: usize, + pub code: i32, + pub uid: u32, + pub pid: u32, // TODO: usize? +} + +impl Deref for RtSigInfo { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts( + self as *const RtSigInfo as *const u8, + mem::size_of::(), + ) + } + } +} + +impl DerefMut for RtSigInfo { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut RtSigInfo as *mut u8, mem::size_of::()) + } + } +}