From 51f0ef2826ef2b0369766c8f23c8069ae0a56846 Mon Sep 17 00:00:00 2001 From: jD91mZM2 Date: Mon, 29 Jul 2019 08:31:21 +0200 Subject: [PATCH] Implement Deref for PtraceFlags --- src/flag.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/flag.rs b/src/flag.rs index 4008ddb..574926f 100644 --- a/src/flag.rs +++ b/src/flag.rs @@ -1,4 +1,5 @@ use bitflags::bitflags as inner_bitflags; +use core::{mem, ops::Deref, slice}; macro_rules! bitflags { ( @@ -132,6 +133,18 @@ bitflags! { const PTRACE_FLAG_MASK = 0x0000_0000_0000_F000; } } +impl Deref for PtraceFlags { + type Target = [u8]; + fn deref(&self) -> &Self::Target { + // Same as to_ne_bytes but in-place + unsafe { + slice::from_raw_parts( + &self.bits as *const _ as *const u8, + mem::size_of::() + ) + } + } +} pub const SEEK_SET: usize = 0; pub const SEEK_CUR: usize = 1;