]> git.saurik.com Git - apple/xnu.git/blobdiff - libkern/libkern/OSKextLib.h
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / libkern / libkern / OSKextLib.h
index f602dfd7d343d7a42a3a695239fc1f55cbbcd18b..f18b6e206bf6c093f1570eb09355fd8c8f75ed12 100644 (file)
@@ -244,6 +244,38 @@ __BEGIN_DECLS
  */
 #define kOSKextReturnSystemPolicy                    libkern_kext_err(0x1b)
 
+/*!
+ * @define   kOSKextReturnKCLoadFailure
+ * @abstract Loading of the System KC failed
+ */
+#define kOSKextReturnKCLoadFailure                  libkern_kext_err(0x1c)
+
+/*!
+ * @define   kOSKextReturnKCLoadFailureSystemKC
+ * @abstract Loading of the System KC failed
+ *
+ * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together
+ * with: kOSKextReturnKCLoadFailureAuxKC
+ *
+ * If both the System and Aux KCs fail to load, then the error code will be:
+ * libkern_kext_err(0x1f)
+ */
+#define kOSKextReturnKCLoadFailureSystemKC          libkern_kext_err(0x1d)
+
+/*!
+ * @define   kOSKextReturnKCLoadFailureAuxKC
+ * @abstract Loading of the Aux KC failed
+ *
+ * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together
+ * with: kOSKextReturnKCLoadFailureSystemKC
+ *
+ * If both the System and Aux KCs fail to load, then the error code will be:
+ * libkern_kext_err(0x1f)
+ */
+#define kOSKextReturnKCLoadFailureAuxKC             libkern_kext_err(0x1e)
+
+/* next available error is: libkern_kext_err(0x20) */
+
 #if PRAGMA_MARK
 #pragma mark -
 /********************************************************************/
@@ -267,6 +299,7 @@ __BEGIN_DECLS
 #define kCFBundleExecutableKey                  "CFBundleExecutable"
 #define kCFBundlePackageTypeKey                 "CFBundlePackageType"
 #define kCFBundleDriverKitUUIDKey               "CFBundleDriverKitUUID"
+#define kCFBundleDriverKitExecutableKey         "CFBundleUEXTExecutable"
 #endif /* KERNEL */
 
 /*!
@@ -322,6 +355,13 @@ __BEGIN_DECLS
  */
 #define kOSBundleRequiredKey                    "OSBundleRequired"
 
+/*!
+ * @define   kOSBundleRequireExplicitLoadKey
+ * @abstract A boolean value indicating whether the kext requires an
+ *           explicit kextload in order to start/match.
+ */
+#define kOSBundleRequireExplicitLoadKey         "OSBundleRequireExplicitLoad"
+
 /*!
  * @define   kOSBundleAllowUserLoadKey
  * @abstract A boolean value indicating whether
@@ -380,6 +420,14 @@ __BEGIN_DECLS
 #define kAppleTextHashesKey                     "AppleTextHashes"
 #endif
 
+/*!
+ * @define   kOSMutableSegmentCopy
+ * @abstract A boolean value indicating whether the kext requires a copy of
+ *           its mutable segments to be kept in memory, and then reset when the kext
+ *           unloads. This should be used with caution as it will increase the
+ *           amount of memory used by the kext.
+ */
+#define kOSMutableSegmentCopy                   "OSMutableSegmentCopy"
 
 
 #if PRAGMA_MARK