# Developing a Kernel Device Driver

A device driver ties an input/output hardware device to the computer's operating system. All drivers are created as add-ons that are loaded by a running application. This chapter discusses drivers that are loaded by the kernel.

The drivers that the kernel loads must play by these rules:

- The driver must implement a set of pre-defined entry points functions. The kernel invokes these functions as it loads and runs the driver. The entry point functions are described within the context of an example driver implementation in the section Device Drivers: A Sample Device Driver .

- In addition to the functions that it defines and implements itself, a driver can only call system functions that the kernel specifically exports for driver use. Exported system functions are described in Device Drivers: Functions for Kernel Drivers .

- To find the hardware that it's driving, a driver has to ask the system for the devices that are attached to the system. The functions and macros that search for PCI and Plug and Play devices are described in Device Drivers: PCI Functions and Device Drivers: Plug and Play .

- The driver must be compiled as an add-on module and it must be installed in a directory where the kernel can find it. See Device Drivers: Building and Installing a Device Driver for details.

The Be Book, in lovely HTML, for BeOS Release 3.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified March 27, 1998.