mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-08 13:33:42 +08:00
22a8575199
Keep official openpilot ancestry and dependency licenses. Store resources directly in Git, remove LFS setup requirements, and leave the downloadable big model outside the source tree.
276 lines
23 KiB
Python
276 lines
23 KiB
Python
# mypy: disable-error-code="empty-body"
|
|
from __future__ import annotations
|
|
import ctypes
|
|
from typing import Literal, TypeAlias
|
|
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
|
from tinygrad.runtime.support import c
|
|
dll = c.DLL('iokit', 'IOKit')
|
|
class struct_IONotificationPort(c.Struct): pass
|
|
IONotificationPortRef: TypeAlias = c.POINTER[struct_IONotificationPort]
|
|
IOServiceMatchingCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32]]
|
|
IOServiceInterestCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_void_p]]
|
|
mach_port_t: TypeAlias = ctypes.c_uint32
|
|
try: kIOMainPortDefault = mach_port_t.in_dll(dll, 'kIOMainPortDefault') # type: ignore
|
|
except (ValueError,AttributeError): pass
|
|
kern_return_t: TypeAlias = ctypes.c_int32
|
|
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_port_t])
|
|
def IOMainPort(bootstrapPort:mach_port_t, mainPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
|
try: kIOMasterPortDefault = mach_port_t.in_dll(dll, 'kIOMasterPortDefault') # type: ignore
|
|
except (ValueError,AttributeError): pass
|
|
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_port_t])
|
|
def IOMasterPort(bootstrapPort:mach_port_t, mainPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
|
@dll.bind(IONotificationPortRef, mach_port_t)
|
|
def IONotificationPortCreate(mainPort:mach_port_t) -> IONotificationPortRef: ...
|
|
@dll.bind(None, IONotificationPortRef)
|
|
def IONotificationPortDestroy(notify:IONotificationPortRef) -> None: ...
|
|
class struct___CFRunLoopSource(c.Struct): pass
|
|
CFRunLoopSourceRef: TypeAlias = c.POINTER[struct___CFRunLoopSource]
|
|
@dll.bind(CFRunLoopSourceRef, IONotificationPortRef)
|
|
def IONotificationPortGetRunLoopSource(notify:IONotificationPortRef) -> CFRunLoopSourceRef: ...
|
|
@dll.bind(mach_port_t, IONotificationPortRef)
|
|
def IONotificationPortGetMachPort(notify:IONotificationPortRef) -> mach_port_t: ...
|
|
@dll.bind(kern_return_t, IONotificationPortRef)
|
|
def IONotificationPortSetImportanceReceiver(notify:IONotificationPortRef) -> kern_return_t: ...
|
|
class struct_dispatch_queue_s(c.Struct): pass
|
|
dispatch_queue_t: TypeAlias = c.POINTER[struct_dispatch_queue_s]
|
|
@dll.bind(None, IONotificationPortRef, dispatch_queue_t)
|
|
def IONotificationPortSetDispatchQueue(notify:IONotificationPortRef, queue:dispatch_queue_t) -> None: ...
|
|
@c.record
|
|
class mach_msg_header_t(c.Struct):
|
|
SIZE = 24
|
|
msgh_bits: int
|
|
msgh_size: int
|
|
msgh_remote_port: int
|
|
msgh_local_port: int
|
|
msgh_voucher_port: int
|
|
msgh_id: int
|
|
mach_msg_bits_t: TypeAlias = ctypes.c_uint32
|
|
mach_msg_size_t: TypeAlias = ctypes.c_uint32
|
|
mach_port_name_t: TypeAlias = ctypes.c_uint32
|
|
mach_msg_id_t: TypeAlias = ctypes.c_int32
|
|
mach_msg_header_t.register_fields([('msgh_bits', mach_msg_bits_t, 0), ('msgh_size', mach_msg_size_t, 4), ('msgh_remote_port', mach_port_t, 8), ('msgh_local_port', mach_port_t, 12), ('msgh_voucher_port', mach_port_name_t, 16), ('msgh_id', mach_msg_id_t, 20)])
|
|
@dll.bind(None, ctypes.c_void_p, c.POINTER[mach_msg_header_t], ctypes.c_void_p)
|
|
def IODispatchCalloutFromMessage(unused:ctypes.c_void_p, msg:c.POINTER[mach_msg_header_t], reference:ctypes.c_void_p) -> None: ...
|
|
uint32_t: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(kern_return_t, uint32_t, c.POINTER[mach_port_t])
|
|
def IOCreateReceivePort(msgType:uint32_t, recvPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
|
io_object_t: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(kern_return_t, io_object_t)
|
|
def IOObjectRelease(object:io_object_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_object_t)
|
|
def IOObjectRetain(object:io_object_t) -> kern_return_t: ...
|
|
io_name_t: TypeAlias = c.Array[ctypes.c_char, Literal[128]]
|
|
@dll.bind(kern_return_t, io_object_t, io_name_t)
|
|
def IOObjectGetClass(object:io_object_t, className:io_name_t) -> kern_return_t: ...
|
|
class struct___CFString(c.Struct): pass
|
|
CFStringRef: TypeAlias = c.POINTER[struct___CFString]
|
|
@dll.bind(CFStringRef, io_object_t)
|
|
def IOObjectCopyClass(object:io_object_t) -> CFStringRef: ...
|
|
@dll.bind(CFStringRef, CFStringRef)
|
|
def IOObjectCopySuperclassForClass(classname:CFStringRef) -> CFStringRef: ...
|
|
@dll.bind(CFStringRef, CFStringRef)
|
|
def IOObjectCopyBundleIdentifierForClass(classname:CFStringRef) -> CFStringRef: ...
|
|
boolean_t: TypeAlias = ctypes.c_int32
|
|
@dll.bind(boolean_t, io_object_t, io_name_t)
|
|
def IOObjectConformsTo(object:io_object_t, className:io_name_t) -> boolean_t: ...
|
|
@dll.bind(boolean_t, io_object_t, io_object_t)
|
|
def IOObjectIsEqualTo(object:io_object_t, anObject:io_object_t) -> boolean_t: ...
|
|
@dll.bind(uint32_t, io_object_t)
|
|
def IOObjectGetKernelRetainCount(object:io_object_t) -> uint32_t: ...
|
|
@dll.bind(uint32_t, io_object_t)
|
|
def IOObjectGetUserRetainCount(object:io_object_t) -> uint32_t: ...
|
|
@dll.bind(uint32_t, io_object_t)
|
|
def IOObjectGetRetainCount(object:io_object_t) -> uint32_t: ...
|
|
io_iterator_t: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(io_object_t, io_iterator_t)
|
|
def IOIteratorNext(iterator:io_iterator_t) -> io_object_t: ...
|
|
@dll.bind(None, io_iterator_t)
|
|
def IOIteratorReset(iterator:io_iterator_t) -> None: ...
|
|
@dll.bind(boolean_t, io_iterator_t)
|
|
def IOIteratorIsValid(iterator:io_iterator_t) -> boolean_t: ...
|
|
io_service_t: TypeAlias = ctypes.c_uint32
|
|
class struct___CFDictionary(c.Struct): pass
|
|
CFDictionaryRef: TypeAlias = c.POINTER[struct___CFDictionary]
|
|
@dll.bind(io_service_t, mach_port_t, CFDictionaryRef)
|
|
def IOServiceGetMatchingService(mainPort:mach_port_t, matching:CFDictionaryRef) -> io_service_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, CFDictionaryRef, c.POINTER[io_iterator_t])
|
|
def IOServiceGetMatchingServices(mainPort:mach_port_t, matching:CFDictionaryRef, existing:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
uintptr_t: TypeAlias = ctypes.c_uint64
|
|
@dll.bind(kern_return_t, mach_port_t, io_name_t, CFDictionaryRef, mach_port_t, uintptr_t, c.POINTER[io_iterator_t])
|
|
def IOServiceAddNotification(mainPort:mach_port_t, notificationType:io_name_t, matching:CFDictionaryRef, wakePort:mach_port_t, reference:uintptr_t, notification:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, IONotificationPortRef, io_name_t, CFDictionaryRef, IOServiceMatchingCallback, ctypes.c_void_p, c.POINTER[io_iterator_t])
|
|
def IOServiceAddMatchingNotification(notifyPort:IONotificationPortRef, notificationType:io_name_t, matching:CFDictionaryRef, callback:IOServiceMatchingCallback, refCon:ctypes.c_void_p, notification:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, IONotificationPortRef, io_service_t, io_name_t, IOServiceInterestCallback, ctypes.c_void_p, c.POINTER[io_object_t])
|
|
def IOServiceAddInterestNotification(notifyPort:IONotificationPortRef, service:io_service_t, interestType:io_name_t, callback:IOServiceInterestCallback, refCon:ctypes.c_void_p, notification:c.POINTER[io_object_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_service_t, CFDictionaryRef, c.POINTER[boolean_t])
|
|
def IOServiceMatchPropertyTable(service:io_service_t, matching:CFDictionaryRef, matches:c.POINTER[boolean_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_service_t, c.POINTER[uint32_t])
|
|
def IOServiceGetBusyState(service:io_service_t, busyState:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
@c.record
|
|
class struct_mach_timespec(c.Struct):
|
|
SIZE = 8
|
|
tv_sec: int
|
|
tv_nsec: int
|
|
mach_timespec_t: TypeAlias = struct_mach_timespec
|
|
clock_res_t: TypeAlias = ctypes.c_int32
|
|
struct_mach_timespec.register_fields([('tv_sec', ctypes.c_uint32, 0), ('tv_nsec', clock_res_t, 4)])
|
|
@dll.bind(kern_return_t, io_service_t, c.POINTER[mach_timespec_t])
|
|
def IOServiceWaitQuiet(service:io_service_t, waitTime:c.POINTER[mach_timespec_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, c.POINTER[uint32_t])
|
|
def IOKitGetBusyState(mainPort:mach_port_t, busyState:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
IOOptionBits: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_timespec_t], IOOptionBits)
|
|
def IOKitWaitQuietWithOptions(mainPort:mach_port_t, waitTime:c.POINTER[mach_timespec_t], options:IOOptionBits) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_timespec_t])
|
|
def IOKitWaitQuiet(mainPort:mach_port_t, waitTime:c.POINTER[mach_timespec_t]) -> kern_return_t: ...
|
|
task_port_t: TypeAlias = ctypes.c_uint32
|
|
io_connect_t: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(kern_return_t, io_service_t, task_port_t, uint32_t, c.POINTER[io_connect_t])
|
|
def IOServiceOpen(service:io_service_t, owningTask:task_port_t, type:uint32_t, connect:c.POINTER[io_connect_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_service_t, uint32_t)
|
|
def IOServiceRequestProbe(service:io_service_t, options:uint32_t) -> kern_return_t: ...
|
|
_anonenum0: dict[int, str] = {(kIOServiceInteractionAllowed:=1): 'kIOServiceInteractionAllowed'}
|
|
@dll.bind(kern_return_t, io_service_t, uint32_t)
|
|
def IOServiceAuthorize(service:io_service_t, options:uint32_t) -> kern_return_t: ...
|
|
@dll.bind(ctypes.c_int32, io_service_t, ctypes.c_int32)
|
|
def IOServiceOpenAsFileDescriptor(service:io_service_t, oflag:int) -> int: ...
|
|
@dll.bind(kern_return_t, io_connect_t)
|
|
def IOServiceClose(connect:io_connect_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t)
|
|
def IOConnectAddRef(connect:io_connect_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t)
|
|
def IOConnectRelease(connect:io_connect_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, c.POINTER[io_service_t])
|
|
def IOConnectGetService(connect:io_connect_t, service:c.POINTER[io_service_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, mach_port_t, uintptr_t)
|
|
def IOConnectSetNotificationPort(connect:io_connect_t, type:uint32_t, port:mach_port_t, reference:uintptr_t) -> kern_return_t: ...
|
|
mach_vm_address_t: TypeAlias = ctypes.c_uint64
|
|
mach_vm_size_t: TypeAlias = ctypes.c_uint64
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, c.POINTER[mach_vm_address_t], c.POINTER[mach_vm_size_t], IOOptionBits)
|
|
def IOConnectMapMemory(connect:io_connect_t, memoryType:uint32_t, intoTask:task_port_t, atAddress:c.POINTER[mach_vm_address_t], ofSize:c.POINTER[mach_vm_size_t], options:IOOptionBits) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, c.POINTER[mach_vm_address_t], c.POINTER[mach_vm_size_t], IOOptionBits)
|
|
def IOConnectMapMemory64(connect:io_connect_t, memoryType:uint32_t, intoTask:task_port_t, atAddress:c.POINTER[mach_vm_address_t], ofSize:c.POINTER[mach_vm_size_t], options:IOOptionBits) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, mach_vm_address_t)
|
|
def IOConnectUnmapMemory(connect:io_connect_t, memoryType:uint32_t, fromTask:task_port_t, atAddress:mach_vm_address_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, mach_vm_address_t)
|
|
def IOConnectUnmapMemory64(connect:io_connect_t, memoryType:uint32_t, fromTask:task_port_t, atAddress:mach_vm_address_t) -> kern_return_t: ...
|
|
CFTypeRef: TypeAlias = ctypes.c_void_p
|
|
@dll.bind(kern_return_t, io_connect_t, CFTypeRef)
|
|
def IOConnectSetCFProperties(connect:io_connect_t, properties:CFTypeRef) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, CFStringRef, CFTypeRef)
|
|
def IOConnectSetCFProperty(connect:io_connect_t, propertyName:CFStringRef, property:CFTypeRef) -> kern_return_t: ...
|
|
uint64_t: TypeAlias = ctypes.c_uint64
|
|
size_t: TypeAlias = ctypes.c_uint64
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, c.POINTER[uint64_t], c.POINTER[uint32_t], ctypes.c_void_p, c.POINTER[size_t])
|
|
def IOConnectCallMethod(connection:mach_port_t, selector:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t], outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, c.POINTER[uint64_t], c.POINTER[uint32_t], ctypes.c_void_p, c.POINTER[size_t])
|
|
def IOConnectCallAsyncMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t], outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, ctypes.c_void_p, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
|
def IOConnectCallStructMethod(connection:mach_port_t, selector:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
|
def IOConnectCallAsyncStructMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], c.POINTER[uint32_t])
|
|
def IOConnectCallScalarMethod(connection:mach_port_t, selector:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], c.POINTER[uint32_t])
|
|
def IOConnectCallAsyncScalarMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t)
|
|
def IOConnectTrap0(connect:io_connect_t, index:uint32_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t)
|
|
def IOConnectTrap1(connect:io_connect_t, index:uint32_t, p1:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t)
|
|
def IOConnectTrap2(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t)
|
|
def IOConnectTrap3(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
|
def IOConnectTrap4(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
|
def IOConnectTrap5(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t, p5:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
|
def IOConnectTrap6(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t, p5:uintptr_t, p6:uintptr_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_connect_t, io_connect_t)
|
|
def IOConnectAddClient(connect:io_connect_t, client:io_connect_t) -> kern_return_t: ...
|
|
io_registry_entry_t: TypeAlias = ctypes.c_uint32
|
|
@dll.bind(io_registry_entry_t, mach_port_t)
|
|
def IORegistryGetRootEntry(mainPort:mach_port_t) -> io_registry_entry_t: ...
|
|
io_string_t: TypeAlias = c.Array[ctypes.c_char, Literal[512]]
|
|
@dll.bind(io_registry_entry_t, mach_port_t, io_string_t)
|
|
def IORegistryEntryFromPath(mainPort:mach_port_t, path:io_string_t) -> io_registry_entry_t: ...
|
|
@dll.bind(io_registry_entry_t, mach_port_t, CFStringRef)
|
|
def IORegistryEntryCopyFromPath(mainPort:mach_port_t, path:CFStringRef) -> io_registry_entry_t: ...
|
|
_anonenum1: dict[int, str] = {(kIORegistryIterateRecursively:=1): 'kIORegistryIterateRecursively', (kIORegistryIterateParents:=2): 'kIORegistryIterateParents'}
|
|
@dll.bind(kern_return_t, mach_port_t, io_name_t, IOOptionBits, c.POINTER[io_iterator_t])
|
|
def IORegistryCreateIterator(mainPort:mach_port_t, plane:io_name_t, options:IOOptionBits, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, IOOptionBits, c.POINTER[io_iterator_t])
|
|
def IORegistryEntryCreateIterator(entry:io_registry_entry_t, plane:io_name_t, options:IOOptionBits, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_iterator_t)
|
|
def IORegistryIteratorEnterEntry(iterator:io_iterator_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_iterator_t)
|
|
def IORegistryIteratorExitEntry(iterator:io_iterator_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t)
|
|
def IORegistryEntryGetName(entry:io_registry_entry_t, name:io_name_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_name_t)
|
|
def IORegistryEntryGetNameInPlane(entry:io_registry_entry_t, plane:io_name_t, name:io_name_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_name_t)
|
|
def IORegistryEntryGetLocationInPlane(entry:io_registry_entry_t, plane:io_name_t, location:io_name_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_string_t)
|
|
def IORegistryEntryGetPath(entry:io_registry_entry_t, plane:io_name_t, path:io_string_t) -> kern_return_t: ...
|
|
@dll.bind(CFStringRef, io_registry_entry_t, io_name_t)
|
|
def IORegistryEntryCopyPath(entry:io_registry_entry_t, plane:io_name_t) -> CFStringRef: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, c.POINTER[uint64_t])
|
|
def IORegistryEntryGetRegistryEntryID(entry:io_registry_entry_t, entryID:c.POINTER[uint64_t]) -> kern_return_t: ...
|
|
CFMutableDictionaryRef: TypeAlias = c.POINTER[struct___CFDictionary]
|
|
class struct___CFAllocator(c.Struct): pass
|
|
CFAllocatorRef: TypeAlias = c.POINTER[struct___CFAllocator]
|
|
@dll.bind(kern_return_t, io_registry_entry_t, c.POINTER[CFMutableDictionaryRef], CFAllocatorRef, IOOptionBits)
|
|
def IORegistryEntryCreateCFProperties(entry:io_registry_entry_t, properties:c.POINTER[CFMutableDictionaryRef], allocator:CFAllocatorRef, options:IOOptionBits) -> kern_return_t: ...
|
|
@dll.bind(CFTypeRef, io_registry_entry_t, CFStringRef, CFAllocatorRef, IOOptionBits)
|
|
def IORegistryEntryCreateCFProperty(entry:io_registry_entry_t, key:CFStringRef, allocator:CFAllocatorRef, options:IOOptionBits) -> CFTypeRef: ...
|
|
@dll.bind(CFTypeRef, io_registry_entry_t, io_name_t, CFStringRef, CFAllocatorRef, IOOptionBits)
|
|
def IORegistryEntrySearchCFProperty(entry:io_registry_entry_t, plane:io_name_t, key:CFStringRef, allocator:CFAllocatorRef, options:IOOptionBits) -> CFTypeRef: ...
|
|
io_struct_inband_t: TypeAlias = c.Array[ctypes.c_char, Literal[4096]]
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_struct_inband_t, c.POINTER[uint32_t])
|
|
def IORegistryEntryGetProperty(entry:io_registry_entry_t, propertyName:io_name_t, buffer:io_struct_inband_t, size:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, CFTypeRef)
|
|
def IORegistryEntrySetCFProperties(entry:io_registry_entry_t, properties:CFTypeRef) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, CFStringRef, CFTypeRef)
|
|
def IORegistryEntrySetCFProperty(entry:io_registry_entry_t, propertyName:CFStringRef, property:CFTypeRef) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_iterator_t])
|
|
def IORegistryEntryGetChildIterator(entry:io_registry_entry_t, plane:io_name_t, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_registry_entry_t])
|
|
def IORegistryEntryGetChildEntry(entry:io_registry_entry_t, plane:io_name_t, child:c.POINTER[io_registry_entry_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_iterator_t])
|
|
def IORegistryEntryGetParentIterator(entry:io_registry_entry_t, plane:io_name_t, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_registry_entry_t])
|
|
def IORegistryEntryGetParentEntry(entry:io_registry_entry_t, plane:io_name_t, parent:c.POINTER[io_registry_entry_t]) -> kern_return_t: ...
|
|
@dll.bind(boolean_t, io_registry_entry_t, io_name_t)
|
|
def IORegistryEntryInPlane(entry:io_registry_entry_t, plane:io_name_t) -> boolean_t: ...
|
|
@dll.bind(CFMutableDictionaryRef, c.POINTER[ctypes.c_char])
|
|
def IOServiceMatching(name:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
|
@dll.bind(CFMutableDictionaryRef, c.POINTER[ctypes.c_char])
|
|
def IOServiceNameMatching(name:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
|
@dll.bind(CFMutableDictionaryRef, mach_port_t, uint32_t, c.POINTER[ctypes.c_char])
|
|
def IOBSDNameMatching(mainPort:mach_port_t, options:uint32_t, bsdName:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
|
@dll.bind(CFMutableDictionaryRef, mach_port_t, uint32_t, c.POINTER[ctypes.c_char])
|
|
def IOOpenFirmwarePathMatching(mainPort:mach_port_t, options:uint32_t, path:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
|
@dll.bind(CFMutableDictionaryRef, uint64_t)
|
|
def IORegistryEntryIDMatching(entryID:uint64_t) -> CFMutableDictionaryRef: ...
|
|
@dll.bind(kern_return_t, mach_port_t, io_name_t, io_name_t)
|
|
def IOServiceOFPathToBSDName(mainPort:mach_port_t, openFirmwarePath:io_name_t, bsdName:io_name_t) -> kern_return_t: ...
|
|
IOAsyncCallback0: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32]]
|
|
IOAsyncCallback1: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_void_p]]
|
|
IOAsyncCallback2: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_void_p, ctypes.c_void_p]]
|
|
IOAsyncCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, c.POINTER[ctypes.c_void_p], ctypes.c_uint32]]
|
|
vm_size_t: TypeAlias = ctypes.c_uint64
|
|
@dll.bind(kern_return_t, c.POINTER[mach_msg_header_t], uint32_t, c.POINTER[uint32_t], c.POINTER[uintptr_t], c.POINTER[ctypes.c_void_p], c.POINTER[vm_size_t])
|
|
def OSGetNotificationFromMessage(msg:c.POINTER[mach_msg_header_t], index:uint32_t, type:c.POINTER[uint32_t], reference:c.POINTER[uintptr_t], content:c.POINTER[ctypes.c_void_p], size:c.POINTER[vm_size_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[ctypes.c_char], uint32_t)
|
|
def IOCatalogueSendData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[ctypes.c_char], size:uint32_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, io_name_t)
|
|
def IOCatalogueTerminate(mainPort:mach_port_t, flag:uint32_t, description:io_name_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[uint32_t])
|
|
def IOCatalogueGetData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[c.POINTER[ctypes.c_char]], size:c.POINTER[uint32_t]) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, io_name_t)
|
|
def IOCatalogueModuleLoaded(mainPort:mach_port_t, name:io_name_t) -> kern_return_t: ...
|
|
@dll.bind(kern_return_t, mach_port_t, uint32_t)
|
|
def IOCatalogueReset(mainPort:mach_port_t, flag:uint32_t) -> kern_return_t: ...
|