1*4f1223e8SApple OSS Distributions // 2*4f1223e8SApple OSS Distributions // KernelUtils.hpp 3*4f1223e8SApple OSS Distributions // CoreEntitlements_kernel 4*4f1223e8SApple OSS Distributions // 5*4f1223e8SApple OSS Distributions // 6*4f1223e8SApple OSS Distributions 7*4f1223e8SApple OSS Distributions #ifndef CORE_ENTITLEMENTS_KERNEL_H 8*4f1223e8SApple OSS Distributions #define CORE_ENTITLEMENTS_KERNEL_H 9*4f1223e8SApple OSS Distributions 10*4f1223e8SApple OSS Distributions #include <CoreEntitlements/CoreEntitlements.h> 11*4f1223e8SApple OSS Distributions #include <libkern/c++/OSPtr.h> 12*4f1223e8SApple OSS Distributions #include <libkern/c++/OSDictionary.h> 13*4f1223e8SApple OSS Distributions 14*4f1223e8SApple OSS Distributions #ifndef CORE_ENTITLEMENTS_I_KNOW_WHAT_IM_DOING 15*4f1223e8SApple 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*4f1223e8SApple OSS Distributions #endif 17*4f1223e8SApple OSS Distributions 18*4f1223e8SApple OSS Distributions /*! 19*4f1223e8SApple OSS Distributions * @function CEQueryContextToOSDictionary 20*4f1223e8SApple OSS Distributions * Private API, converts a query context into an OSDictionary that can be handed out to legacy users 21*4f1223e8SApple OSS Distributions */ 22*4f1223e8SApple OSS Distributions OSPtr<OSDictionary> CEQueryContextToOSDictionary(CEQueryContext_t entitlements); 23*4f1223e8SApple OSS Distributions 24*4f1223e8SApple OSS Distributions /*! 25*4f1223e8SApple OSS Distributions * @function CEQueryContextToOSObject 26*4f1223e8SApple OSS Distributions * Private API, converts a query context into an OSObject that may be returned dynamically 27*4f1223e8SApple OSS Distributions */ 28*4f1223e8SApple OSS Distributions OSPtr<OSObject> CEQueryContextToOSObject(CEQueryContext_t context); 29*4f1223e8SApple OSS Distributions 30*4f1223e8SApple OSS Distributions #endif 31