Driver Source Files

This document details the directory structure and file types of logical device drivers and physical device drivers.

Directory structure

Device driver DLLs come in two types - the logical device driver (LDD), and the physical device driver (PDD). Typically, a single LDD supports functionality common to a class of hardware devices, whereas a PDD supports a specific member of that class.

In Symbian platform source code, PDDs are part of variant baseports, while LDDs are stored in a shared location that is not specific to a particular variant:

  • PDD source files (.cpp, .h and .mmp) for peripherals for the H4 variant are in source directories named base\omap_hrp\h4\ <driver_pdd >.

  • PDD source files (.cpp, .h and .mmp) for peripherals for the Emulator variant are in source directories named base\wins\ <driver_pdd >.

  • LDD source files are in source directories named base\e32\ <driver _ldd >, which are shared for all variants.

  • Common test application source files are in source directories named base\e32test\ <driver_test >.

For both types of driver, the source files are generally organised in the following sub-directories:

  • <driver >\group.mmp files

  • <driver >\inc.h files

  • <driver >\src.cpp files

File extensions

The project files of a device driver that is part of the Kernel code are similar to those for other components in Symbian platform. The following tables summarise the source and binary file types you will see:

Source File Type

Description

.h

Include files

.cpp

Source files

.inl

Inline files

.mmp

Project file, similar to a makefile in other operating systems

.inf

Build file grouping multiple mmp files. Command line builds are done from this file's directory.

.iby

ROM include file. This file specifies the built files that need to be included in a ROM image. This is not used in builds for the Emulator.

Binary File Type

Description

.ldd

Logical Device Driver target. A LDD contains code that is common to a class of hardware devices.

.pdd

Physical Device Driver target. A PDD contains code that is specific to one particular type of device.

.exe

Application executable target.

.ext

Kernel extension target, a driver that is started when the kernel boots.