#[derive(Default, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(C)]
struct seccomp_notif_sizes
{
seccomp_notif: u16,
seccomp_notif_resp: u16,
seccomp_data: u16,
}
impl seccomp_notif_sizes
{
#[inline(always)]
fn get_listener_notification_sizes() -> &'static seccomp_notif_sizes
{
lazy_static!
{
static ref Sizes: seccomp_notif_sizes =
{
let mut sizes: seccomp_notif_sizes = unsafe_uninitialized();
let result = seccomp(SECCOMP_GET_NOTIF_SIZES, 0, &mut sizes as *mut seccomp_notif_sizes as *mut _);
if result == 0
{
sizes
}
else if unlikely!(result == -1)
{
panic!("seccomp() failed with {}", errno())
}
else
{
unreachable_code(format_args!("seccomp() returned unexpected result {}", result))
}
};
}
&Sizes
}
}