Who Should Read This Document?
Information on the Web
Important: This document is in a preliminary stage of completion. Although it has received some techincal review, there may be changes and/or additions to some of the information provided here.
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, http://www.opensource.apple.com/darwinsource/Current. 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 http://www.opensource.apple.com/darwinsource/tarballs/apsl/AppleUSBCDCDriver-314.4.1.tar.gz.
This book assumes some familiarity with programming the Mac OS X kernel and the I/O Kit. For a broad overview of the Mac OS X kernel see Kernel Programming Guide. If you need more information about the I/O kit, please read I/O Kit Device Driver Design Guidelines and I/O Kit Fundamentals.
Network Device Driver Programming Guide is intended for anyone who wants to develop network drivers for Mac OS X.
Apple maintains several websites where developers can go for general and technical information on Mac OS X.
Darwin Projects Directory—Open source drivers for use with Darwin (http://www.opensource.apple.com/darwinsource/Current/)
Apple Developer Connection—Developer Documentation (http://developer.apple.com/documentation). Features the same documentation that is installed on Mac OS X, except that often the documentation is more up-to-date. Also includes legacy documentation.
AppleCare Knowledge Base (http://www.apple.com/support). Contains technical articles, tutorials, FAQs, technical notes, and other information.
Apple Developer Connection—Mac OS X (http://developer.apple.com/macosx). Offers SDKs, release notes, product notes and reviews, and other resources and information related to Mac OS X.
Last updated: 2008-03-11