From ba87bc9ee965a6bb9ef01d2d471a3a923cd1f5c5 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Thu, 8 Jun 2023 14:45:25 +0200 Subject: [PATCH] Impl Deref for Sigaction. --- src/data.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/data.rs b/src/data.rs index 45d2dd8625..3afb8bb603 100644 --- a/src/data.rs +++ b/src/data.rs @@ -149,6 +149,24 @@ pub struct SigAction { pub sa_mask: [u64; 2], pub sa_flags: SigActionFlags, } +impl Deref for SigAction { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts(self as *const SigAction as *const u8, + mem::size_of::()) + } + } +} + +impl DerefMut for SigAction { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut SigAction as *mut u8, + mem::size_of::()) + } + } +} #[allow(dead_code)] unsafe fn _assert_size_of_function_is_sane() {