示例#1
0
文件: macOS.py 项目: tinybrain/tool
 def recurse_devices(self, iterator):
     props = []
     iokit.IORegistryIteratorEnterEntry(iterator)
     device = iokit.IOIteratorNext(iterator)
     while device:
         props.append({
             "name":
             iokit.io_name_t_to_str(
                 iokit.IORegistryEntryGetName(device, None)[1]),
             "port":
             iokit.IORegistryEntryCreateCFProperty(
                 device, "PortNum", iokit.kCFAllocatorDefault,
                 iokit.kNilOptions),
             "location_id":
             iokit.IORegistryEntryCreateCFProperty(
                 device, "locationID", iokit.kCFAllocatorDefault,
                 iokit.kNilOptions),
             "speed":
             shared.USBDeviceSpeeds(
                 iokit.IORegistryEntryCreateCFProperty(
                     device, "Device Speed", iokit.kCFAllocatorDefault,
                     iokit.kNilOptions)),  # type: ignore
             "devices":
             self.recurse_devices(iterator),
         })
         iokit.IOObjectRelease(device)
         device = iokit.IOIteratorNext(iterator)
     iokit.IORegistryIteratorExitEntry(iterator)
     props.sort(key=itemgetter("name"))
     return props
示例#2
0
def get_hub_type(port):
    return shared.USBDeviceSpeeds(port["HubInfoEx"]["HubType"])