1 unstable release
0.1.8 | May 9, 2022 |
---|---|
0.1.7 |
|
#891 in Hardware support
22KB
366 lines
GET Mac Hardware overview
- IOPlatformUUID
Usage
To use this library, add the following to your Cargo.toml:
[dependencies]
mac_expert_device = "0.1"
Check out our documentation for more details on how to use this library.
Simple
fn main() {
let platform_expert_device = mac_expert_device::os::IOPlatformExpertDevice::new().unwrap();
//
println!("name:{}",platform_expert_device.name());
println!("version:{}",platform_expert_device.version());
println!("SerialNumber:{}",platform_expert_device.serial_number());
println!("Manufacturer:{}",platform_expert_device.manufacturer());
println!("IOBusyInterest:{}",platform_expert_device.io_busy_interest());
println!("IOInterruptControllers:{}",platform_expert_device.io_interrupt_controllers());
// println!("IOPlatformSystemSleepPolicy:{}",platform_expert_device.io_platform_system_sleep_policy());
println!("IOPolledInterface:{}",platform_expert_device.io_polled_interface());
println!("IOPlatformUuid:{}",platform_expert_device.io_platform_uuid());
}
IOPlatformExpertDevice
+-o Root <class IORegistryEntry, id xxxxxx, retain 17>
+-o xxxxxx <class IOPlatformExpertDevice, id xxxxxx, registered, matched, active, busy 0 (13368 ms), retain 44>
{
"IOInterruptSpecifiers" = (<xxxxx>)
"IOPolledInterface" = "SMCPolledInterface is not serializable"
"IOPlatformUUID" = "xxxxxx"
"serial-number" = <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
"platform-feature" = <xxxxxx>
"IOPlatformSystemSleepPolicy" = <xxxxxx>
"IOBusyInterest" = "IOCommand is not serializable"
"target-type" = <"Mac">
"IOInterruptControllers" = ("xxxxxx")
"name" = <"/">
"version" = <"xxxxxx">
"manufacturer" = <"Apple Inc.">
"compatible" = <"xxxxxx">
"product-name" = <"xxxxxx">
"IOPlatformSerialNumber" = "xxxxxx"
"IOConsoleSecurityInterest" = "IOCommand is not serializable"
"clock-frequency" = <xxxxx>
"model" = <"xx">
"board-id" = <"xxxxxx">
"system-type" = <02>
}