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