pub struct Struct<'btf> { /* private fields */ }
Expand description
A struct.
See also libbpf docs
Implementations§
Source§impl<'btf> Struct<'btf>
impl<'btf> Struct<'btf>
Sourcepub fn get(&self, index: usize) -> Option<StructMember<'btf>>
pub fn get(&self, index: usize) -> Option<StructMember<'btf>>
Get a StructMember
at a given index
§Errors
This function returns None
when the index is out of bounds.
Sourcepub fn iter(
&'btf self,
) -> impl ExactSizeIterator<Item = StructMember<'btf>> + 'btf
pub fn iter( &'btf self, ) -> impl ExactSizeIterator<Item = StructMember<'btf>> + 'btf
Returns an iterator over the StructMember
’s of the Struct
Methods from Deref<Target = BtfType<'btf>>§
Sourcepub fn is_any_enum(&self) -> bool
pub fn is_any_enum(&self) -> bool
Whether this represents any kind of enum.
Sourcepub fn is_core_compat(&self, other: &Self) -> bool
pub fn is_core_compat(&self, other: &Self) -> bool
Whether this btf type is core compatible to other
.
Sourcepub fn is_composite(&self) -> bool
pub fn is_composite(&self) -> bool
Whether this type represents a composite type (struct/union).
Sourcepub fn next_type(&self) -> Option<Self>
pub fn next_type(&self) -> Option<Self>
If this type implements ReferencesType
, returns the type it references.
Sourcepub fn skip_mods_and_typedefs(&self) -> Self
pub fn skip_mods_and_typedefs(&self) -> Self
Given a type, follows the refering type ids until it finds a type that isn’t a modifier or
a BtfKind::Typedef
.
See is_mod.
Sourcepub fn alignment(&self) -> Result<NonZeroUsize>
pub fn alignment(&self) -> Result<NonZeroUsize>
Returns the alignment of this type, if this type points to some modifier or typedef, those will be skipped until the underlying type (with an alignment) is found.
Trait Implementations§
impl<'btf> Copy for Struct<'btf>
Auto Trait Implementations§
impl<'btf> Freeze for Struct<'btf>
impl<'btf> RefUnwindSafe for Struct<'btf>
impl<'btf> !Send for Struct<'btf>
impl<'btf> !Sync for Struct<'btf>
impl<'btf> Unpin for Struct<'btf>
impl<'btf> UnwindSafe for Struct<'btf>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)