xref: /xnu-12377.81.4/EXTERNAL_HEADERS/CoreTrust/CTConfig.h (revision 043036a2b3718f7f0be807e2870f8f47d3fa0796)
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