Caution: This version of this document is no longer maintained. For the latest documentation, see

About the USB DDK

This chapter includes:

What you'll find in this guide

The USB Driver Development Kit will help you write drivers for Universal Serial Bus devices.

In this preface, you'll find Building DDKs. This document provides information about changes to installing DDKs.

Note: Our USB API is designed to work with either QNX Neutrino or QNX 4. Exceptions will be noted where appropriate.

The following table may help you find information quickly:

For information on: See:
System requirements and other vital information Before You Begin
How the OS supports USB Overview
Command-line utilities USB Utilities
USB driver interface calls USB Library Reference

Note: The USB DDK includes source code for several USB class drivers. Each class driver is contained in its own separate archive. Look under the /ddk_working_dir/usb/src/hardware/devu/class directory on your system.


We assume you're familiar with the Universal Serial Bus (USB) Specification revision 2.0, especially the chapters on:

You'll need a good understanding of the concepts in those chapters in order to write USB client device drivers.

Note: For up-to-date information on USB developments, visit

Building DDKs

You can compile the DDK from the IDE or the command line.

Typographical conventions

Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:

Reference Example
Code examples if( stream == NULL )
Command options -lR
Commands make
Environment variables PATH
File and pathnames /dev/null
Function names exit()
Keyboard chords Ctrl-Alt-Delete
Keyboard input something you type
Keyboard keys Enter
Program output login:
Programming constants NULL
Programming data types unsigned short
Programming literals 0xFF, "message string"
Variable names stdin
User-interface components Cancel

We use an arrow (→) in directions for accessing menu items, like this:

You'll find the Other... menu item under Perspective-->Show View.

We use notes, cautions, and warnings to highlight important messages:

Note: Notes point out something important or useful.

Caution: Cautions tell you about commands or procedures that may have unwanted or undesirable side effects.

WARNING: Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself.

Note to Windows users

In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.

We also generally follow POSIX/UNIX filesystem conventions.

Navigation buttons

At the top and bottom of our HTML docs, you'll see some or all of these buttons:

Use this button: To move:
Previous To the previous part of the document.
Contents “Up” in the document:
  • In a prose book, this typically takes you to About This Guide.
  • In a reference book, it takes you to the listing of items that start with a given letter. For example, if you're looking at the docs for abs(), this button takes you to the listing of the functions that start with A.
Keyword index To the keyword index.
Next To the next part of the document.

Technical support

To obtain technical support for any QNX product, visit the Support + Services area on our website ( You'll find a wide range of support options, including community forums.

Copyright © 2000–2009, QNX Software Systems GmbH & Co. KG. All rights reserved.