intro(D2) intro(D2)
NAME
intro - introduction to driver entry point routines
SYNOPSIS
#include <sys/types.h>
#include <sys/ddi.h>
DESCRIPTION
This section describes the routines a developer needs to
include in a device driver or STREAMS module.
USAGE
The routines described in this section are called ``entry
point routines'' because they provide the interfaces that the
kernel needs from drivers and STREAMS modules. The kernel
calls these routines when needed. Some are called at well-
defined times, such as system start up and system shut down.
Others are called as a result of I/O-related system calls or
external events, such as interrupts from peripheral devices.
Each driver or module is organized into two logical parts: the
base level and the interrupt level. The base level interacts
with the kernel and the device on behalf of processes
performing I/O operations. The interrupt level interacts with
the device and the kernel as a result of an event such as data
arrival, and usually cannot be associated with any particular
process.
Each driver or module is uniquely identified by a prefix
string specified in its configuration file. The name of all
the driver-supplied routines and global variables should begin
with this prefix. This will reduce the chance of a symbol
collision with another driver or module. Any private routines
defined by a driver or module that are not entry point
routines should be declared as static. Also, any global
variables that are private to the driver or module should be
declared as static.
In general, any number of instances of the same driver (or
module) entry point routine can be running concurrently. It
is the responsibility of the driver or module to synchronize
access to its private data structures.
Copyright 1994 Novell, Inc. Page 1
intro(D2) intro(D2)
Applicability
ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2