KextDependencies

Struct KextDependencies 

Source
pub struct KextDependencies {
    pub bundle_compatible_version: Option<String>,
    pub bundle_libraries: Option<DefaultDictionary>,
}
Expand description

Kext Dependencies

Fields§

§bundle_compatible_version: Option<String>

The backward limit of compatibility for the current driver.

Specify a previous version for the current driver, or the driver’s current version. Format this string the same way you format the value of the CFBundleVersion key. The combination of this value and the value in the CFBundleVersion key define the range of versions that offers the same level of compatibility. Dependent drivers use this information to determine if they are compatible with the driver. For example, if the driver’s current version is 10.0, and you set the value of this key to 5.0, a driver that depends on version 7.0 can successfully use the current driver.

When you change your driver in a way that breaks compatibility with your old code, update the value of this key. At that time, set the new value to the current version of your driver.

§Availability

  • macOS 10.0+

§Framework

  • Kernel
§bundle_libraries: Option<DefaultDictionary>

The drivers that the system must load before your driver.

Use this key to specify other drivers that your driver depends on. For example, specify any drivers that contain symbols your driver creates or uses at startup. The system loads the drivers in this list before it attempts to load your driver. If the system fails to resolve the dependencies or load the corresponding libraries, the kernel doesn’t load your driver.

Each key in the dictionary is the bundle identifier of another driver, and the value is a string that contains the minimum version of the driver you require. Your driver must be compatible with the specified version of the other driver.

Don’t include this key for codeless kexts.

§Availability

  • macOS 10.0+

§Framework

  • Kernel

Trait Implementations§

Source§

impl Clone for KextDependencies

Source§

fn clone(&self) -> KextDependencies

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for KextDependencies

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for KextDependencies

Source§

fn default() -> KextDependencies

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for KextDependencies

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for KextDependencies

Source§

fn eq(&self, other: &KextDependencies) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for KextDependencies

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for KextDependencies

Source§

impl StructuralPartialEq for KextDependencies

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,