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+
|
|
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+
|
| |
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
|
|
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+
|