com.sun.jna.platform.mac

## Class IOKitUtil

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

-     public class IOKitUtil
      extends java.lang.Object

  Provides utilities for IOKit.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static CoreFoundation.CFMutableDictionaryRef` | `getBSDNameMatchingDict(java.lang.String bsdName)` Convenience method to get the IO dictionary matching a bsd name.
    `static int` | `getMasterPort()` Gets a pointer to the Mach Master Port.
    `static IOKit.IOService` | `getMatchingService(CoreFoundation.CFDictionaryRef matchingDictionary)` Opens a the first IOService matching a dictionary.
    `static IOKit.IOService` | `getMatchingService(java.lang.String serviceName)` Opens a the first IOService matching a service name.
    `static IOKit.IOIterator` | `getMatchingServices(CoreFoundation.CFDictionaryRef matchingDictionary)` Convenience method to get IOService objects matching a dictionary.
    `static IOKit.IOIterator` | `getMatchingServices(java.lang.String serviceName)` Convenience method to get IOService objects matching a service name.
    `static IOKit.IORegistryEntry` | `getRoot()` Gets the IO Registry root.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### 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, com.sun.jna.ptr.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(com.sun.jna.platform.mac.IOKit.IOObject)`.

    - #### getMatchingService

          public static IOKit.IOService getMatchingService(java.lang.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(com.sun.jna.platform.mac.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(com.sun.jna.platform.mac.IOKit.IOObject)`.

    - #### getMatchingServices

          public static IOKit.IOIterator getMatchingServices(java.lang.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(com.sun.jna.platform.mac.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(com.sun.jna.platform.mac.IOKit.IOObject)`.

    - #### getBSDNameMatchingDict

          public static CoreFoundation.CFMutableDictionaryRef getBSDNameMatchingDict(java.lang.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(com.sun.jna.platform.mac.IOKit.IOObject)`.

Copyright © 2007-2018 Timothy Wall. All Rights Reserved.