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