xref: /xnu-12377.61.12/libkern/amfi/amfi.c (revision 4d495c6e23c53686cf65f45067f79024cf5dcee8)
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