From ba54545696672997a91d43ff6b6511aac33dc034 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Mon, 22 Jan 2024 11:08:20 +0100 Subject: [PATCH] Add SetSighandlerData. --- src/data.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/data.rs b/src/data.rs index 4b0f1754df..f92b478664 100644 --- a/src/data.rs +++ b/src/data.rs @@ -394,3 +394,27 @@ impl DerefMut for SignalStack { } } } +#[derive(Clone, Copy, Debug, Default)] +#[repr(C)] +pub struct SetSighandlerData { + pub entry: usize, + pub altstack_base: usize, + pub altstack_len: usize, +} + +impl Deref for SetSighandlerData { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts(self as *const Self as *const u8, mem::size_of::()) + } + } +} + +impl DerefMut for SetSighandlerData { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut Self as *mut u8, mem::size_of::()) + } + } +}