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