Jump To:
The Reference Library is a comprehensive collection of Apple technical resources, including Articles, Guides, Reference, Release Notes, Sample Code, Technical Notes, and Technical Q&As. Each of the links below leads to the resources for a specific topic.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Serial API Choice (HTML)
DV39: Discusses the choice of serial APIs supported by traditional Mac OS and Mac OS X.
Hardware & Drivers Technical Q&As 2001-07-02
SerialPortSample (HTML) (DMG) (ZIP)
Demonstrates how to do serial I/O on Mac OS X.
Hardware & Drivers Sample Code 2005-08-16
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Hardware & Drivers Sample Code 2006-11-28
simpleAVC (HTML) (DMG) (ZIP)
Shows how to discover and send commands to AVC devices connected by FireWire.
Hardware & Drivers Sample Code 2003-01-14
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Hardware & Drivers Sample Code 2006-10-25
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Hardware & Drivers Sample Code 2008-08-27
SimpleVideoOut (HTML) (DMG) (ZIP)
Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.
Hardware & Drivers Sample Code 2005-08-10
Sleep vs. Doze on Mac OS X (HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
Hardware & Drivers Technical Q&As 2003-10-09
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Hardware & Drivers Sample Code 2007-05-30
Specifiying if the CPU or the GPU should be used for rendering. (HTML)
QA1416: Which processor will be used for rendering in Core Image and how to affect it.
Hardware & Drivers Technical Q&As 2005-08-16
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Hardware & Drivers Technical Q&As 2006-10-03
Stopping Forth command scrolls (HTML) (日本語 HTML)
HW57: Describes how to limit Forth commands from scrolling off the screen.
Hardware & Drivers Technical Q&As 1999-03-29
Switching between one and two machine mode for the Open Firmware user interface (HTML) (日本語 HTML)
HW37: Explains how to change from one machine mode to two in the Open Firmware user interface.
Hardware & Drivers Technical Q&As 1999-02-15
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Hardware & Drivers Technical Q&As 1996-10-25
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Hardware & Drivers Technical Q&As 1999-04-26
tcplognke (HTML) (DMG) (ZIP)
Demonstrates a TCP socket filter based on supported Kernel Programming Interfaces for Tiger
Hardware & Drivers Sample Code 2006-11-27
Thermal considerations for Mac Pro FB-DIMMs (HTML)
TN2156: Design considerations and specifications for the AMB and Heat spreader for the Mac Pro
Hardware & Drivers Technical Notes 2006-11-10
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
Hardware & Drivers Technical Q&As 2008-08-14
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Hardware & Drivers Technical Notes 2008-08-14
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Hardware & Drivers Technical Notes 2006-04-25
Universal Serial Bus Developer Note (HTML)
Provides an overview of Universal Serial Bus (USB) and describes support for it on Mac computers.
Hardware & Drivers Guides 2008-04-28
USB Device Interface Guide (HTML) (PDF)
Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces.
Hardware & Drivers Guides 2007-09-04
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Hardware & Drivers Sample Code 2006-10-16
Use the Doorbell (HTML) (日本語 HTML)
Deprecated - FW01: Explains the function of the FireWire Serial Bus Protocol 2 (SBP2) doorbell.
Hardware & Drivers Technical Q&As 1999-05-17
User-Mode USB Device Arbitration (HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
Hardware & Drivers Guides 2002-02-06
Using "words" in Open Firmware (HTML)
HW73: Explains how to search for specific entries within all the global and local Open Firmware words.
Hardware & Drivers Technical Q&As 1999-10-11
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Hardware & Drivers Technical Notes 2006-11-29
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Hardware & Drivers Sample Code 2006-10-02
Video capture with multiple IIDC cameras (HTML)
QA1365: Discusses factors which influence the number of IIDC cameras that can simultaniously be used for capture.
Hardware & Drivers Technical Q&As 2008-08-08
Video Developer Note (HTML)
Details video capabilities of Mac computers.
Hardware & Drivers Guides 2008-04-28
Video Hardware Info (HTML) (DMG) (ZIP)
Sample demonstrates how to query the video hardware for useful information.
Hardware & Drivers Sample Code 2004-02-12
VolumeToBSDNode (HTML) (DMG) (ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
Hardware & Drivers Sample Code 2006-10-16
Was that a path I just saw? (HTML)
HW101: Describes the Open Firmware path that is occasionally shown at boot time.
Hardware & Drivers Technical Q&As 2000-10-06
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Hardware & Drivers Technical Q&As 1999-02-15
What are generic names in Open Firmware? (HTML) (日本語 HTML)
HW34: Documents the generic names in Open Firmware.
Hardware & Drivers Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Hardware & Drivers Technical Q&As 1999-02-15
What is a CardBus host bus adapter HBA? (HTML)
HW79: Explains what a CardBus host bus adapter (HBA) is and discusses its implementation on the Macintosh.
Hardware & Drivers Technical Q&As 1999-11-15
What is a tokenizer? (HTML) (日本語 HTML)
HW58: Defines a tokenizer.
Hardware & Drivers Technical Q&As 1999-03-29
What is an Open Firmware devalias? (HTML)
HW99: Describes devaliases in Open Firmware.
Hardware & Drivers Technical Q&As 2000-10-06
What is an Open Firmware phandle, and why can't I access it from the Mac OS? (HTML)
HW76: Explains an "Open Firmware phandle" and why it is inaccessible from the Mac OS.
Hardware & Drivers Technical Q&As 1999-11-15
What is meant by 1 machine mode vs. 2 machine mode with respect to Open Firmware? (HTML) (日本語 HTML)
HW36: Documents 1 machine mode vs. 2 machine mode in Open Firmware.
Hardware & Drivers Technical Q&As 1999-02-15
What is the return stack in Open Firmware and can I use it? (HTML)
HW67: Describes the purpose of the Open Firmware return stack and how developers can use it.
Hardware & Drivers Technical Q&As 1999-10-11
What is the word "see" and how do I use it to help me find what a word does? (HTML)
HW72: Explains the function and use of the Open Firmware word "see".
Hardware & Drivers Technical Q&As 1999-10-11
What is unsolicited status? (HTML) (日本語 HTML)
FW03: Explains the meaning and usage of the SBP-2 unsolicited status message.
Hardware & Drivers Technical Q&As 1999-05-17
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
Hardware & Drivers Technical Q&As 1999-11-15
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) (日本語 HTML)
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
Hardware & Drivers Technical Q&As 1999-07-12
Why does logging keep my Printer Module from working? (HTML) (日本語 HTML)
Deprecated - QA1182: Describes some problems with standard printf logging in a Printer Module on Jaguar.
Hardware & Drivers Technical Q&As 2002-11-06
Why don't all of my PDE localizations show up in all applications? (HTML) (日本語 HTML)
QA1185: Explains why some PDE localizations might not appear in all applications.
Hardware & Drivers Technical Q&As 2002-10-16
Workaround for Asynchronous SCSIAction Crashes (HTML) (日本語 HTML)
Deprecated - QA1129: Explains how to workaround asynchronous SCSIAction crashes on Mac OS X.
Hardware & Drivers Technical Q&As 2002-03-21
Working with Configuration Variables (HTML) (日本語 HTML)
QA1119: Explains how to delete a specific Open Firmware configuration variable without using Command-Option-P-R.
Hardware & Drivers Technical Q&As 2002-02-13
Writing PCI Drivers (HTML) (PDF)
Conceptual information about writing I/O Kit drivers for PCI, AGP, and CardBus (PC Card) devices.
Hardware & Drivers Guides 2006-04-04
Xserve Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 4-core and 8-core Xserve introduced in January 2008.
Hardware & Drivers Guides 2008-02-08
Xserve Developer Note (HTML)
Hardware & Drivers Guides 2007-01-12
Xserve G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Xserve G5 computer introduced in January 2005.
Hardware & Drivers Guides 2008-02-21
Xserve G5 PCI Hardware RAID Card (PDF)
Explains how to install the card in an Xserve G5 and how to set up a RAID volume.
Hardware & Drivers Guides 2005-01-03
Xserve G5 Quick Start (PDF)
Explains where to find information for installing, setting up, using, and monitoring Xserve G5 systems.
Hardware & Drivers Guides 2005-01-03
Xserve G5 Using the Hardware RAID PCI Card (PDF)
Explains how to use the software provided with the Hardware RAID PCI Card to configure and manage RAID operations.
Hardware & Drivers Guides 2005-01-03
Xserve G5 Using Xserve Remote Diagnostics (PDF)
Explains how to use the Xserve Remote Diagnostics tool to test server hardware.
Hardware & Drivers Guides 2005-01-03
Xserve RAID User's Guide (PDF)
Explains how to install the Xserve RAID system, connect it to a host system, and configure RAID storage.
Hardware & Drivers Guides 2005-01-03
Xserve User's Guide (PDF)
Explains how to install, operate, and update Xserve systems. Includes expansion and hardware specifications.
Hardware & Drivers Guides 2008-06-09
Application Kit Release Notes (10.4 and Earlier) (HTML)
Internationalization Release Notes 2006-07-17
ATSUI Programming Guide (HTML) (PDF)
Explains how to lay out, process, and draw Unicode text.
Internationalization Guides 2007-07-10
ATSUI Reference (HTML) (PDF)
Describes the C API for rendering Unicode-encoded text with advanced typographic features.
Internationalization Reference 2007-06-28
ATSUICurveAccessDemo (HTML) (DMG) (ZIP)
Demonstrates low-level ATSUI APIs which allow access to raw glyph curve data.
Internationalization Sample Code 2003-01-14
ATSUIDirectAccessDemo (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the ATSUI DirectAccess api.
Internationalization Sample Code 2003-01-14
BOM characters in 'utxt' clipboard flavor (HTML) (日本語 HTML)
QA1221: Explains the use of the BOM character in 'utxt' scrap data
Internationalization Technical Q&As 2003-01-20
Carbon Core Release Notes (HTML)
Internationalization Release Notes 2007-10-31
CFDateFormatter Reference (HTML) (PDF)
Describes a date and time formatter.
Internationalization Reference 2007-05-23
CFLocale Reference (HTML) (PDF)
Describes a representation of a locale.
Internationalization Reference 2007-05-23
CFMutableString Reference (HTML) (PDF)
Describes a mutable character string.
Internationalization Reference 2008-10-15
CFNumberFormatter Reference (HTML) (PDF)
Describes a number formatter.
Internationalization Reference 2007-05-23
CFString Reference (HTML) (PDF)
Describes an immutable character string.
Internationalization Reference 2008-10-15
CFStringTokenizer Reference (HTML) (PDF)
Describes an opaque type for breaking a string into tokens.
Internationalization Reference 2009-01-06
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Internationalization Technical Q&As 2003-02-07
Date, Time, and Measurement Utilities Reference (HTML) (PDF)
Describes the C API for manipulating the locale-specific data of the battery-operated clock.
Internationalization Reference 2006-09-29
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Internationalization Guides 2005-08-11
The Euro Currency Symbol (HTML) (日本語 HTML)
TN1140: The available information about Mac OS and Mac Mac OS X Server support for the Euro currency symbol.
Internationalization Technical Notes 2000-01-01
Foundation Release Notes (HTML)
Describes new features, notes, and known issues for the Foundation framework in Mac OS X v10.5.
Internationalization Release Notes 2007-10-31
Glyph Access Protocol (HTML) (日本語 HTML)
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Internationalization Technical Notes 2003-05-06
Handling Unicode Text Editing With MLTE (HTML) (PDF)
Explains how to use Apple's multilingual text engine.
Internationalization Guides 2008-10-15
Hello Welt (HTML) (DMG) (ZIP)
Demonstrates localization techniques for Dashboard widgets
Internationalization Sample Code 2007-06-25
How can I determine the order of the languages set by the user in the Language tab of the International preference pane? (HTML)
QA1391: Retrieving the order of the languages set by the International preference pane in Cocoa, Carbon, and Terminal.
Internationalization Technical Q&As 2006-12-19
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Internationalization Technical Notes 2001-11-26
IMKCandidates Class Reference (HTML) (PDF)
Describes the class that supports the use of candidate windows for an input method.
Internationalization Reference 2007-06-05
IMKInputController Class Reference (HTML) (PDF)
Describes the class that controls input on the input method side.
Internationalization Reference 2007-06-06
IMKMouseHandling Protocol Reference (HTML) (PDF)
Describes the protocol used to receive mouse events for an input method client session.
Internationalization Reference 2007-06-05
IMKServer Class Reference (HTML) (PDF)
Describes the class that manages connections to input method clients.
Internationalization Reference 2007-06-06
IMKServerInput Protocol Reference (HTML) (PDF)
Describes the informal protocol used to receive text events.
Internationalization Reference 2009-05-06
IMKStateSetting Protocol Reference (HTML) (PDF)
Describes the protocol used to set or access state values for an input method client session.
Internationalization Reference 2007-06-05
IMKTextInput Protocol Reference (HTML) (PDF)
Describes the protocol used to send and obtain data from an input method client session.
Internationalization Reference 2007-06-05
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Internationalization Technical Q&As 2001-04-17
Input Method Kit Framework Reference (HTML) (PDF)
Describes the API for building input methods for Chinese, Japanese, and other languages.
Internationalization Reference 2007-06-06
Input Method Kit Reference Update (HTML) (PDF)
Summarizes the symbols added to the Input Method Kit framework.
Internationalization Release Notes 2007-07-18
Input Method Kit Release Note (HTML)
Describes an Objective-C framework for building input methods for Chinese, Japanese, and other languages.
Internationalization Release Notes 2007-07-17
Installable Keyboard Layouts (HTML) (日本語 HTML)
TN2056: Explains how to define a Unicode keyboard via an XML text file.
Internationalization Technical Notes 2002-09-27
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
Internationalization Technical Q&As 2001-09-14
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Keyboard Layout Services Reference (HTML) (PDF)
Describes the C API for managing key-to-character mappings used to support various languages.
Internationalization Reference 2002-11-18
Language Analysis Manager Reference (HTML) (PDF)
Describes the Carbon shared library that performs morphological analysis for Japanese text.
Internationalization Reference 2003-04-01
Locale Utilities Reference (HTML) (PDF)
Describes the C API for supporting conventions of a specific language or region.
Internationalization Reference 2002-01-24