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