O'Reilly logo

OS X and iOS Kernel Programming by Douglas Clarke, Ole Henry Halvorsen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The Kernel Library: libkern

The runtime support and base classes on which the I/O Kit is built are implemented in a library known as libkern. The libkern library provides support that makes up for much of the functionality that is excluded in the embedded C++ language. The libkern library defines a class known as OSObject, which provides the base class that is used by all I/O Kit classes. Since the base driver class IOService is a subclass of OSObject, the main class of a driver will also be derived from OSObject. Any class that is derived from OSObject gets the following functionality:

  • Runtime Type Information, which is implemented through custom macros provided by libkern. These macros provide functionality that includes
    • Type introspection, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required