xref: /xnu-10002.61.3/EXTERNAL_HEADERS/CoreEntitlements/Errors.h (revision 0f4c859e951fba394238ab619495c4e1d54d0f34)
1*0f4c859eSApple OSS Distributions //
2*0f4c859eSApple OSS Distributions //  Errors.h
3*0f4c859eSApple OSS Distributions //  CoreEntitlements
4*0f4c859eSApple OSS Distributions //
5*0f4c859eSApple OSS Distributions //
6*0f4c859eSApple OSS Distributions 
7*0f4c859eSApple OSS Distributions #ifndef CORE_ENTITLEMENTS_ERRORS_H
8*0f4c859eSApple OSS Distributions #define CORE_ENTITLEMENTS_ERRORS_H
9*0f4c859eSApple OSS Distributions 
10*0f4c859eSApple OSS Distributions #ifndef _CE_INDIRECT
11*0f4c859eSApple OSS Distributions #error "Please include <CoreEntitlements/CoreEntitlements.h> instead of this file"
12*0f4c859eSApple OSS Distributions #endif
13*0f4c859eSApple OSS Distributions 
14*0f4c859eSApple OSS Distributions #include <sys/cdefs.h>
15*0f4c859eSApple OSS Distributions __ptrcheck_abi_assume_single();
16*0f4c859eSApple OSS Distributions 
17*0f4c859eSApple OSS Distributions /*!
18*0f4c859eSApple OSS Distributions  * @typedef CEError_t
19*0f4c859eSApple OSS Distributions  * A shared error type that is returned by CoreEntitlements APIs
20*0f4c859eSApple OSS Distributions  */
21*0f4c859eSApple OSS Distributions typedef const struct CEError *__single CEError_t;
22*0f4c859eSApple OSS Distributions 
23*0f4c859eSApple OSS Distributions // Macro to define the error for export;
24*0f4c859eSApple OSS Distributions #define CE_DEF_ERROR(name) extern CEError_t name;
25*0f4c859eSApple OSS Distributions 
26*0f4c859eSApple OSS Distributions // Returned on successful invocation
27*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCENoError);
28*0f4c859eSApple OSS Distributions 
29*0f4c859eSApple OSS Distributions // Returned when the library encounters API misuse
30*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCEAPIMisuse);
31*0f4c859eSApple OSS Distributions 
32*0f4c859eSApple OSS Distributions // Returned when an invalid argument has been passed in
33*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCEInvalidArgument);
34*0f4c859eSApple OSS Distributions 
35*0f4c859eSApple OSS Distributions // Returned when we expected to have allocated data, but we couldn't
36*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCEAllocationFailed);
37*0f4c859eSApple OSS Distributions 
38*0f4c859eSApple OSS Distributions // Returned when the passed in entitlements do not conform to any supported format
39*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCEMalformedEntitlements);
40*0f4c859eSApple OSS Distributions 
41*0f4c859eSApple OSS Distributions // Returned when a group of queries does not generate a valid result on the current CEQueryContext
42*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCEQueryCannotBeSatisfied);
43*0f4c859eSApple OSS Distributions 
44*0f4c859eSApple OSS Distributions // Returned when a context shouldn't be accelerated
45*0f4c859eSApple OSS Distributions CE_DEF_ERROR(kCENotEligibleForAcceleration);
46*0f4c859eSApple OSS Distributions 
47*0f4c859eSApple OSS Distributions /*!
48*0f4c859eSApple OSS Distributions  * @function CEGetErrorString
49*0f4c859eSApple OSS Distributions  * Returns a string that describes the error
50*0f4c859eSApple OSS Distributions  */
51*0f4c859eSApple OSS Distributions const char *__unsafe_indexable CEGetErrorString(CEError_t error);
52*0f4c859eSApple OSS Distributions 
53*0f4c859eSApple OSS Distributions #endif
54