Function

IONotificationPortCreate(_:)

Creates and returns a notification object for receiving IOKit notifications of new devices or state changes.

Declaration

func IONotificationPortCreate(_ masterPort: mach_port_t) -> IONotificationPortRef!

Parameters

masterPort

The master port obtained from IOMasterPort(). Pass kIOMasterPortDefault to look up the default master port.

Return Value

A reference to the notification object.

Discussion

Creates the notification object to receive notifications from IOKit of new device arrivals or state changes. The notification object can be supply a CFRunLoopSource, or mach_port_t to be used to listen for events.

See Also

Miscellaneous

func IOBSDNameMatching(mach_port_t, UInt32, UnsafePointer<Int8>!) -> CFMutableDictionary!

Create a matching dictionary that specifies an IOService match based on BSD device name.

func IOConnectAddRef(io_connect_t) -> kern_return_t

Adds a reference to the connect handle.

func IOConnectRelease(io_connect_t) -> kern_return_t

Remove a reference to the connect handle.

func IOConnectSetCFProperties(io_connect_t, CFTypeRef!) -> kern_return_t

Set CF container based properties on a connection.

func IOCreateReceivePort(UInt32, UnsafeMutablePointer<mach_port_t>!) -> kern_return_t

Creates and returns a mach port suitable for receiving IOKit messages of the specified type.

func IOIteratorIsValid(io_iterator_t) -> boolean_t

Checks an iterator is still valid.

func IOIteratorNext(io_iterator_t) -> io_object_t

Returns the next object in an iteration.

func IOIteratorReset(io_iterator_t)

Resets an iteration back to the beginning.

func IOMasterPort(mach_port_t, UnsafeMutablePointer<mach_port_t>!) -> kern_return_t

Returns the mach port used to initiate communication with IOKit.

func IONotificationPortDestroy(IONotificationPortRef!)

Destroys a notification object created with IONotificationPortCreate. Also destroys any mach_port's or CFRunLoopSources obatined from IONotificationPortGetRunLoopSource(_:) or IONotificationPortGetMachPort(_:)

func IONotificationPortGetMachPort(IONotificationPortRef!) -> mach_port_t

Returns a mach_port to be used to listen for notifications.

func IONotificationPortGetRunLoopSource(IONotificationPortRef!) -> Unmanaged<CFRunLoopSource>!

Returns a CFRunLoopSource to be used to listen for notifications.

func IONotificationPortSetDispatchQueue(IONotificationPortRef!, DispatchQueue!)

Sets a dispatch queue to be used to listen for notifications.

func IOObjectConformsTo(io_object_t, UnsafePointer<Int8>!) -> boolean_t

Performs an OSDynamicCast operation on an IOKit object.

func IOObjectCopyClass(io_object_t) -> Unmanaged<CFString>!

Return the class name of an IOKit object.

func IOObjectGetKernelRetainCount(io_object_t) -> UInt32

Returns kernel retain count of an IOKit object.

func IOObjectGetRetainCount(io_object_t) -> UInt32

Returns kernel retain count of an IOKit object. Identical to IOObjectGetKernelRetainCount() but available prior to Mac OS 10.6.

func IOObjectGetUserRetainCount(io_object_t) -> UInt32

Returns the retain count for the current process of an IOKit object.

func IOObjectIsEqualTo(io_object_t, io_object_t) -> boolean_t

Checks two object handles to see if they represent the same kernel object.

func IOObjectRelease(io_object_t) -> kern_return_t

Releases an object handle previously returned by IOKitLib.

func IOObjectRetain(io_object_t) -> kern_return_t

Retains an object handle previously returned by IOKitLib.

func IORegistryEntryIDMatching(UInt64) -> CFMutableDictionary!

Create a matching dictionary that specifies an IOService match based on a registry entry ID.

func IORegistryEntryInPlane(io_registry_entry_t, UnsafePointer<Int8>!) -> boolean_t

Determines if the registry entry is attached in a plane.

func IORegistryIteratorEnterEntry(io_iterator_t) -> kern_return_t

Recurse into the current entry in the registry iteration.

func IORegistryIteratorExitEntry(io_iterator_t) -> kern_return_t

Exits a level of recursion, restoring the current entry.

func IOServiceClose(io_connect_t) -> kern_return_t

Close a connection to an IOService and destroy the connect handle.

func IOServiceGetMatchingService(mach_port_t, CFDictionary!) -> io_service_t

Look up a registered IOService object that matches a matching dictionary.

func IOServiceMatching(UnsafePointer<Int8>!) -> CFMutableDictionary!

Create a matching dictionary that specifies an IOService class match.

func IOServiceNameMatching(UnsafePointer<Int8>!) -> CFMutableDictionary!

Create a matching dictionary that specifies an IOService name match.

func IOServiceRequestProbe(io_service_t, UInt32) -> kern_return_t

A request to rescan a bus for device changes.