1 | // |
---|---|
2 | // EntitlementsPriv.h |
3 | // CoreEntitlements |
4 | // |
5 | |
6 | |
7 | #ifndef CORE_ENTITLEMENTS_ENTS_PRIV_H |
8 | #define CORE_ENTITLEMENTS_ENTS_PRIV_H |
9 | |
10 | #ifdef __cplusplus |
11 | extern "C"{ |
12 | #endif |
13 | |
14 | #include <CoreEntitlements/Entitlements.h> |
15 | #include <CoreEntitlements/der_vm.h> |
16 | |
17 | #ifndef CORE_ENTITLEMENTS_I_KNOW_WHAT_IM_DOING |
18 | #error This is a private API, please consult with the Trusted Execution team before using this. Misusing these functions will lead to security issues. |
19 | #endif |
20 | |
21 | __ptrcheck_abi_assume_single(); |
22 | |
23 | struct CEQueryContext { |
24 | der_vm_context_t der_context; |
25 | bool managed; |
26 | }; |
27 | |
28 | |
29 | CEError_t CEAcquireUnmanagedContext(const CERuntime_t rt, CEValidationResult validationResult, struct CEQueryContext* ctx); |
30 | |
31 | /*! |
32 | * @function CEConjureContextFromDER |
33 | * @brief Conjures up an object from thin air that you can query. Don't use it. |
34 | * @note It does no validation. |
35 | */ |
36 | struct CEQueryContext CEConjureContextFromDER(der_vm_context_t der_context); |
37 | |
38 | CEQueryOperation_t* CECreateStringOpInplace(CEQueryOperation_t* storage, CEQueryOpOpcode_t op, const char *__counted_by(len) data, size_t len); |
39 | CEQueryOperation_t* CECreateNumericOpInplace(CEQueryOperation_t* storage, CEQueryOpOpcode_t op, int64_t param); |
40 | |
41 | #ifdef __cplusplus |
42 | } |
43 | #endif |
44 | |
45 | #endif |
46 |