Package 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
`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)`.