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