#ifndef _LIBKERN_OSKEXTLIBPRIVATE_H
#define _LIBKERN_OSKEXTLIBPRIVATE_H
+
#include <sys/cdefs.h>
#include <uuid/uuid.h>
* kOSKernelResourceKey
*********************************************************************/
#define kOSBundleMachOHeadersKey "OSBundleMachOHeaders"
+#define kOSBundleLogStringsKey "OSBundleLogStrings"
#define kOSBundleCPUTypeKey "OSBundleCPUType"
#define kOSBundleCPUSubtypeKey "OSBundleCPUSubtype"
#define kOSBundlePathKey "OSBundlePath"
#define kOSBundleLoadTagKey "OSBundleLoadTag"
#define kOSBundleLoadAddressKey "OSBundleLoadAddress"
#define kOSBundleLoadSizeKey "OSBundleLoadSize"
+#define kOSBundleExecLoadAddressKey "OSBundleExecLoadAddress"
+#define kOSBundleExecLoadSizeKey "OSBundleExecLoadSize"
#define kOSBundleWiredSizeKey "OSBundleWiredSize"
#define kOSBundleDependenciesKey "OSBundleDependencies"
#define kOSBundleRetainCountKey "OSBundleRetainCount"
*/
extern OSKextLoadedKextSummaryHeader * gLoadedKextSummaries;
+/*!
+ * @var gLoadedKextSummariesTimestamp
+ *
+ * @abstract This will be set to mach_absolute_time() around updates to
+ * gLoadedKextSummaries. Ie. immediately before gLoadedKextSummaries is set to
+ * zero, and immediately after it is set to a new value.
+ */
+extern uint64_t gLoadedKextSummariesTimestamp;
+
/*!
* @function OSKextLoadedKextSummariesUpdated
* @abstract Called when gLoadedKextSummaries has been updated.
#ifdef XNU_KERNEL_PRIVATE
extern const vm_allocation_site_t * OSKextGetAllocationSiteForCaller(uintptr_t address);
-extern uint32_t OSKextGetKmodIDForSite(vm_allocation_site_t * site);
+extern uint32_t OSKextGetKmodIDForSite(const vm_allocation_site_t * site,
+ char * name, vm_size_t namelen);
extern void OSKextFreeSite(vm_allocation_site_t * site);
+#if CONFIG_IMAGEBOOT
+extern int OSKextGetUUIDForName(const char *, uuid_t);
+#endif
+
#endif /* XNU_KERNEL_PRIVATE */
__END_DECLS