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