use std::mem::size_of;
pub const NFPROTO_IPV4: i32 = libc::NFPROTO_IPV4;
pub const NFPROTO_IPV6: i32 = libc::NFPROTO_IPV6;
pub const NF_INET_PRE_ROUTING: i32 = libc::NF_INET_PRE_ROUTING;
pub const NF_INET_LOCAL_IN: i32 = libc::NF_INET_LOCAL_IN;
pub const NF_INET_FORWARD: i32 = libc::NF_INET_FORWARD;
pub const NF_INET_LOCAL_OUT: i32 = libc::NF_INET_LOCAL_OUT;
pub const NF_INET_POST_ROUTING: i32 = libc::NF_INET_POST_ROUTING;
#[derive(Clone, Debug, Default)]
pub struct NetfilterOpts {
pub protocol_family: i32,
pub hooknum: i32,
pub priority: i32,
pub flags: u32,
#[doc(hidden)]
pub _non_exhaustive: (),
}
impl From<NetfilterOpts> for libbpf_sys::bpf_netfilter_opts {
fn from(opts: NetfilterOpts) -> Self {
let NetfilterOpts {
protocol_family,
hooknum,
priority,
flags,
_non_exhaustive,
} = opts;
#[allow(clippy::needless_update)]
Self {
sz: size_of::<Self>() as _,
pf: protocol_family as u32,
hooknum: hooknum as u32,
priority,
flags,
..Default::default()
}
}
}