IOKit.h 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // IOKit.h
  3. // electra
  4. //
  5. // Created by Jamie on 27/01/2018.
  6. // Copyright © 2018 Electra Team. All rights reserved.
  7. //
  8. #ifndef IOKit_h
  9. #define IOKit_h
  10. #include <CoreFoundation/CoreFoundation.h>
  11. kern_return_t mach_vm_read(
  12. vm_map_t target_task,
  13. mach_vm_address_t address,
  14. mach_vm_size_t size,
  15. vm_offset_t *data,
  16. mach_msg_type_number_t *dataCnt);
  17. typedef mach_port_t io_service_t;
  18. typedef mach_port_t io_connect_t;
  19. typedef mach_port_t io_object_t;
  20. typedef io_object_t io_registry_entry_t;
  21. typedef char io_name_t[128];
  22. typedef char io_struct_inband_t[4096];
  23. extern const mach_port_t kIOMasterPortDefault;
  24. #define IO_OBJECT_NULL (0)
  25. io_service_t
  26. IOServiceGetMatchingService(
  27. mach_port_t _masterPort,
  28. CFDictionaryRef matching);
  29. CFMutableDictionaryRef
  30. IOServiceMatching(
  31. const char* name);
  32. kern_return_t
  33. IOServiceOpen(
  34. io_service_t service,
  35. task_port_t owningTask,
  36. uint32_t type,
  37. io_connect_t* connect );
  38. io_service_t
  39. IOServiceGetMatchingService(
  40. mach_port_t _masterPort,
  41. CFDictionaryRef matching);
  42. CFMutableDictionaryRef
  43. IOServiceMatching(
  44. const char* name);
  45. kern_return_t
  46. IORegistryEntrySetCFProperties(
  47. io_registry_entry_t entry,
  48. CFTypeRef properties );
  49. kern_return_t
  50. IORegistryEntryGetProperty(
  51. io_registry_entry_t entry,
  52. const io_name_t propertyName,
  53. io_struct_inband_t buffer,
  54. uint32_t * size );
  55. io_registry_entry_t IORegistryEntryFromPath(
  56. mach_port_t port,
  57. char *path );
  58. kern_return_t IOObjectRelease(io_object_t object);
  59. kern_return_t IOConnectTrap6(io_connect_t connect, uint32_t index, uintptr_t p1, uintptr_t p2, uintptr_t p3, uintptr_t p4, uintptr_t p5, uintptr_t p6);
  60. kern_return_t mach_vm_read_overwrite(vm_map_t target_task, mach_vm_address_t address, mach_vm_size_t size, mach_vm_address_t data, mach_vm_size_t *outsize);
  61. kern_return_t mach_vm_write(vm_map_t target_task, mach_vm_address_t address, vm_offset_t data, mach_msg_type_number_t dataCnt);
  62. kern_return_t mach_vm_allocate(vm_map_t target, mach_vm_address_t *address, mach_vm_size_t size, int flags);
  63. kern_return_t mach_vm_deallocate(vm_map_t target, mach_vm_address_t address, mach_vm_size_t size);
  64. kern_return_t mach_vm_remap(vm_map_t dst, mach_vm_address_t *dst_addr, mach_vm_size_t size, mach_vm_offset_t mask, int flags, vm_map_t src, mach_vm_address_t src_addr, boolean_t copy, vm_prot_t *cur_prot, vm_prot_t *max_prot, vm_inherit_t inherit);
  65. #endif /* IOKit_h */