1*d4514f0bSApple OSS Distributions // 2*d4514f0bSApple OSS Distributions // KernelUtils.hpp 3*d4514f0bSApple OSS Distributions // CoreEntitlements_kernel 4*d4514f0bSApple OSS Distributions // 5*d4514f0bSApple OSS Distributions // 6*d4514f0bSApple OSS Distributions 7*d4514f0bSApple OSS Distributions #ifndef CORE_ENTITLEMENTS_KERNEL_H 8*d4514f0bSApple OSS Distributions #define CORE_ENTITLEMENTS_KERNEL_H 9*d4514f0bSApple OSS Distributions 10*d4514f0bSApple OSS Distributions #include <CoreEntitlements/CoreEntitlements.h> 11*d4514f0bSApple OSS Distributions #include <libkern/c++/OSPtr.h> 12*d4514f0bSApple OSS Distributions #include <libkern/c++/OSDictionary.h> 13*d4514f0bSApple OSS Distributions 14*d4514f0bSApple OSS Distributions #ifndef CORE_ENTITLEMENTS_I_KNOW_WHAT_IM_DOING 15*d4514f0bSApple OSS Distributions #error This is a private API, please consult with the Trusted Execution team before using this. Misusing these functions will lead to security issues. 16*d4514f0bSApple OSS Distributions #endif 17*d4514f0bSApple OSS Distributions 18*d4514f0bSApple OSS Distributions /*! 19*d4514f0bSApple OSS Distributions * @function CEQueryContextToOSDictionary 20*d4514f0bSApple OSS Distributions * Private API, converts a query context into an OSDictionary that can be handed out to legacy users 21*d4514f0bSApple OSS Distributions */ 22*d4514f0bSApple OSS Distributions OSPtr<OSDictionary> CEQueryContextToOSDictionary(CEQueryContext_t entitlements); 23*d4514f0bSApple OSS Distributions 24*d4514f0bSApple OSS Distributions /*! 25*d4514f0bSApple OSS Distributions * @function CEQueryContextToOSObject 26*d4514f0bSApple OSS Distributions * Private API, converts a query context into an OSObject that may be returned dynamically 27*d4514f0bSApple OSS Distributions */ 28*d4514f0bSApple OSS Distributions OSPtr<OSObject> CEQueryContextToOSObject(CEQueryContext_t context); 29*d4514f0bSApple OSS Distributions 30*d4514f0bSApple OSS Distributions #endif 31