xref: /xnu-12377.41.6/libkern/amfi/amfi.c (revision bbb1b6f9e71b8cdde6e5cd6f4841f207dee3d828)
1 #include <libkern/libkern.h>
2 #include <libkern/section_keywords.h>
3 #include <libkern/amfi/amfi.h>
4 
5 SECURITY_READ_ONLY_LATE(const amfi_t*) amfi = NULL;
6 SECURITY_READ_ONLY_LATE(const CEKernelAPI_t*) libCoreEntitlements = NULL;
7 
8 void
amfi_interface_register(const amfi_t * mfi)9 amfi_interface_register(const amfi_t *mfi)
10 {
11 	if (amfi) {
12 		panic("AppleMobileFileIntegrity interface already set");
13 	}
14 	amfi = mfi;
15 }
16 
17 void
amfi_core_entitlements_register(const CEKernelAPI_t * implementation)18 amfi_core_entitlements_register(const CEKernelAPI_t *implementation)
19 {
20 	if (libCoreEntitlements) {
21 		panic("libCoreEntitlements interface already set");
22 	}
23 	libCoreEntitlements = implementation;
24 }
25