pub struct ElfProgramConfig {Show 14 fields
pub binary: String,
pub args: Vec<String>,
pub notify_lifecycle_stop: bool,
pub ambient_mark_vmo_exec: bool,
pub main_process_critical: bool,
pub create_raw_processes: bool,
pub job_policy_bad_handles: Option<ElfProgramBadHandlesPolicy>,
pub is_shared_process: bool,
pub use_next_vdso: bool,
pub job_with_available_exception_channel: bool,
pub memory_attribution: bool,
pub stdout_sink: StreamSink,
pub stderr_sink: StreamSink,
pub environ: Option<Vec<String>>,
}Expand description
Parsed representation of the ComponentStartInfo.program dictionary.
Fields§
§binary: String§args: Vec<String>§notify_lifecycle_stop: bool§ambient_mark_vmo_exec: bool§main_process_critical: bool§create_raw_processes: bool§job_policy_bad_handles: Option<ElfProgramBadHandlesPolicy>§use_next_vdso: bool§job_with_available_exception_channel: bool§memory_attribution: bool§stdout_sink: StreamSink§stderr_sink: StreamSink§environ: Option<Vec<String>>Implementations§
Source§impl ElfProgramConfig
impl ElfProgramConfig
Sourcepub fn parse_and_check(
program: &Dictionary,
checker: Option<&ScopedPolicyChecker>,
) -> Result<Self, ProgramError>
pub fn parse_and_check( program: &Dictionary, checker: Option<&ScopedPolicyChecker>, ) -> Result<Self, ProgramError>
Parse the given dictionary into an ElfProgramConfig, checking it against security policy as needed.
Checking against security policy is intentionally combined with parsing here, so that policy enforcement is as close to the point of parsing as possible and can’t be inadvertently skipped.
pub fn process_options(&self) -> ProcessOptions
Trait Implementations§
Source§impl Clone for ElfProgramConfig
impl Clone for ElfProgramConfig
Source§fn clone(&self) -> ElfProgramConfig
fn clone(&self) -> ElfProgramConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ElfProgramConfig
impl Debug for ElfProgramConfig
Source§impl Default for ElfProgramConfig
impl Default for ElfProgramConfig
Source§fn default() -> ElfProgramConfig
fn default() -> ElfProgramConfig
Returns the “default value” for a type. Read more
Source§impl PartialEq for ElfProgramConfig
impl PartialEq for ElfProgramConfig
impl Eq for ElfProgramConfig
impl StructuralPartialEq for ElfProgramConfig
Auto Trait Implementations§
impl Freeze for ElfProgramConfig
impl RefUnwindSafe for ElfProgramConfig
impl Send for ElfProgramConfig
impl Sync for ElfProgramConfig
impl Unpin for ElfProgramConfig
impl UnwindSafe for ElfProgramConfig
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§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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§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 more