Member Login Log In | Not a Member? Contact ADC
Jump To:
Reference Library: Hardware & Drivers
Mass storage devices run the gamut from the fastest read/write peripheral disk drives to sequential-access tape drives. Mac OS X provides a layered mass storage driver stack that has built-in support for common industry-standard devices. Developers can use the BSD interface and I/O Kit APIs to access storage devices and their media at different layers of the stack.

View all Storage Reference Library.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Resource Type
Sort by
Date
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
Technical Q&As 2001-12-05
ANSI SCSI Standards (HTML)
Deprecated - DV03: Describes past Macintosh systems that did not fully support the ANSI SCSI-1 standard.
Technical Q&As 1995-07-01
Are interrupts enabled while Open Firmware is running? (HTML) (日本語 HTML)
HW44: Explains that interrupts are disabled when Open Firmware is running.
Technical Q&As 1999-02-15
AudioCDSample (HTML) (DMG) (ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
Sample Code 2005-10-04
Boot Blocks (HTML)
Deprecated - DV03: Warns that Boot Block form and function will change and describes undocumented Boot Blocks features.
Technical Notes 1987-03-01
Booting after invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW48: Tells how to boot a system after entering the Open Firmware user interface.
Technical Q&As 1999-02-15
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Technical Notes 2008-08-18
CD-ROM Detection (HTML) (DMG) (ZIP)
Shows how to determine whether a drive is a CD-ROM drive.
Sample Code 2003-01-14
CD-ROM Driver Calls (HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Technical Notes 2000-08-14
CDROMSample (HTML) (DMG) (ZIP)
Demonstrates how to find CD-ROM media and read sectors from that media on Mac OS X.
Sample Code 2006-01-31
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
Sample Code 2007-07-10
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Technical Q&As 1997-01-31
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Technical Q&As 1999-03-29
Device File Access Guide for Storage Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with storage devices.
Guides 2007-03-06
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
Reference 2008-04-08
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Technical Q&As 2001-12-05
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Technical Q&As 1999-03-29
Generating an NMI Without a Programmer's Switch (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
Technical Q&As 2004-04-26
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
Technical Q&As 1995-07-01
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Reference 2008-04-08
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Technical Q&As 2003-10-28
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Technical Q&As 2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Technical Q&As 1999-11-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Reference 2008-04-08
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
Technical Q&As 2000-03-20
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
Technical Q&As 2002-09-13
Mass Storage Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing kernel-resident drivers for mass storage devices.
Guides 2007-04-03
Multipathing with FibreChannel on Mac OS X (HTML)
TN2173: An explanation on how FibreChannel multipathing works on Mac OS X and how to design storage hardware to take advantage of it
Technical Notes 2007-03-23
Open Firmware and the devalias node (HTML)
HW95: Open Firmware and the devalias node
Technical Q&As 2000-09-05
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Technical Q&As 2006-02-22
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Technical Q&As 1995-07-15
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Technical Q&As 2002-02-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Technical Q&As 2008-09-24
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Technical Q&As 1999-10-11
SampleFilterScheme (HTML) (DMG) (ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
Sample Code 2006-01-03
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
Technical Q&As 1999-12-20
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
Sample Code 2007-02-20
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Sample Code 2006-12-07
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Technical Q&As 2003-08-21
Secrets of the GPT (HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
Technical Notes 2006-11-06
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Technical Q&As 2005-05-10
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Sample Code 2008-08-27
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Sample Code 2007-05-30
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Sample Code 2006-10-16
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Sample Code 2006-10-02
VolumeToBSDNode (HTML) (DMG) (ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
Sample Code 2006-10-16
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
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.
Technical Q&As 1999-02-15
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Technical Q&As 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Technical Q&As 1999-10-11
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.
Technical Q&As 1999-07-12
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Technical Q&As 1999-03-29
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.
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.
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.
Guides 2005-01-03