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