#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct SpinLockableValue<V: 'static + Copy + HasReflectionInformation>
{
pub spin_lock: bpf_spin_lock,
pub value: V,
}
impl<V: 'static + Copy + HasReflectionInformation> HasReflectionInformation for SpinLockableValue<V>
{
const Type: Type = Type
{
type_id: TypeId::of::<Self>(),
size: size_of::<Self>() as u32,
ident: "SpinLockableValue",
data: Data::Struct
(
StructFields::Named
(
&[
NamedField
{
unnamed: UnnamedField
{
type_: &bpf_spin_lock::Type,
offset_in_bytes: 0,
},
ident: "spin_lock"
},
NamedField
{
unnamed: UnnamedField
{
type_: &V::Type,
offset_in_bytes: size_of::<bpf_spin_lock>() as u32,
},
ident: "value"
},
]
)
),
};
}