use aya_ebpf_bindings::bindings::bpf_cpumap_val;
use super::try_redirect_map;
use crate::{
bindings::bpf_map_type::BPF_MAP_TYPE_CPUMAP,
maps::{MapDef, PinningType},
};
#[repr(transparent)]
pub struct CpuMap {
def: MapDef,
}
impl super::super::private::Map for CpuMap {
type Key = u32;
type Value = bpf_cpumap_val;
}
impl CpuMap {
map_constructors!(
u32,
bpf_cpumap_val,
BPF_MAP_TYPE_CPUMAP,
with_docs {
},
pinned_docs {
},
);
#[inline(always)]
pub fn redirect(&self, index: u32, flags: u64) -> Result<u32, u32> {
try_redirect_map(self.def.as_ptr(), index, flags)
}
}