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