GET Mac Hardware overview

获取Mac 硬件概览信息

IOPlatformExpertDevice

text +-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> }

Simple

``` fn main() { let platformexpertdevice = macexpertdevice::os::IOPlatformExpertDevice::new().unwrap(); // println!("name:{}",platformexpertdevice.name()); println!("version:{}",platformexpertdevice.version()); println!("SerialNumber:{}",platformexpertdevice.serialnumber()); println!("Manufacturer:{}",platformexpertdevice.manufacturer()); println!("IOBusyInterest:{}",platformexpertdevice.iobusyinterest()); println!("IOInterruptControllers:{}",platformexpertdevice.iointerruptcontrollers()); // println!("IOPlatformSystemSleepPolicy:{}",platformexpertdevice.ioplatformsystemsleeppolicy()); println!("IOPolledInterface:{}",platformexpertdevice.iopolledinterface()); println!("IOPlatformUuid:{}",platformexpertdevice.ioplatform_uuid()); }

```