Class IOKitUtil

java.lang.Object
com.sun.jna.platform.mac.IOKitUtil

public class IOKitUtil extends Object
Provides utilities for IOKit.
  • Method Details

    • getMasterPort

      public static int getMasterPort()
      Gets a pointer to the Mach Master Port.
      Returns:
      The master port.

      Multiple calls to getMasterPort() will not result in leaking ports (each call to IOKit.IOMasterPort(int, IntByReference) adds another send right to the port) but it is considered good programming practice to deallocate the port when you are finished with it, using SystemB.mach_port_deallocate(int, int).

    • getRoot

      public static IOKit.IORegistryEntry getRoot()
      Gets the IO Registry root.
      Returns:
      a handle to the IORoot. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).
    • getMatchingService

      public static IOKit.IOService getMatchingService(String serviceName)
      Opens a the first IOService matching a service name.
      Parameters:
      serviceName - The service name to match
      Returns:
      a handle to an IOService if successful, null if failed. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).
    • getMatchingService

      public static IOKit.IOService getMatchingService(CoreFoundation.CFDictionaryRef matchingDictionary)
      Opens a the first IOService matching a dictionary.
      Parameters:
      matchingDictionary - The dictionary to match. This method will consume a reference to the dictionary.
      Returns:
      a handle to an IOService if successful, null if failed. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).
    • getMatchingServices

      public static IOKit.IOIterator getMatchingServices(String serviceName)
      Convenience method to get IOService objects matching a service name.
      Parameters:
      serviceName - The service name to match
      Returns:
      a handle to an IOIterator if successful, null if failed. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).
    • getMatchingServices

      public static IOKit.IOIterator getMatchingServices(CoreFoundation.CFDictionaryRef matchingDictionary)
      Convenience method to get IOService objects matching a dictionary.
      Parameters:
      matchingDictionary - The dictionary to match. This method will consume a reference to the dictionary.
      Returns:
      a handle to an IOIterator if successful, null if failed. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).
    • getBSDNameMatchingDict

      public static CoreFoundation.CFMutableDictionaryRef getBSDNameMatchingDict(String bsdName)
      Convenience method to get the IO dictionary matching a bsd name.
      Parameters:
      bsdName - The bsd name of the registry entry
      Returns:
      The dictionary ref if successful, null if failed. Callers should release when finished, using IOKit.IOObjectRelease(IOKit.IOObject).