pub struct BpfMap {
pub security_state: BpfMapState,
/* private fields */
}Expand description
A BPF map and Starnix-specific metadata.
Fields§
§security_state: BpfMapStateThe security state associated with this bpf Map.
Implementations§
Source§impl BpfMap
impl BpfMap
pub fn new<L>(
locked: &mut Locked<L>,
current_task: &CurrentTask,
map: PinnedMap,
security_state: BpfMapState,
) -> BpfMapHandlewhere
L: LockBefore<EbpfStateLock>,
pub fn id(&self) -> u32
Methods from Deref<Target = Map>§
pub fn lookup<'a>(&'a self, key: &[u8]) -> Option<MapValueRef<'a>>
pub fn load(&self, key: &[u8]) -> Option<Vec<u8>>
pub fn update( &self, key: SmallVec<[u8; 16]>, value: &[u8], flags: u64, ) -> Result<(), MapError>
pub fn delete(&self, key: &[u8]) -> Result<(), MapError>
pub fn get_next_key( &self, key: Option<&[u8]>, ) -> Result<SmallVec<[u8; 16]>, MapError>
pub fn vmo(&self) -> &Arc<Vmo>
pub fn can_read(&self) -> Option<bool>
pub fn ringbuf_reserve(&self, size: u32, flags: u64) -> Result<usize, MapError>
pub fn uses_locks(&self) -> bool
Trait Implementations§
Source§impl Releasable for BpfMap
impl Releasable for BpfMap
type Context<'a> = (&'a mut Locked<FileOpsCore>, &'a CurrentTask)
fn release<'a>(self, (locked, _current_task): CurrentTaskAndLocked<'a>)
Source§impl ReleaserAction<BpfMap> for BpfMapReleaserAction
impl ReleaserAction<BpfMap> for BpfMapReleaserAction
fn release(map: ReleaseGuard<BpfMap>)
Auto Trait Implementations§
impl !Freeze for BpfMap
impl !RefUnwindSafe for BpfMap
impl Send for BpfMap
impl Sync for BpfMap
impl Unpin for BpfMap
impl UnsafeUnpin for BpfMap
impl !UnwindSafe for BpfMap
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, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [Self]Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.