Mac Developer Library

Developer

Kernel Framework Reference

Kernel Framework Reference

Classes   COM Interfaces   Other Reference  

The Kernel Framework provides the APIs and support for kernel-resident device drivers and other kernel extensions. It defines the base class for I/O Kit device drivers (IOService), several helper classes, and the families supporting many types of devices.

Classes

ATADeviceNub

Nub class that represents an ATA device.

ATATimerEventSource

Custom timer source used by ATA family drivers.

IOAGPDevice

A nub class whose instances each represent an AGP device.

IOATABusCommand

A subclass of IOATACommand for use by ATA controller drivers.

IOATABusInfo

Provides information about the supported capabilities of an ATA bus.

IOATACommand

Used by the ATA driver stack to represent the contents of an ATA command.

IOATAController

Base class for ATA controller drivers.

IOATADevConfig

Class used to configure the transfer mode of an ATA device.

IOATADevice

The superclass for ATA device nubs.

IOATAPIProtocolTransport

Describes a family class (superclass) that provides bus-specific support for ATAPI-compliant ATA devices.

IOAudioControl

Class that represents a controllable attribute of an audio device.

IOAudioDevice

Abstract base class for an audio hardware device.

IOAudioLevelControl

Represents a level (volume) control in an audio device.

IOAudioPort

Describes a class that represents a logical or physical port or functional unit in an audio device.

IOAudioStream

Represents a unidirectional audio stream (a single-channel or multichannel sample buffer and associated methods).

IOAudioTimeIntervalFilterFIR

Describes a concrete IOAudioTimeIntervalFilter class that provides an FIR-based filtered timeline based on snapshots from jittery time captures.

IOAudioTimeIntervalFilterIIR

Describes a concrete IOAudioTimeIntervalFilter class that provides an IIR-based filtered timeline based on snapshots from jittery time captures.

IOAudioToggleControl

Represents a physical toggle (on-off) control in an audio device.

IOBasicOutputQueue

Describes an IOOutputQueue subclass that provides an mbuf queue for use in network drivers.

IOBDBlockStorageDevice

Describes the block storage device class for Blu-Ray Disc drives.

IOBDMedia

Describes a subclass of IOMedia that provides functionality specific to Blu-Ray Disc media.

IOBigMemoryCursor

Describes an IOMemoryCursor subclass that outputs a vector of PhysicalSegments in big-endian byte order.

IOBlockStorageDevice

The generic superclass for all block storage device nubs.

IOBlockStorageDriver

The superclass for all block storage drivers.

IOBufferMemoryDescriptor

A subclass of IOMemoryDescriptor that allocates its own buffer.

IOCatalogue

A database object that contains all I/O Kit driver personalities, used during the driver matching process.

IOCDBlockStorageDevice

Nub class representing a compact disc block storage device.

IOCDMedia

An IOMedia subclass with features specific to Compact Disc media.

IOCommand

The abstract superclass for device commands passed from device drivers to controllers.

IOCommandGate

Class for executing an action on an I/O Kit driver's workloop.

IOCommandPool

Provides a pool of commands (IOCommand subclass instances) that allows commands to be added or removed.

IOConfigDirectory

Class that provides access to FireWire configuration ROMs.

IODataQueue

Describes a data queue designed for passing data from the kernel to a user-space process.

IODCLProgram

Class that represents a DCL program for isochronous FireWire communication.

IODCLTranslateListen

Describes the IODCLTranslateListen class.

IODCLTranslateTalk

Describes the IODCLTranslateTalk class.

IODCLTranslator

Describes the IODCLTranslator class.

IODeviceMemory

Describes an IOMemoryDescriptor subclass backed by physical memory (registers) in a memory-mapped hardware device.

IODMACommand

A class that provides memory mapping for DMA, supporting 64-bit physical addresses and I/O address translation.

IODVDBlockStorageDevice

Nub class representing a DVD block storage device.

IODVDMedia

IOMedia-based nub class representing a piece of DVD media.

IOEthernetController

Abstract superclass for Ethernet controllers.

IOEthernetInterface

A nub object instantiated by an IOEthernetController subclass that makes an Ethernet interface available to the rest of the OS.

IOEventSource

The abstract superclass for all I/O Kit work loop event sources.

IOExtendedLBA

Class that represents a 48-bit (extended) ATA logical block address.

IOFilterInterruptEventSource

Describes an event source class that lets you pre-filter incoming interrupts in a hardware interrupt context.

IOFilterScheme

Describes the abstract base class for filter schemes that alter the behavior of IOMedia objects.

IOFireWireAVCNub

Describes a nub object that represents a FireWire device that is compliant with the AV/C (audio video control) protocol.

IOFireWireAVCSubUnit

Describes a class that represents a subunit of an AV/C (audio video control) protocol-compliant FireWire device.

IOFireWireAVCTargetSpace

Describes a class that emulates a FireWire AV/C device target.

IOFireWireAVCUnit

Describes a class that represents a unit in an AV/C (audio video control) protocol-compliant FireWire device.

IOFireWireBus

Describes a class that represents a FireWire bus.

IOFireWireDevice

Describes a class that represents a FireWire device.

IOFireWirePCRSpace

Describes a class used to multiplex access to FireWire plug control registers.

IOFireWireSBP2Login

Describes a class that provides support for SBP2 login maintenance and normal command ORB execution.

IOFireWireSBP2LSIWorkaroundDescriptor

Describes a class that modifies memory descriptor behavior to work around a bug in a common piece of FireWire silicon.

IOFireWireSBP2LUN

Describes a class that represents a FireWire serial bus protocol 2 (SBP2) logical unit.

IOFireWireSBP2ManagementORB

Describes a class that supplies non login related management ORBs for FireWire SBP2.

IOFireWireSBP2ORB

Describes a class used to construct non-login management ORBs for SBP2.

IOFireWireSBP2Target

Describes an impedance matching class that constructs SBP2 LUN objects for IOFireWireUnit objects that support SBP2.

IOFireWireSerialBusProtocolTransport

Describes a class that provides a driver for SBP2-compliant FireWire devices.

IOFramebuffer

Describes the base class for frame buffer nubs published by graphics drivers.

IOFWAddressSpace

Class for managing local hardware addresses that are accessible to other nodes over FireWire connections.

IOFWAsyncCommand

Describes a class used to send a command asynchronously to a FireWire device.

IOFWAsyncPHYCommand

Describes a class that represents a FireWire asynchronous PHY command.

IOFWAsyncStreamCommand

Describes a class that represents a FireWire asynchronous stream command.

IOFWAsyncStreamListener

Stream listener class that manages callbacks for a FireWire isochronous channel.

IOFWBusCommand

Describes a class that represents a FireWire bus command.

IOFWCommand

Describes a class that represents a FireWire command.

IOFWCompareAndSwapCommand

Describes a class that represents a FireWire compare-and-swap command.

IOFWDCL

Describes the abstract base class for FireWire DCL programs.

IOFWDCLPool

Describes a class that represents a pool of FireWire DCL programs.

IOFWDelayCommand

Describes a FireWire command class that executes some code after a specified delay (in microseconds).

IOFWLocalIsochPort

Describes a class that represents a FireWire local node that sends isochronous packets.

IOFWPhysicalAddressSpace

Describes an IOFWAddressSpace subclass that maps physical addresses for transparent access by FireWire devices.

IOFWPseudoAddressSpace

Describes an IOFWAddressSpace subclass that creates software-emulated FireWire registers for access by remote devices.

IOFWPseudoAddressSpaceAux

Describes the auxiliary class for a FireWire pseudo-address space.

IOFWReadQuadCommand

Describes a subclass of IOFWReadCommand for use when the data to be transferred is a whole number of quads.

IOFWWriteQuadCommand

Describes a IOFWWriteCommand subclass for use when the data to be transferred is small and a whole number of quads.

IOGatedOutputQueue

Describes a class that serializes transmission of network packets using a command gate on the work loop.

IOHIDDevice

Describes a class that represents a HID-class device (usually USB).

IOHIDEventService

Describes a class that allows you to dispatch system events without creating an additional service instance.

IOHIDInterface

Describes a class that provides an in-kernel interface for working with HID devices.

IOInterleavedMemoryDescriptor

Describes a memory descriptor class backed by portions of other memory descriptors.

IOInterruptEventSource

Describes an I/O Kit event source class that posts an event on the work loop when an interrupt occurs.

IOKernelDebugger

Describes a class that sends messages to a remote debugger over KDP.

IOLittleMemoryCursor

Describes a class that provides its backing physical addresses in little-endian byte order.

IOLocalConfigDirectory

Describes a class that represents the configuration directory of the local FireWire node.

IOMbufBigMemoryCursor

Describes a class for storing an mbuf (networking buffer) that returns its physical addresses in big-endian format.

IOMbufDBDMAMemoryCursor

Describes a class for storing an mbuf (networking buffer) that provides physical addresses in a form suitable for descriptor-based DMA.

IOMbufLittleMemoryCursor

Describes a class for storing an mbuf (networking buffer) that returns its physical addresses in little-endian format.

IOMbufMemoryCursor

Describes the superclass for classes that store an mbuf (networking buffer).

IOMbufNaturalMemoryCursor

Describes a class for storing an mbuf (networking buffer) that returns its physical addresses in host byte order.

IOMedia

Describes a nub class representing a piece of block-access media such as a disk or a partition on a disk.

IOMemoryCursor

Describes a class that assists in converting between virtual and physical addresses.

IOMemoryDescriptor

Describes the abstract base class for I/O Kit memory buffer classes.

IOMemoryMap

Describes a class that describes a single mapped range of memory in a memory descriptor.

IOMultiMemoryDescriptor

Describes a memory descriptor class that includes other memory descriptors.

IONaturalMemoryCursor

Describes a subclass of IOMemoryCursor that provides hardware addresses in host byte order.

IONetworkController

Describes the superclass for network controller device drivers.

IONetworkData

Describes a named buffer class used by network drivers to export interface properties to user space.

IONetworkInterface

Describes the nub class that networking device drivers use to vend services to the kernel networking stack.

IONetworkMedium

Describes a class that is used to advertise support for a network medium (10BASE-T, for example).

IONotifier

Describes the abstract base class for IOService notifications.

IOOutputQueue

Describes a packet queue class that supports multiple producers and a single consumer.

IOPacketQueue

Describes a class that provides a bounded FIFO queue of mbuf packets.

IOPartitionScheme

Describes the base class for partition scheme objects.

IOPCIATA

Describes the base class for ATA controllers that follow the PCI bus mastering PCI-IDE controller specification.

IOPCIDevice

Describes the base class for PCI device drivers.

IOPMPowerSource

Describes the base class for classes that provide information about a power source.

IOPowerConnection

Describes a power management connection object.

IORangeAllocator

Describes a class that provides a free list for managing device memory or other similar structures.

IORegistryEntry

Describes the base class for all objects in the I/O registry.

IORegistryIterator

Describes a class for walking the I/O registry tree.

IORemoteConfigDirectory

Describes a subclass of IOConfigDirectory for working with FireWire devices other than the local node.

IOSCSIParallelInterfaceController

Describes a class that represents a (parallel) SCSI Host Bus Adapter.

IOSCSIProtocolInterface

Describes the base class for classes that provide SCSI protocol services.

IOSCSIProtocolServices

Describes the SCSI protocol services class.

IOService

Describes the base class for most I/O Kit families, devices, and drivers.

IOSharedDataQueue

Describes a data queue class designed for sharing data between the kernel and user space.

IOStorage

Describes the base class for mass storage objects.

IOStream

Describes a class representing a stream of data buffers passed between the kernel and user space.

IOStreamBuffer

Describes a class representing a data buffer that is part of an IOStream.

IOSubMemoryDescriptor

Describes a class that represents a subrange of memory, specified as a portion of another IOMemoryDescriptor.

IOTimerEventSource

Describes a class that provides a work loop event source triggered by a simple timer.

IOUSBCompositeDriver

Describes a driver class that matches against USB composite devices.

IOUSBController

Describes the base class for USB controller drivers (drivers for USB cards, for example).

IOUSBControllerV2

Describes a subclass of IOUSBController that provides support for high speed devices and split transactions (USB 2.0).

IOUSBControllerV3

Describes a USB controller class with enhanced power management capabilities.

IOUSBDevice

Describes an IOService subclass representing a device on a USB bus.

IOUSBHIDDriver

Describes a driver class that matches against USB HID devices.

IOUSBHubDevice

Describes a subclass of IOUSBDevice that represents a hub device on a USB bus.

IOUSBInterface

Describes a nub class that represents an interface of a device on the USB bus.

IOUSBPipe

Describes a class that represents an open pipe for a device.

IOUSBPipeV2

Describes a class representing an open pipe for a USB device.

IOUserClient

Describes a class that provides communication between user space clients and I/O Kit objects.

IOVideoDevice

Describes a kernel class that represents a video device.

IOVideoStream

Describes an I/O kit class that represents a video stream.

IOWorkLoop

Describes a class that provides an event loop for scheduling single-threaded access to hardware.

OSArray

Describes a C++ array class used in the I/O Kit.

OSBoolean

Describes a class that contains a boolean value for use in Libkern collections.

OSCollection

Describes the abstract superclass for Libkern collection classes.

OSCollectionIterator

Describes a class that iterates through the objects in an OSCollection.

OSData

Describes a class that contains an array of bytes for use in Libkern collections.

OSDictionary

Describes a Libkern collection class that provides an associative store with string-based keys.

OSIterator

Describes the abstract superclass for Libkern iterators.

OSMetaClass

Describes a class that manages run-time type information for Libkern and I/O Kit C++ classes.

OSMetaClassBase

Describes the abstract bootstrap class for the Libkern and I/O Kit run-time type information system.

OSNumber

Describes a class that represents an integer value for use in Libkern collections.

OSObject

Describes the concrete root class of the Libkern and I/O Kit C++ class hierarchy.

OSOrderedSet

Describes a Libkern container class that stores an ordered set of objects.

OSSerialize

Describes a class that coordinates serialization of Libkern C++ objects into an XML stream.

OSSet

Describes a Libkern collection class that stores an unordered set of objects.

OSString

Describes a class that stores a C string for use in Libkern collections.

OSSymbol

Describes a Libkern class for managing uniqued string constants such as dictionary keys.

COM Interfaces

IOVideoDeviceInterface

Describes the IOVideoDeviceInterface COM interface.

Other Reference

Bluetooth.h Reference

IOATACommand.h Reference

IOATAPIProtocolTransport.h Reference

IOAudioBlitterLibDispatch.h Reference

IOAudioDefines.h Reference

IOAudioDevice.h Reference

IOAudioEngine.h Reference

IOAudioTypes.h Reference

IOBDBlockStorageDevice.h Reference

IOBDMedia.h Reference

IOBlockStorageDevice.h Reference

IOBlockStorageDriver.h Reference

IOCDBlockStorageDevice.h Reference

IOCDMedia.h Reference

IODVDBlockStorageDevice.h Reference

IODVDMedia.h Reference

IODataQueueShared.h Reference

IOEthernetController.h Reference

IOEthernetInterface.h Reference

IOEthernetStats.h Reference

IOFWAddressSpace.h Reference

IOFWCommand.h Reference

IOFilterScheme.h Reference

IOFireWireFamilyCommon.h Reference

IOFireWirePCRSpace.h Reference

IOFireWireSBP2Login.h Reference

IOFireWireSBP2ManagementORB.h Reference

IOFireWireStorageCharacteristics.h Reference

IOFramebufferShared.h Reference

IOGraphicsTypes.h Reference

IOHIDDescriptorParser.h Reference

IOHIDDevice.h Reference

IOHIDKeys.h Reference

IOI2CInterface.h Reference

IOKernelDebugger.h Reference

IOKitServer.h Reference

IOLib.h Reference

IOLocks.h Reference

IOMedia.h Reference

IOMessage.h Reference

IONetworkController.h Reference

IONetworkData.h Reference

IONetworkInterface.h Reference

IONetworkMedium.h Reference

IONetworkStats.h Reference

IOOutputQueue.h Reference

IOPM.h Reference

IOPMpowerState.h Reference

IOPartitionScheme.h Reference

IOReportTypes.h Reference

IOSCSIProtocolInterface.h Reference

IOService.h Reference

IOStorage.h Reference

IOStorageCardCharacteristics.h Reference

IOStorageDeviceCharacteristics.h Reference

IOStorageProtocolCharacteristics.h Reference

IOStreamShared.h Reference

IOTypes.h Reference

IOUSBController.h Reference

IOUserClient.h Reference

IOVideoDeviceLib.h Reference

IOVideoDeviceShared.h Reference

IOVideoDeviceUserClient.h Reference

IOVideoTypes.h Reference

OSAtomic.h Reference

OSBoolean.h Reference

OSDebug.h Reference

OSEndianTypes.h Reference

OSKextLib.h Reference

OSMalloc.h Reference

OSReturn.h Reference

OSUnserialize.h Reference

RootDomain.h Reference

SCSICmds_INQUIRY_Definitions.h Reference

SCSICmds_MODE_Definitions.h Reference

SCSICmds_READ_CAPACITY_Definitions.h Reference

SCSICmds_REPORT_LUNS_Definitions.h Reference

SCSICmds_REQUEST_SENSE_Defs.h Reference

SCSICommandDefinitions.h Reference

SCSIPort.h Reference

SCSITask.h Reference

USB.h Reference

USBHub.h Reference

USBSpec.h Reference

bpf.h Reference

buf.h Reference

in_arp.h Reference

init.h Reference

kern_control.h Reference

kern_event.h Reference

kpi_interface.h Reference

kpi_interfacefilter.h Reference

kpi_ipfilter.h Reference

kpi_mbuf.h Reference

kpi_protocol.h Reference

kpi_socket.h Reference

kpi_socketfilter.h Reference

mac_data.h Reference

mac_policy.h Reference

mount.h Reference

pmc.h Reference

proc.h Reference

security.defs Reference

thread.h Reference

thread_call.h Reference

vnode.h Reference

vnode_if.h Reference