| C |
|
C++ new operator
1
|
|
C++ object scope and construction
1+
|
|
callPlatformFunction method
1
|
|
causeInterrupt method
1
|
|
CFAllocatorGetDefault function
1
|
|
CFBundleCreate function
1
|
|
CFBundles
1
2
|
|
CFCopyLocalizedString macro
1
|
|
CFPlugIns
1
2
|
|
CFRunLoopAddSource function
1
|
|
CFRunLoopRemoveSource function
1
|
|
changePowerStateTo method
1
|
|
class dictionary, as part of metaclass database
1
|
|
class matching
1
|
|
clientClose method
1
2
|
|
clientDied method
1
|
|
clientMemoryForType method
1
|
|
configuration testing
1
|
|
constructors, defining
1
|
|
cross-boundary I/O
|
| |
See also data transfer
|
| |
kernel aspects that affect
1+
|
| |
Mac OS X and Mac OS 9 methods of
1+
|
| |
performing with device interfaces
1
|
| |
performing with I/O Registry property setting
1+
|
| |
performing with POSIX APIs
1
|
| D |
|
DAR (Data Access Register)
1
|
|
DART (Device Address Resolution Table)
1+
|
|
data access register. See DAR
|
|
data transfer
|
| |
and memory management
1+
|
| |
asynchronous with user clients
1+
|
| |
synchronous with user clients
1+
|
| |
types of
1
|
| |
using task files
1
|
| |
using userâÂÂspace client functions
1+
|
|
debugging
|
| |
and examining computer instructions
1+
|
| |
and logging
1+
|
| |
boot drivers
1+
|
| |
general tips for
1
|
| |
kernel panics
1+
|
| |
matching
1
2
|
| |
setting breakpoints for
1+
|
| |
system hangs
1+
|
| |
tools
1+
|
| |
two-machine
1+
|
| | |
setting up
1+
|
| | |
using kernel debugging macros
1+
|
|
destructors, defining
1
|
|
developer resources
1+
|
|
device address resolution table. See DART
|
|
device interfaces
|
| |
See also user-space clients
|
| |
custom device interface example
1+
|
| |
factors in designing
1
2
|
|
Direct Memory Access. See DMA
|
|
disableInterrupt method
1
|
|
DMA (Direct Memory Access)
1+
|
|
DMA (Direct Memory Access)
|
| |
data transfer example
1+
2+
|
| |
direction on systems with DART
1
|
|
driver configuration
|
| |
examples
1+
|
| |
with libkern container and collection classes
1+
|
|
driver debugging
|
| |
and examining computer instructions
1
2
|
| |
and kernel panics
1
2
|
| |
and logging
1
2
|
| |
and system hangs
1
2
|
| |
boot drivers
1
2
|
| |
general tips for
1
|
| |
setting breakpoints for
1
2
|
| |
tools
1
2
|
| |
using two-machine debugging
1
2
|
|
driver dependencies
1
|
|
driver matching
|
| |
and familyless drivers
1+
|
| |
and IOService methods
1+
|
| |
and passive-matching keys
1+
|
| |
debugging
1+
|
|
driver packaging
1+
|
|
driver probing
|
| |
and IOService methods
1
|
| |
debugging
1+
|
|
driver resources, localization of
1+
|
|
driver state
1
|
|
driver testing
1+
|
|
dynamic allocation of objects
1
|
| G |
|
gdb (GNU debugger)
1
|
| |
and .gdbinit file
1
|
| |
and kernel debugging macros
1+
|
| |
examining computer instructions with
1+
|
| |
setting breakpoints with
1+
|
| |
setting up for two-machine debugging
1+
|
| |
single-stepping with
1
|
| |
using to debug kernel panics
1+
|
| |
using to debug system hangs
1
|
|
get methods
1
2
3
|
|
getAsyncTargetAndMethodForIndex method
1
|
|
getClient method
1
|
|
getClientIterator method
1
|
|
getDeviceMemory method
1
|
|
getDeviceMemoryCount method
1
|
|
getDeviceMemoryWithIndex method
1
|
|
getInterruptType method
1
|
|
getOpenClientIterator method
1+
|
|
getOpenProviderIterator method
1+
|
|
getPlatform method
1
|
|
getProvider method
1
|
|
getProviderIterator method
1
|
|
getResources method
1
|
|
getState method
1
|
|
getTargetAndMethodForIndex method
1
2
|
|
getWorkLoop method
1
|
|
global constructor. See global initializer
|
|
global initializer
1+
|
|
GNU debugger. See gdb
|
| I |
|
I/O addresses
1
|
|
initWithTask method
1+
|
|
installing metapackages
1
|
|
installing packages
1+
|
|
installNotification method
1
|
|
internationalization
|
| |
See also localization
|
| |
of kernel extensions
1+
|
| |
of strings
1+
|
|
IOAsyncCallback function prototype
1
|
|
ioclasscount
1
|
|
ioclasscount tool
1
|
|
IOConnectMapMemory method
1
2
3
|
|
IOConnectMethod functions
1+
2
3
4
|
|
IOConnectMethodScalarIScalarO function
1
2+
|
|
IOConnectMethodScalarIStructureI function
1
|
|
IOConnectMethodScalarIStructureO function
1
|
|
IOConnectMethodStructureIStructureO function
1
|
|
IOConnectSetNotificationPort function
1
2
|
|
IODeviceMemory class objects
1+
2
3
|
|
IOExternalMethod array
1
2
3
4
5
6
7
|
|
IOExternalMethod structure
1+
2
|
|
IOKitDebug property
1
|
|
IOLog function
1+
|
|
IOMasterPort function
1
|
|
IOMatchCategory
1
|
|
IOMemoryDescriptor class
1
|
|
IOMemoryDescriptor class objects
1
2
3
|
|
IOMethod types
1+
|
|
IONameMatch key
1+
|
|
IONameMatched property
1+
|
|
IONotificationPortCreate function
1
|
|
IONotificationPortDestroy function
1
|
|
IONotificationPortGetMachPort function
1
|
|
IONotificationPortGetRunLoopSource function
1
|
|
IOParentMatch key
1
|
|
IOPathMatch key
1
|
|
IOPMPowerState structure
1
|
|
IOPropertyMatch key
1
|
|
IOProviderClass key
1
2
|
|
IOResourceMatch key
1
|
|
IOResources
1
2+
3
|
|
IOService class
|
| |
accessor methods of
1+
|
| |
driver state methods of
1
|
| |
interrupt-handling methods of
1+
|
| |
matching methods of
1+
|
| |
memory-mapping methods of
1+
|
| |
messaging methods of
1+
|
| |
notification methods of
1+
|
| |
probing methods of
1
|
| |
resource-handling method of
1
|
| |
user-client method of
1
|
|
IOServiceClose function
1
2
|
|
IOServiceGetMatchingServices function
1
|
|
IOServiceMatching function
1
|
|
IOServiceOpen function
1
|
|
IOUserClientClass property
1
|
|
IPC (Mach Inter-Process Communication)
1
|
|
isInactive method
1
|
|
isOpen method
1
|
| K |
|
kernel debugging macros
1+
|
|
kernel exceptions, types of
1
|
|
kernel extensions (KEXTs)
|
| |
and localized resources
1+
|
| |
as bundles
1+
|
| |
internationalization of
1
2
|
| |
ownership and permissions
1
2+
|
| |
version numbers of
1
|
|
kernel panics, debugging
1
2
|
|
kernel symbols. See symboled kernel
|
|
kernel-user communication, using KUNC (Kernel-User Notification Center)
1+
|
|
Kernel-User Notification Center. See KUNC
|
|
kernelâÂÂuser space transport APIs
1+
|
|
kextload tool
1
2+
|
| |
and two-machine debugging
1
2
|
| |
checks performed by
1+
|
| |
using to debug kernel panics
1
|
| |
using to debug MODULE_START
1+
|
| |
using to debug start and probe
1+
|
| |
verifying kernel extensions with
1+
|
|
KextManagerCreateURLForBundleIdentifier function
1
|
|
KEXTs. See kernel extensions
|
|
kextstat tool
1
2
|
|
kextunload tool
1
2
|
|
KUNC (Kernel-User Notification Center)
|
| |
notification dialog properties
1+
|
| |
using to display alert dialogs
1+
|
| |
using to display bundled dialogs
1+
|
| |
using to display notice dialogs
1+
|
| |
using to launch applications
1+
|
|
KUNCExecute method
1
|
|
KUNCNotificationDisplayAlert function
1+
|
|
KUNCNotificationDisplayNotice function
1+
|
|
KUNCUserNotificationDisplayAlert function
|
| |
prototype
1
|
|
KUNCUserNotificationDisplayFromBundle function
1
2+
|
|
KUNCUserNotificationDisplayNotice function
1+
|
| L |
|
libkern collection classes
|
| |
and corresponding XML tags
1
|
| |
defined
1
|
| |
object creation and initialization
1+
|
| |
object introspection and access
1
|
|
libkern container classes
|
| |
and corresponding XML tags
1
|
| |
defined
1+
|
| |
object creation and initialization
1+
|
| |
object introspection and access
1
|
|
Link Register. See LR
|
|
localization
|
| |
of bundle information
1
2
|
| |
of driver resources
1+
|
| |
of notification dialogs
1+
|
| |
of packages
1+
|
| |
of strings
1+
|
|
lockForArbitration method
1
|
|
logging
|
| |
using custom event logging
1+
|
| |
using IOLog
1+
|
|
.lproj directories
|
| |
and localized notification dialogs
1+
|
| |
and localizing kernel extensions
1+
|
|
LR (Link Register)
1
|
| M |
|
Mac OS 9 user-space hardware access
1+
|
|
Mach Inter-Process Communication. See IPC
|
|
Mach messaging
1
|
|
Mach Remote Process Communication. See RPC
|
|
mach_port_deallocate function
1
|
|
mapDeviceMemoryWithIndex method
1
|
|
matching
|
| |
and IOService methods
1
2
|
| |
class
1
|
| |
debugging
1+
|
| |
passive
1
2
|
|
matchPropertyTable example implementation
1
|
|
matchPropertyTable method
1
|
|
memory management
1+
|
|
message method
1+
|
|
messageClient method
1
|
|
messageClients method
1
|
|
metaclass registration
1
|
|
metapackages
|
| |
contents of
1+
|
| |
steps in installing
1
|
| |
validating with Package Maker
1
|
|
module dictionary, as part of metaclass database
1
|
| P |
|
packages
|
| |
contents of
1+
|
| |
steps in installing
1+
|
| |
validating with Package Maker
1+
|
|
panic.log file
1+
|
|
panics. See kernel panics
|
|
passive-matching keys
1+
|
|
PC (Program Counter register)
1
|
|
personality dictionary
1
|
| |
and OSDictionary representation of
1+
|
|
PIO (Programmed Input/Output) hardware access
1
|
| |
and mapping device registers
1+
|
|
pmap layer functions
1
|
|
PMinit method
1
|
|
PMstop method
1
|
|
policy makers
|
| |
and determining idleness
1+
|
| |
introduced
1
|
|
POSIX APIs, using for user-space hardware access
1
|
|
power controllers
|
| |
and changing driver power state
1
|
| |
introduced
1
|
|
power domains
1
|
|
power management, and IOService methods
1+
|
|
power-management testing
1+
|
|
probe method
1
|
|
Program Counter register. See PC
|
|
Programmed Input/Output. See PIO
|
|
publishResource method
1
|
| R |
|
reference-counting, in libkern container and collection classes
1
|
|
registerInterrupt method
1
|
|
registerNotificationPort method
1
|
|
registerPowerDriver method
1
|
|
release method
1
2
|
|
resources for developers
1
2
|
|
resources, I/O Kit
1
2
|
|
retain-release behavior
|
| |
and unloading kernel extensions
1+
|
| |
of libkern container and collection classes
1
|
|
RPC (Mach Remote Process Communication)
1
|
|
runtime type information (RTTI), as disallowed feature of C++
1
|
|
runtime typing facility
1
|
|
runtime typing system
1
|
| S |
|
scalar parameter types
1+
|
|
sendAsyncResult method
1
|
|
serialization
1
|
|
serialize method
1
|
|
set methods
1
|
|
setAggressiveness method
1+
|
|
setAsyncReference method
1
|
|
setIdleTimerPeriod method
1
|
|
setPowerState method
1
2
|
|
setProperties method
1
|
|
showallkmods macro
1
|
| |
example output
1
|
|
showallstacks macro
1
|
| |
example output
1+
|
| |
using to debug system hangs
1
|
|
showkmodaddr macro
1
|
|
state variable
1
|
|
stringFromReturn method
1
|
|
strings, internationalization of
1
2
|
|
strip tool
1
|
|
structure parameter types
1+
|
|
switchtoact macro
1
|
| |
example output
1+
|
|
switchtoctx macro
1
|
|
symbol files, and two-machine debugging
1
|
|
symboled kernel
1
|
|
synchronous data transfer, using user clients
1+
|
|
syscall API
1
|
|
sysctl API
1
|
|
system hangs
|
| |
debugging
1
2
|
| |
symptoms of
1
|
| U |
|
universal binary, developing
1+
|
|
unlockForArbitration method
1
|
|
unregisterInterrupt method
1
|
|
user clients
|
| |
and application design
1
|
| |
and cross-boundary transport mechanisms
1
|
| |
and hardware capabilities
1+
|
| |
and IOService methods
1
|
| |
and range of accessibility
1
|
| |
and task files
1
|
| |
and validating data
1
|
| |
architecture of
1+
|
| |
as a subclass of IOUserClient
1
|
| |
constructing IOExternalMethod array for
1+
|
| |
creating custom
1+
|
| |
custom user-client sample
1+
|
| |
defining common data types for
1
|
| |
enforcing exclusive device access with
1+
|
| |
factors in designing
1+
2+
|
| |
initializing instances of
1+
|
| |
mapping device registers with
1+
|
| |
passing untyped data asynchronously with
1
2+
|
| |
passing untyped data synchronously with
1+
|
| |
synchronous and asynchronous data transfer
1+
|
|
user-kernel communication. See kernel-user communication
|
|
user-space clients
1+
|
| |
See also device interfaces
|
| |
and closing the user-client connection
1
|
| |
and connecting to the driver instance
1
|
| |
and finding the driver instance
1+
|
| |
and getting the Mach port
1
|
| |
and opening the user client
1+
|
| |
defining common data types for
1
2
|
| |
passing untyped data asynchronously with
1+
|
| |
sending and receiving data with
1+
|
| |
using run loops with
1+
|
| |
using to display localized information
1+
|