|
|
OSKextLib.h |
| Includes: |
<sys/cdefs.h> <stdint.h> <mach/kmod.h> <mach/vm_types.h> <CoreFoundation/CoreFoundation.h> <System/libkern/OSReturn.h> |
Declares functions, basic return values, and other constants related to kernel extensions (kexts).
For the kernel-space version of this header, see
OSKextLib.h (Kernel Framework)
These constants encompass established values for kernel extension bundle properties.
This OSBundleRequired
value indicates that the kext may be needed for console access
(specifically in a single-user startup when
kextd(8).
does not run)
and should be loaded during early startup.
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting from a local disk.
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting over a network connection.
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
whether starting from a local or a network volume.
This OSBundleRequired
value indicates that the kext can be loaded during a safe startup.
This value does not normally cause the kext to be read by the booter
or included in startup kext caches.
This is the CFBundleIdentifier user for the kernel itself.
Many kext-related functions return these values,
as well as those defined under
OSReturn
and other variants of kern_return_t.
Kext does not contain code for the requested architecture.
Authetication failures encountered; check diagnostics for details.
Malformed data (not used for XML).
Kext not loadable or operation not allowed at current boot level.
An error occurred processing a system kext cache.
Operation has been posted asynchronously to user space (kernel only).
Dependency resolution failures encountered; check diagnostics for details.
A load error occurred on a dependency of the kext being loaded.
Operation is currently disabled.
An internal error in the kext library.
Contrast with OSReturnError.
The kext is currently in use or has outstanding references, and cannot be unloaded.
Invalid argument.
A link failure occured with this kext or a dependency.
A different version (or executable UUID, or executable by checksum) of the requested kext is already loaded.
Memory allocation failed.
Some resource other than memory (such as available load tags) is exhausted.
Bundle is not a kernel extension.
Search item not found.
Kext cannot be loaded; check diagnostics for details.
The caller lacks privileges to perform the requested operation.
Error converting or (un)serializing URL, string, or XML.
The kext start or stop routine returned an error.
The kext is in the process of stopping; requests cannot be made.
A kext request has timed out.
Operation is no longer or not yet supported.
Validation failures encountered; check diagnostics for details.
Types, constants, and macros providing a kext with information about itself.
These constants cover CFBundle properties defined for kernel extensions.
Because they are used in the kernel, if you want to use one with
CFBundle APIs you'll need to wrap it in a CFSTR() macro.
A dictionary of dictionaries used in matching for I/O Kit drivers.
A boolean value indicating whether
kextcache(8)
will honor a non-root process's request to load a kext.
A string giving the backwards-compatible version of a library kext in extended Mac OS 'vers' format (####.##.##s{1-255} where 's' is a build stage 'd', 'a', 'b', 'f' or 'fc').
Set to true to have the kernel kext logging spec applied
to the kext.
See OSKextLogSpec.
A boolean value indicating whether the kext executable contains only symbol references.
A dictionary listing link dependencies for this kext. Keys are bundle identifiers, values are version strings.
A string indicating in which kinds of startup this kext
may need to load during early startup (before
kextcache(8)).
Deprecated (used on some releases of Mac OS X prior to 10.6 Snow Leopard). Value is the bundle identifier of the pseudokext that contains an executable shared by this kext.
A boolean value indicating whether the kext represents a built-in component of the kernel.
A dictionary of dictionaries used in matching for I/O Kit drivers.
A boolean value indicating whether
kextcache(8)
will honor a non-root process's request to load a kext.
A string giving the backwards-compatible version of a library kext in extended Mac OS 'vers' format (####.##.##s{1-255} where 's' is a build stage 'd', 'a', 'b', 'f' or 'fc').
Set to true to have the kernel kext logging spec applied
to the kext.
See OSKextLogSpec.
A boolean value indicating whether the kext executable contains only symbol references.
A dictionary listing link dependencies for this kext. Keys are bundle identifiers, values are version strings.
This OSBundleRequired
value indicates that the kext may be needed for console access
(specifically in a single-user startup when
kextd(8).
does not run)
and should be loaded during early startup.
A string indicating in which kinds of startup this kext
may need to load during early startup (before
kextcache(8)).
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting from a local disk.
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting over a network connection.
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
whether starting from a local or a network volume.
This OSBundleRequired
value indicates that the kext can be loaded during a safe startup.
This value does not normally cause the kext to be read by the booter
or included in startup kext caches.
Deprecated (used on some releases of Mac OS X prior to 10.6 Snow Leopard). Value is the bundle identifier of the pseudokext that contains an executable shared by this kext.
A boolean value indicating whether the kext represents a built-in component of the kernel.
This is the CFBundleIdentifier user for the kernel itself.
Kext does not contain code for the requested architecture.
Authetication failures encountered; check diagnostics for details.
Malformed data (not used for XML).
Kext not loadable or operation not allowed at current boot level.
An error occurred processing a system kext cache.
Operation has been posted asynchronously to user space (kernel only).
Dependency resolution failures encountered; check diagnostics for details.
A load error occurred on a dependency of the kext being loaded.
Operation is currently disabled.
An internal error in the kext library.
Contrast with OSReturnError.
The kext is currently in use or has outstanding references, and cannot be unloaded.
Invalid argument.
A link failure occured with this kext or a dependency.
A different version (or executable UUID, or executable by checksum) of the requested kext is already loaded.
Memory allocation failed.
Some resource other than memory (such as available load tags) is exhausted.
Bundle is not a kernel extension.
Search item not found.
Kext cannot be loaded; check diagnostics for details.
The caller lacks privileges to perform the requested operation.
Error converting or (un)serializing URL, string, or XML.
The kext start or stop routine returned an error.
The kext is in the process of stopping; requests cannot be made.
A kext request has timed out.
Operation is no longer or not yet supported.
Validation failures encountered; check diagnostics for details.
kIOKitPersonalitiesKey |
A dictionary of dictionaries used in matching for I/O Kit drivers.
#define kIOKitPersonalitiesKey "IOKitPersonalities"
kOSBundleAllowUserLoadKey |
A boolean value indicating whether
kextcache(8)
will honor a non-root process's request to load a kext.
#define kOSBundleAllowUserLoadKey "OSBundleAllowUserLoad"
See KextManagerLoadKextWithURL
and KextManagerLoadKextWithIdentifier.
kOSBundleCompatibleVersionKey |
A string giving the backwards-compatible version of a library kext in extended Mac OS 'vers' format (####.##.##s{1-255} where 's' is a build stage 'd', 'a', 'b', 'f' or 'fc').
#define kOSBundleCompatibleVersionKey "OSBundleCompatibleVersion"
kOSBundleEnableKextLoggingKey |
Set to true to have the kernel kext logging spec applied
to the kext.
See OSKextLogSpec.
#define kOSBundleEnableKextLoggingKey "OSBundleEnableKextLogging"
kOSBundleIsInterfaceKey |
A boolean value indicating whether the kext executable contains only symbol references.
#define kOSBundleIsInterfaceKey "OSBundleIsInterface"
kOSBundleLibrariesKey |
A dictionary listing link dependencies for this kext. Keys are bundle identifiers, values are version strings.
#define kOSBundleLibrariesKey "OSBundleLibraries"
kOSBundleRequiredConsole |
This OSBundleRequired
value indicates that the kext may be needed for console access
(specifically in a single-user startup when
kextd(8).
does not run)
and should be loaded during early startup.
#define kOSBundleRequiredConsole "Console"
kOSBundleRequiredKey |
A string indicating in which kinds of startup this kext
may need to load during early startup (before
kextcache(8)).
#define kOSBundleRequiredKey "OSBundleRequired"
The value is one of:
Use this property judiciously. Every kext that declares a value other than "OSBundleRequiredSafeBoot" increases startup time, as the booter must read it into memory, or startup kext caches must include it.
kOSBundleRequiredLocalRoot |
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting from a local disk.
#define kOSBundleRequiredLocalRoot "Local-Root"
kOSBundleRequiredNetworkRoot |
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
when starting over a network connection.
#define kOSBundleRequiredNetworkRoot "Network-Root"
kOSBundleRequiredRoot |
This OSBundleRequired
value indicates that the kext may be needed to mount the root filesystem
whether starting from a local or a network volume.
#define kOSBundleRequiredRoot "Root"
kOSBundleRequiredSafeBoot |
This OSBundleRequired
value indicates that the kext can be loaded during a safe startup.
This value does not normally cause the kext to be read by the booter
or included in startup kext caches.
#define kOSBundleRequiredSafeBoot "Safe Boot"
kOSBundleSharedExecutableIdentifierKey |
Deprecated (used on some releases of Mac OS X prior to 10.6 Snow Leopard). Value is the bundle identifier of the pseudokext that contains an executable shared by this kext.
#define kOSBundleSharedExecutableIdentifierKey "OSBundleSharedExecutableIdentifier"
kOSKernelResourceKey |
A boolean value indicating whether the kext represents a built-in component of the kernel.
#define kOSKernelResourceKey "OSKernelResource"
kOSKextKernelIdentifier |
This is the CFBundleIdentifier user for the kernel itself.
#define kOSKextKernelIdentifier "__kernel__"
kOSKextReturnArchNotFound |
Kext does not contain code for the requested architecture.
#define kOSKextReturnArchNotFound libkern_kext_err(0xf)
kOSKextReturnAuthentication |
Authetication failures encountered; check diagnostics for details.
#define kOSKextReturnAuthentication libkern_kext_err(0xd)
kOSKextReturnBadData |
Malformed data (not used for XML).
#define kOSKextReturnBadData libkern_kext_err(0x7)
kOSKextReturnBootLevel |
Kext not loadable or operation not allowed at current boot level.
#define kOSKextReturnBootLevel libkern_kext_err(0x12)
kOSKextReturnCache |
An error occurred processing a system kext cache.
#define kOSKextReturnCache libkern_kext_err(0x10)
kOSKextReturnDeferred |
Operation has been posted asynchronously to user space (kernel only).
#define kOSKextReturnDeferred libkern_kext_err(0x11)
kOSKextReturnDependencies |
Dependency resolution failures encountered; check diagnostics for details.
#define kOSKextReturnDependencies libkern_kext_err(0xe)
kOSKextReturnDependencyLoadError |
A load error occurred on a dependency of the kext being loaded.
#define kOSKextReturnDependencyLoadError libkern_kext_err(0x15)
kOSKextReturnDisabled |
Operation is currently disabled.
#define kOSKextReturnDisabled libkern_kext_err(0xa)
kOSKextReturnInternalError |
An internal error in the kext library.
Contrast with OSReturnError.
#define kOSKextReturnInternalError libkern_kext_err(0x1)
kOSKextReturnInUse |
The kext is currently in use or has outstanding references, and cannot be unloaded.
#define kOSKextReturnInUse libkern_kext_err(0x18)
kOSKextReturnInvalidArgument |
Invalid argument.
#define kOSKextReturnInvalidArgument libkern_kext_err(0x5)
kOSKextReturnLinkError |
A link failure occured with this kext or a dependency.
#define kOSKextReturnLinkError libkern_kext_err(0x16)
kOSKextReturnLoadedVersionDiffers |
A different version (or executable UUID, or executable by checksum) of the requested kext is already loaded.
#define kOSKextReturnLoadedVersionDiffers libkern_kext_err(0x14)
kOSKextReturnNoMemory |
Memory allocation failed.
#define kOSKextReturnNoMemory libkern_kext_err(0x2)
kOSKextReturnNoResources |
Some resource other than memory (such as available load tags) is exhausted.
#define kOSKextReturnNoResources libkern_kext_err(0x3)
kOSKextReturnNotAKext |
Bundle is not a kernel extension.
#define kOSKextReturnNotAKext libkern_kext_err(0xb)
kOSKextReturnNotFound |
Search item not found.
#define kOSKextReturnNotFound libkern_kext_err(0x6)
kOSKextReturnNotLoadable |
Kext cannot be loaded; check diagnostics for details.
#define kOSKextReturnNotLoadable libkern_kext_err(0x13)
kOSKextReturnNotPrivileged |
The caller lacks privileges to perform the requested operation.
#define kOSKextReturnNotPrivileged libkern_kext_err(0x4)
kOSKextReturnSerialization |
Error converting or (un)serializing URL, string, or XML.
#define kOSKextReturnSerialization libkern_kext_err(0x8)
kOSKextReturnStartStopError |
The kext start or stop routine returned an error.
#define kOSKextReturnStartStopError libkern_kext_err(0x17)
kOSKextReturnStopping |
The kext is in the process of stopping; requests cannot be made.
#define kOSKextReturnStopping libkern_kext_err(0x1a)
kOSKextReturnTimeout |
A kext request has timed out.
#define kOSKextReturnTimeout libkern_kext_err(0x19)
kOSKextReturnUnsupported |
Operation is no longer or not yet supported.
#define kOSKextReturnUnsupported libkern_kext_err(0x9)
kOSKextReturnValidation |
Validation failures encountered; check diagnostics for details.
#define kOSKextReturnValidation libkern_kext_err(0xc)
Last Updated: 2009-10-15