#include <IOKit/ndrvsupport/IONDRVLibraries.h>

IOKit/ndrvsupport/IONDRVLibraries.h Kernel.framework

29 typedefs · 25 functions · 15 enums · 2 macros

enum(anonymous)

NameRegistry error codes
underlying type int
nrLockedErr-2536
nrNotEnoughMemoryErr-2537
nrInvalidNodeErr-2538
nrNotFoundErr-2539
nrNotCreatedErr-2540
nrNameErr-2541
nrNotSlotDeviceErr-2542
nrDataTruncatedErr-2543
nrPowerErr-2544
nrPowerSwitchAbortErr-2545
nrTypeMismatchErr-2546
nrNotModifiedErr-2547
nrOverrunErr-2548
nrResultCodeBase-2549
nrPathNotFound-2550a path component lookup failed
nrPathBufferTooSmall-2551buffer for path is too small
nrInvalidEntryIterationOp-2552invalid entry iteration operation
nrPropertyAlreadyExists-2553property already exists
nrIterationDone-2554iteration operation is done
nrExitedIteratorScope-2555outer scope of iterator was exited
nrTransactionAborted-2556transaction was aborted
gestaltUndefSelectorErr-5551undefined selector was passed to Gestalt

enum(anonymous)

underlying type unsigned int
kNVRAMProperty32matches NR

function_IONDRVLibrariesInitialize

IOReturn _IONDRVLibrariesInitialize(IOService * provider)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Initializes the NDRV library emulation (Name Registry, Video Services Library, and driver services state) for the given provider before a native driver is started. Returns an IOReturn code. Implemented by the IONDRVSupport family, not in xnu.

function_IONDRVLibrariesFinalize

IOReturn _IONDRVLibrariesFinalize(IOService * provider)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Tears down the NDRV library emulation state established by _IONDRVLibrariesInitialize for the given provider, after the native driver is stopped. Returns an IOReturn code.

macrokAAPLRegEntryIDKey

#define kAAPLRegEntryIDKey "AAPL,RegEntryID"

typedefRegPropertyValue

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ***************************************************************************** Foundation Types Value of a property
typedef void * RegPropertyValue

typedefRegPropertyValueSize

Length of property value
typedef UInt32 RegPropertyValueSize

enum(anonymous)

***************************************************************************** Root Entry Name Definitions (Applies to all Names in the RootNameSpace) + Names are a colon-separated list of name components. Name components may not themselves contain colons. + Names are presented as null-terminated ASCII character strings. + Names follow similar parsing rules to Apple file system absolute and relative paths. However the '::' parent directory syntax is not currently supported. Max length of Entry Name
underlying type unsigned int
kRegCStrMaxEntryNameLength47

typedefRegCStrEntryName

Entry Names are single byte ASCII
typedef char RegCStrEntryName

typedefRegCStrEntryNamePtr

typedef char * RegCStrEntryNamePtr

typedefRegCStrEntryNameBuf

length of RegCStrEntryNameBuf = kRegCStrMaxEntryNameLength+1
typedef char RegCStrEntryNameBuf[48]

typedefRegCStrPathName

typedef char RegCStrPathName

typedefRegPathNameSize

typedef UInt32 RegPathNameSize

enum(anonymous)

underlying type unsigned int
kRegPathNameSeparator580x3A
kRegEntryNameTerminator0'\0'
kRegPathNameTerminator0'\0'

enum(anonymous)

***************************************************************************** Property Name and ID Definitions (Applies to all Properties Regardless of NameSpace)
underlying type unsigned int
kRegMaximumPropertyNameLength31Max length of Property Name
kRegPropertyNameTerminator0'\0'

typedefRegPropertyNameBuf

typedef char RegPropertyNameBuf[32]

typedefRegPropertyName

typedef char RegPropertyName

typedefRegPropertyNamePtr

typedef char * RegPropertyNamePtr

enum(anonymous)

underlying type unsigned int
kRegMaxPropertyNameLength31

typedefRegIterationOp

***************************************************************************** Iteration Operations These specify direction when traversing the name relationships
typedef UInt32 RegIterationOp

typedefRegEntryIterationOp

typedef RegIterationOp RegEntryIterationOp

enum(anonymous)

underlying type unsigned int
kRegIterRoot2Absolute locations "Upward" Relationships
kRegIterParents3include all parent(s) of entry
kRegIterChildren4"Downward" Relationships include all children
kRegIterSubTrees5include all sub trees of entry
kRegIterDescendants5include all descendants of entry
kRegIterSibling6"Horizontal" Relationships include all siblings
kRegIterContinue1Keep doing the same thing

typedefRegModifiers

***************************************************************************** Name Entry and Property Modifiers Modifiers describe special characteristics of names and properties. Modifiers might be supported for some names and not others. Device Drivers should not rely on functionality specified as a modifier.
typedef UInt32 RegModifiers

typedefRegEntryModifiers

typedef RegModifiers RegEntryModifiers

typedefRegPropertyModifiers

typedef RegModifiers RegPropertyModifiers

enum(anonymous)

underlying type unsigned int
kRegNoModifiers0no entry modifiers in place
kRegUniversalModifierMask65535mods to all entries
kRegNameSpaceModifierMask16711680mods to all entries within namespace
kRegModifierMask4278190080mods to just this entry

enum(anonymous)

Universal Property Modifiers
underlying type unsigned int
kRegPropertyValueIsSavedToNVRAM32property is non-volatile (saved in NVRAM)
kRegPropertyValueIsSavedToDisk64property is non-volatile (saved on disk)

typedefSize

typedef size_t Size

typedefRegEntryIter

typedef IORegistryIterator * RegEntryIter

typedefRegPropertyIter

typedef OSIterator * RegPropertyIter

functionRegistryEntryIDCopy

OSStatus RegistryEntryIDCopy(const RegEntryID * entryID, RegEntryID * to)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: copies the registry entry reference entryID into to, so both refer to the same entry. In this environment a RegEntryID refers to an IORegistryEntry in the device tree plane. Returns noErr or a NameRegistry error code (nr*).

functionRegistryEntryIDInit

OSStatus RegistryEntryIDInit(RegEntryID * entryID)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: initializes a RegEntryID to the null (invalid) state. Must be applied to a RegEntryID before first use; the id is later disposed with RegistryEntryIDDispose.

functionRegistryEntryIDCompare

Boolean RegistryEntryIDCompare(const RegEntryID * id1, const RegEntryID * id2)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: returns true if id1 and id2 refer to the same registry entry (or both are null), false otherwise.

functionRegistryPropertyGetSize

OSStatus RegistryPropertyGetSize(
	const RegEntryID * entryID,
	const RegPropertyName * propertyName,
	RegPropertyValueSize * propertySize
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: returns in *propertySize the size in bytes of the named property of the entry entryID. Returns noErr on success or a NameRegistry error code (nr*), e.g. when the property does not exist.

functionRegistryPropertyGet

OSStatus RegistryPropertyGet(
	const RegEntryID * entryID,
	const RegPropertyName * propertyName,
	void * propertyValue,
	RegPropertyValueSize * propertySize
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: copies the value of the named property of entry entryID into propertyValue. On entry *propertySize is the size of the caller's buffer; on return it is set to the property's size. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyCreate

OSStatus RegistryPropertyCreate(
	const RegEntryID * entryID,
	const RegPropertyName * propertyName,
	const void * propertyValue,
	RegPropertyValueSize propertySize
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: creates a property named propertyName on entry entryID with the propertySize bytes at propertyValue as its value. Property names are limited to kRegMaximumPropertyNameLength (31) characters. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyDelete

OSStatus RegistryPropertyDelete(
	const RegEntryID * entryID,
	const RegPropertyName * propertyName
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: removes the property named propertyName from entry entryID. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertySet

OSStatus RegistryPropertySet(
	const RegEntryID * entryID,
	const RegPropertyName * propertyName,
	const void * propertyValue,
	RegPropertyValueSize propertySize
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: sets the value of the property named propertyName on entry entryID to the propertySize bytes at propertyValue. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyGetMod

OSStatus RegistryPropertyGetMod(
	const RegEntryID * entry,
	const RegPropertyName * name,
	RegPropertyModifiers * modifiers
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: returns in *modifiers the modifier flags of the named property, e.g. kRegPropertyValueIsSavedToNVRAM or kRegPropertyValueIsSavedToDisk for non-volatile properties. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertySetMod

OSStatus RegistryPropertySetMod(
	const RegEntryID * entry,
	const RegPropertyName * name,
	RegPropertyModifiers modifiers
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: sets the modifier flags of the named property. Setting kRegPropertyValueIsSavedToNVRAM marks the property non-volatile, so its value is preserved in NVRAM; drivers used this for saved display settings. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyIterateCreate

OSStatus RegistryPropertyIterateCreate(const RegEntryID * entry, RegPropertyIter * cookie)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: creates an iterator over the properties of the given entry, returned in *cookie. In this environment a RegPropertyIter is an OSIterator. Dispose of it with RegistryPropertyIterateDispose. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyIterateDispose

OSStatus RegistryPropertyIterateDispose(RegPropertyIter * cookie)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: releases a property iterator created by RegistryPropertyIterateCreate. Returns noErr or a NameRegistry error code (nr*).

functionRegistryPropertyIterate

OSStatus RegistryPropertyIterate(
	RegPropertyIter * cookie,
	RegPropertyName * foundProperty,
	Boolean * done
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: advances a property iterator, copying the next property's name into foundProperty. *done is set true when the iteration is exhausted (no property is then returned). Returns noErr or a NameRegistry error code (nr*).

functionRegistryEntryIterateCreate

OSStatus RegistryEntryIterateCreate(RegEntryIter * cookie)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: creates an iterator over registry entries, returned in *cookie. In this environment a RegEntryIter is an IORegistryIterator over the device tree plane. Advance it with RegistryEntryIterate; dispose of it with RegistryEntryIterateDispose. Returns noErr or a NameRegistry error code (nr*).

functionRegistryEntryIterateDispose

OSStatus RegistryEntryIterateDispose(RegEntryIter * cookie)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: releases an entry iterator created by RegistryEntryIterateCreate. Returns noErr or a NameRegistry error code (nr*).

functionRegistryEntryIterate

OSStatus RegistryEntryIterate(
	RegEntryIter * cookie,
	RegEntryIterationOp relationship,
	RegEntryID * foundEntry,
	Boolean * done
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: advances an entry iterator according to relationship (kRegIterChildren, kRegIterSubTrees/kRegIterDescendants, kRegIterParents, kRegIterRoot, or kRegIterContinue to repeat the previous operation), returning the next entry in *foundEntry. *done is set true when the iteration is exhausted. Returns noErr or a NameRegistry error code (nr*).

functionRegistryCStrEntryToName

OSStatus RegistryCStrEntryToName(
	const RegEntryID * entryID,
	RegEntryID * parentEntry,
	RegCStrEntryName * nameComponent,
	Boolean * done
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: returns the name component of entry entryID as a C string in nameComponent (at most kRegCStrMaxEntryNameLength, 47, characters) and a reference to its parent entry in parentEntry; *done indicates when the root has been reached. Repeated application walks an entry's path toward the root. Returns noErr or a NameRegistry error code (nr*).

functionRegistryCStrEntryLookup

OSStatus RegistryCStrEntryLookup(
	const RegEntryID * parentEntry,
	const RegCStrPathName * path,
	RegEntryID * newEntry
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: looks up the entry named by path, a colon-separated path of entry name components interpreted relative to parentEntry (absolute and relative forms follow classic path parsing; the '::' parent syntax is not supported), returning it in *newEntry. Returns noErr or a NameRegistry error code (nr*), e.g. nrPathNotFound.

functionRegistryEntryIDDispose

OSStatus RegistryEntryIDDispose(RegEntryID * entryID)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Name Registry emulation: disposes of a registry entry reference obtained from lookup, iteration, or RegistryEntryIDCopy, releasing its underlying object and returning the id to the null state. Returns noErr or a NameRegistry error code (nr*).

enum(anonymous)

underlying type int
paramErr-50error in user parameter list
noHardwareErr-200Sound Manager Error Returns
notEnoughHardwareErr-201Sound Manager Error Returns
userCanceledErr-128
qErr-1queue element not found during deletion
vTypErr-2invalid queue element
corErr-3core routine number out of range
unimpErr-4unimplemented core routine
SlpTypeErr-5invalid queue element
seNoDB-8no debugger installed to handle debugger command
controlErr-17I/O System Errors
statusErr-18I/O System Errors
readErr-19I/O System Errors
writErr-20I/O System Errors
badUnitErr-21I/O System Errors
unitEmptyErr-22I/O System Errors
openErr-23I/O System Errors
closErr-24I/O System Errors
dRemovErr-25tried to remove an open driver
dInstErr-26DrvrInstall couldn't find driver in resources
badCksmErr-69addr mark checksum didn't check

enum(anonymous)

underlying type int
durationMicrosecond-1Microseconds are negative
durationMillisecond1Milliseconds are positive
durationSecond10001000 * durationMillisecond
durationMinute6000060 * durationSecond,
durationHour360000060 * durationMinute,
durationDay8640000024 * durationHour,
durationNoWait0don't block
durationForever2147483647no time limit

macronil

#define nil NULL

enum(anonymous)

underlying type unsigned int
clutType00 if lookup table
fixedType11 if fixed table
directType22 if direct values
RGBDirect1616 & 32 bits/pixel pixelType value

typedefUInt32Ptr

typedef UInt32 * UInt32Ptr

typedefHardwareCursorDescriptorRec

typedef struct IOHardwareCursorDescriptor HardwareCursorDescriptorRec

typedefHardwareCursorDescriptorPtr

typedef HardwareCursorDescriptorRec * HardwareCursorDescriptorPtr

typedefHardwareCursorInfoRec

typedef struct IOHardwareCursorInfo HardwareCursorInfoRec

typedefHardwareCursorInfoPtr

typedef HardwareCursorInfoRec * HardwareCursorInfoPtr

typedefInterruptServiceType

typedef ResType InterruptServiceType

typedefInterruptServiceIDType

typedef struct _VSLService * InterruptServiceIDType

typedefInterruptServiceIDPtr

typedef InterruptServiceIDType * InterruptServiceIDPtr

enum(anonymous)

underlying type unsigned int
kVBLInterruptServiceType1986161696
kHBLInterruptServiceType1751280672
kFrameInterruptServiceType1718772077
kConnectInterruptServiceType1684236576Renamed -- Use kFBCheckInterruptServiceType
kFBConnectInterruptServiceType1684236576Demand to check configuration (Hardware unchanged)
kFBChangedInterruptServiceType1667788391Demand to rebuild (Hardware has reinitialized on dependent change)
kFBOfflineInterruptServiceType1919249782Demand to remove framebuffer (Hardware not available on dependent change -- but must not buserror)
kFBOnlineInterruptServiceType1633969184Notice that hardware is available (after being removed)

enum(anonymous)

underlying type unsigned int
kVSLClamshellStateGestaltType1668047213

functionVSLNewInterruptService

OSErr VSLNewInterruptService(
	RegEntryID * serviceDevice,
	InterruptServiceType serviceType,
	InterruptServiceIDPtr serviceID
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Video Services Library emulation: registers a new interrupt service of the given type (kVBLInterruptServiceType, kHBLInterruptServiceType, kFrameInterruptServiceType, kFBConnectInterruptServiceType, kFBChangedInterruptServiceType, kFBOfflineInterruptServiceType, kFBOnlineInterruptServiceType) for the device identified by serviceDevice, returning an opaque id in *serviceID. NDRV framebuffer drivers used this to publish VBL and connection-change interrupt sources consumed by IONDRVFramebuffer. Returns an OSErr.

functionVSLDisposeInterruptService

OSErr VSLDisposeInterruptService(InterruptServiceIDType serviceID)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Video Services Library emulation: disposes of an interrupt service created by VSLNewInterruptService. Returns an OSErr.

functionVSLDoInterruptService

OSErr VSLDoInterruptService(InterruptServiceIDType serviceID)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Video Services Library emulation: called by the driver each time the condition of the given interrupt service occurs (e.g. a vertical blank), delivering the event to the service's registered consumer. Returns an OSErr.

functionVSLPrepareCursorForHardwareCursor

Boolean VSLPrepareCursorForHardwareCursor(
	void * cursorRef,
	IOHardwareCursorDescriptor * hardwareDescriptor,
	IOHardwareCursorInfo * hwCursorInfo
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK header IOKit/ndrvsupport/IONDRVLibraries.h (implementation lives in the IONDRVSupport family, not in xnu)
Legacy Mac OS NDRV compatibility shim, part of the emulation environment IONDRVSupport provides for PowerPC-era native ('ndrv') display drivers; obsolete on current systems. Video Services Library emulation: converts the cursor image identified by cursorRef into the hardware cursor format described by hardwareDescriptor, filling in hwCursorInfo (colors, dimensions, pixel data). Returns true if the cursor could be converted to the described hardware format, false otherwise. Used by NDRV framebuffer drivers implementing hardware cursors.

enum(anonymous)

underlying type unsigned int
developStage32Version Release Stage Codes
alphaStage64
betaStage96
finalStage128

typedefIOCommandID

typedef struct OpaqueIOCommandID* IOCommandID

typedefIOCommandKind

typedef UInt32 IOCommandKind

typedefIOCommandCode

typedef UInt32 IOCommandCode