1*43a90889SApple OSS Distributions // 2*43a90889SApple OSS Distributions // CTConfig.h 3*43a90889SApple OSS Distributions // CoreTrust 4*43a90889SApple OSS Distributions // 5*43a90889SApple OSS Distributions // Copyright © 2021 Apple. All rights reserved. 6*43a90889SApple OSS Distributions // 7*43a90889SApple OSS Distributions 8*43a90889SApple OSS Distributions #ifndef _CORETRUST_CONFIG_H_ 9*43a90889SApple OSS Distributions #define _CORETRUST_CONFIG_H_ 10*43a90889SApple OSS Distributions 11*43a90889SApple OSS Distributions #if EFI 12*43a90889SApple OSS Distributions // This requires $(SDKROOT)/usr/local/efi/include/Platform to be in your header 13*43a90889SApple OSS Distributions // search path. 14*43a90889SApple OSS Distributions #include <Apple/Common/Library/Include/EfiCompatibility.h> 15*43a90889SApple OSS Distributions #else // !EFI 16*43a90889SApple OSS Distributions #include <stddef.h> 17*43a90889SApple OSS Distributions #include <stdint.h> 18*43a90889SApple OSS Distributions #include <stdbool.h> 19*43a90889SApple OSS Distributions #endif // !EFI 20*43a90889SApple OSS Distributions 21*43a90889SApple OSS Distributions /* Bounds attributes */ 22*43a90889SApple OSS Distributions #if __has_include(<ptrcheck.h>) 23*43a90889SApple OSS Distributions #include <ptrcheck.h> 24*43a90889SApple OSS Distributions #else 25*43a90889SApple OSS Distributions #define __single 26*43a90889SApple OSS Distributions #define __unsafe_indexable 27*43a90889SApple OSS Distributions #define __counted_by(N) 28*43a90889SApple OSS Distributions #define __sized_by(N) 29*43a90889SApple OSS Distributions #define __ended_by(E) 30*43a90889SApple OSS Distributions #define __ptrcheck_abi_assume_single() 31*43a90889SApple OSS Distributions #define __ptrcheck_abi_assume_unsafe_indexable() 32*43a90889SApple OSS Distributions #define __unsafe_forge_bidi_indexable(T, P, S) ((T)(P)) 33*43a90889SApple OSS Distributions #define __unsafe_forge_single(T, P) ((T)(P)) 34*43a90889SApple OSS Distributions #endif 35*43a90889SApple OSS Distributions 36*43a90889SApple OSS Distributions #if EFI 37*43a90889SApple OSS Distributions #if defined(__cplusplus) 38*43a90889SApple OSS Distributions #define __BEGIN_DECLS extern "C" { 39*43a90889SApple OSS Distributions #define __END_DECLS } 40*43a90889SApple OSS Distributions #else 41*43a90889SApple OSS Distributions #define __BEGIN_DECLS 42*43a90889SApple OSS Distributions #define __END_DECLS 43*43a90889SApple OSS Distributions #endif 44*43a90889SApple OSS Distributions #else // !EFI 45*43a90889SApple OSS Distributions #include <sys/cdefs.h> 46*43a90889SApple OSS Distributions #endif // !EFI 47*43a90889SApple OSS Distributions 48*43a90889SApple OSS Distributions __BEGIN_DECLS 49*43a90889SApple OSS Distributions 50*43a90889SApple OSS Distributions #if EFI 51*43a90889SApple OSS Distributions typedef UINT8 CT_uint8_t; 52*43a90889SApple OSS Distributions typedef UINT32 CT_uint32_t; 53*43a90889SApple OSS Distributions typedef INT32 CT_int; 54*43a90889SApple OSS Distributions typedef UINT64 CT_uint64_t; 55*43a90889SApple OSS Distributions typedef size_t CT_size_t; 56*43a90889SApple OSS Distributions typedef BOOLEAN CT_bool; 57*43a90889SApple OSS Distributions #else // !EFI 58*43a90889SApple OSS Distributions typedef uint8_t CT_uint8_t; 59*43a90889SApple OSS Distributions typedef uint32_t CT_uint32_t; 60*43a90889SApple OSS Distributions typedef uint64_t CT_uint64_t; 61*43a90889SApple OSS Distributions typedef size_t CT_size_t; 62*43a90889SApple OSS Distributions typedef int CT_int; 63*43a90889SApple OSS Distributions typedef bool CT_bool; 64*43a90889SApple OSS Distributions #endif // !EFI 65*43a90889SApple OSS Distributions 66*43a90889SApple OSS Distributions __END_DECLS 67*43a90889SApple OSS Distributions 68*43a90889SApple OSS Distributions #endif /* _CORETRUST_CONFIG_H_ */ 69