Dev:IOKit.framework

I/O Kit is a low-level framework communicating with hardware or kernel services. Although it is a public framework, Apple discourages developers from using it, and any apps using it will be rejected from App Store.

IOService
Code using I/O Kit usually follows this pattern:

The selectors and input/output depends on the service.

Non-IOService
Besides IOService functions, the user-land I/O Kit also contains other hardware and kernel-related functions, e.g. IOHID (human interface device), OSKext (kernel extension), etc.