pub struct SystemExtensions {Show 13 fields
pub system_extension_redistributable: Option<bool>,
pub endpoint_security_client: Option<bool>,
pub driverkit: Option<bool>,
pub driverkit_family_networking: Option<bool>,
pub driverkit_family_scsi_controller: Option<bool>,
pub driverkit_family_serial: Option<bool>,
pub driverkit_transport_pci: Option<Vec<DriverkitTransportPci>>,
pub driverkit_transport_usb: Option<Vec<DriverkitTransportUsb>>,
pub driverkit_userclient_access: Option<Vec<String>>,
pub driverkit_family_hid_device: Option<bool>,
pub driverkit_family_hid_eventservice: Option<bool>,
pub driverkit_transport_hid: Option<bool>,
pub hid_virtual_device: Option<bool>,
}Expand description
System Extensions
Fields§
§system_extension_redistributable: Option<bool>A Boolean value that indicates whether other development teams may distribute a system extension you create.
Add this entitlement to a system extension that you create and sign using your development team credentials, but which other development teams distribute in their apps. This extension allows a distributing app to have a different team ID than the one associated with the system extension. If this entitlement isn’t present, the team ID of the app and system extension must match.
§Availability
- macOS 10.15+
§Framework
- System Extensions
endpoint_security_client: Option<bool>The entitlement required to monitor system events for potentially malicious activity.
You must request this entitlement from Apple. For information about how to request the entitlement, see System Extensions and DriverKit.
If your app or extension lacks this requirement, es_new_client fails with the result ES_NEW_CLIENT_RESULT_ERR_NOT_ENTITLED.
§Availability
- macOS 10.15+
§Framework
- Endpoint Security
driverkit: Option<bool>A Boolean value that indicates whether your extension has permission to run as a user-space driver.
Add this entitlement to every DriverKit driver you create. You must request this entitlement from Apple. For information about how to request the entitlement, see System Extensions and DriverKit.
§Availability
- macOS 10.15+
§Framework
- DriverKit
driverkit_family_networking: Option<bool>A Boolean value indicating whether to match the driver against devices that communicate using networking protocols.
§Availability
- macOS 10.15+
§Framework
- DriverKit
driverkit_family_scsi_controller: Option<bool>A Boolean value that indicates whether to match the driver against devices with SCSI controllers.
Add this entitlement to the default entitlements file that Xcode created for your driver project.
§Availability
- macOS 11.3+
§Framework
- DriverKit
driverkit_family_serial: Option<bool>A Boolean value that indicates whether to match the driver against devices with serial communication interfaces.
Add this entitlement to the default entitlements file that Xcode created for your driver project.
§Availability
- macOS 10.15+
§Framework
- DriverKit
driverkit_transport_pci: Option<Vec<DriverkitTransportPci>>An array of PCI device descriptors that your custom driver supports.
Each element in the array is a dictionary whose keys identify a supported device. The values of these keys correspond to values stored in the PCI device’s configuration registers.
You can provide several matching values for a key, separated by spaces. You can also specify an optional mask for the configuration register value by putting the mask after the value, prepended with an & character.
Examples:
- Key = IOPCIMatch. Value = 0x00261011. Result = Matches a device whose vendor ID is 0x1011, and device ID is 0x0026, including subsystem IDs.
- Key = IOPCIMatch. Value = 0x00789004&0x00ffffff 0x78009004&0x0xff00ffff. Result = Matches with any device with a vendor ID of 0x9004, and a device ID of 0xzz78 or 0x78zz, where ‘z’ is any hexadecimal digit.
- Key = IOPCIClassMatch. Value = 0x02000000&0xffff0000. Result = Matches a device whose class code is 0x0200zz (where ‘z’ is any hexadecimal digit), an ethernet device.
§Note
You also use the keys defined by this entitlement in your app’s Info.plist, to identify which devices your driver loads on.
§Availability
- macOS 10.15.4+
§Framework
- DriverKit
driverkit_transport_usb: Option<Vec<DriverkitTransportUsb>>An array of dictionaries that identify the USB devices the driver supports.
Each element in the array is a dictionary whose keys and values identify a specific type of supported device. The keys in the dictionary correspond to field names of the device descriptor associated with the USB device.
§Availability
- macOS 10.15+
§Framework
- DriverKit
driverkit_userclient_access: Option<Vec<String>>An array of strings that represent driver extensions which may communicate with other DriverKit services.
Add this entitlement to your app that opens the IOUserClient. Set its value to an array of bundle IDs of driver extensions that you want to use with DriverKit. If you have only one bundle ID, you can use either a single string or a one-element array.
§Availability
- macOS 10.15+
§Framework
- DriverKit
driverkit_family_hid_device: Option<bool>A Boolean value that indicates whether the driver provides a HID-related service to the system.
§Availability
- macOS 10.15+
§Framework
- HIDDriverKit
driverkit_family_hid_eventservice: Option<bool>A Boolean value that indicates whether the driver provides a HID-related event service to the system.
§Availability
- macOS 10.15+
§Framework
- HIDDriverKit
driverkit_transport_hid: Option<bool>A Boolean value that indicates whether the driver communicates with human interface devices.
This entitlement gives your driver permission to interact with the hardware for a human interface device.
§Availability
- macOS 10.15+
§Framework
- HIDDriverKit
hid_virtual_device: Option<bool>A Boolean value that indicates whether the driver creates a virtual HID device.
§Availability
- macOS 10.15+
§Framework
- HIDDriverKit
Trait Implementations§
Source§impl Clone for SystemExtensions
impl Clone for SystemExtensions
Source§fn clone(&self) -> SystemExtensions
fn clone(&self) -> SystemExtensions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SystemExtensions
impl Debug for SystemExtensions
Source§impl Default for SystemExtensions
impl Default for SystemExtensions
Source§fn default() -> SystemExtensions
fn default() -> SystemExtensions
Source§impl<'de> Deserialize<'de> for SystemExtensions
impl<'de> Deserialize<'de> for SystemExtensions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SystemExtensions
impl PartialEq for SystemExtensions
Source§impl Serialize for SystemExtensions
impl Serialize for SystemExtensions
impl Eq for SystemExtensions
impl StructuralPartialEq for SystemExtensions
Auto Trait Implementations§
impl Freeze for SystemExtensions
impl RefUnwindSafe for SystemExtensions
impl Send for SystemExtensions
impl Sync for SystemExtensions
impl Unpin for SystemExtensions
impl UnwindSafe for SystemExtensions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.