December 2011
Intermediate to advanced
485 pages
15h 47m
English
The kernel control interface <sys/kern_control.h> is a KPI, which allows a KEXT to communicate bi-directionally with user space processes. The kernel control system lives in the BSD portion of the kernel and is therefore written in C and not C++ (I/O Kit uses C++).
The KPI is intended to allow a user space program to control and configure a KEXT. For example, let's say you had implemented a custom firewall NKE (Network Kernel Extension). You could then use the kernel control API to tell your firewall which addresses or ports it should block traffic from, as well as retrieving logs and statistics.
The KPI is relatively simple to use in both kernel space and user space. In fact, there is no special API required to use the kernel ...