pub struct Program {
pub info: ProgramInfo,
pub security_state: BpfProgState,
/* private fields */
}Fields§
§info: ProgramInfoProgram info specified during program initialization.
security_state: BpfProgStateThe security state associated with this bpf Program.
Implementations§
Source§impl Program
impl Program
pub fn new<L>(
locked: &mut Locked<L>,
current_task: &CurrentTask,
info: ProgramInfo,
logger: &mut dyn OutputBuffer,
code: Vec<EbpfInstruction>,
) -> Result<ProgramHandle, Errno>where
L: LockBefore<EbpfStateLock>,
pub fn id(&self) -> ProgramId
pub fn link<C: EbpfProgramContext<Map = PinnedMap> + StaticHelperSet>(
&self,
program_type: ProgramType,
) -> Result<EbpfProgram<C>, Errno>where
for<'a> C::RunContext<'a>: MapsContext<'a>,
pub fn fidl_id(&self) -> ProgramId
pub fn fidl_handle(&self) -> ProgramHandle
Trait Implementations§
Source§impl Releasable for Program
impl Releasable for Program
type Context<'a> = (&'a mut Locked<FileOpsCore>, &'a CurrentTask)
fn release<'a>(self, (locked, _current_task): CurrentTaskAndLocked<'a>)
Source§impl ReleaserAction<Program> for ProgramReleaserAction
impl ReleaserAction<Program> for ProgramReleaserAction
fn release(program: ReleaseGuard<Program>)
Auto Trait Implementations§
impl Freeze for Program
impl !RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
impl !UnwindSafe for Program
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.