Function Driver Framework Overview

The Function Driver Framework (FDF) enables developers to write Function Drivers (FDs). It loads and enables the Function Drivers for newly connected USB devices.

Purpose

The Function Driver Framework enables developers to write Function Drivers. It also provides a server which watches for device attachment and detachment events from the USB Driver Interface (USBDI). It loads and unloads Function Drivers as necessary to allow application-level software on the Symbian Host to use attached devices.

This document provides background information for Symbian licensees and third-party developers who are designing Function Drivers.

Required background

A general understanding of the USB 2.0 specification would be useful.

Key concepts/terms

The component has the following key concepts:

FDF – Function Driver Framework

A singleton user-mode server that watches for device attachment and detachment events from the USBDI and loads Function Drivers for devices.

FDF Functions

The services offered by a USB device.

FD – Function Driver

A driver for USB peripherals that are attached to a Symbian platform device, usually made up of a Function Driver Controller (FDC) and a Function Driver Implementation (FDI).

FDC – Function Driver Controller

Part of a Function Driver. The FDC is a plug-in to the Function Driver Framework (FDF).

FDI – Function Driver Implementation

Part of a Function Driver.

Host stack

The software including the USBDI which provides USB Host functionality.

Architectural relationships

The Function Driver Framework enables licensees to write Function Drivers – drivers for USB peripherals that are attached to a Symbian platform device.

API summary

You use the FDF API to implement Function Driver Controllers.