Introduction to Network Device Driver Programming Guide

Network Device Driver Programming Guide is an introduction to developing network device drivers, and a companion to the source code available in the Darwin Projects Directory, You will find this document most useful if you examine a sample network driver as you read it. This document will refer to the AppleUSBCDCDriver. Code for this driver can be found at

This book assumes some familiarity with programming the OS X kernel and the I/O Kit. For a broad overview of the OS X kernel see Kernel Programming. If you need more information about the I/O kit, please read Writing an I/O Kit Device Driver and I/O Kit Fundamentals.

Who Should Read This Document?

Network Device Driver Programming Guide is intended for anyone who wants to develop network drivers for OS X.

Information on the Web

Apple maintains several websites where developers can go for general and technical information on OS X.