dyld-732.8.tar.gz
[apple/dyld.git] / dyld3 / BootArgs.h
1 //
2 // BootArgs.hpp
3 // dyld
4 //
5 // Created by Louis Gerbarg on 11/14/18.
6 //
7
8 #ifndef __DYLD_BOOTARGS_H__
9 #define __DYLD_BOOTARGS_H__
10
11 #include <cstdint>
12
13 #define VIS_HIDDEN __attribute__((visibility("hidden")))
14
15 namespace dyld3 {
16 #if BUILDING_DYLD
17 struct VIS_HIDDEN BootArgs {
18 static bool contains(const char* arg);
19 static bool forceCustomerCache();
20 static bool forceDyld2();
21 static bool forceDyld3();
22 static bool enableDyldTestMode();
23 static bool enableCompactImageInfo();
24 static void setFlags(uint64_t flags);
25 private:
26 static const uint64_t kForceCustomerCacheMask = 1<<0;
27 static const uint64_t kDyldTestModeMask = 1<<1;
28 static const uint64_t kForceDyld2CacheMask = 1<<15;
29 static const uint64_t kForceDyld3CacheMask = 1<<16;
30 static const uint64_t kEnableCompactImageInfoMask = 1<<17;
31 //FIXME: Move this into __DATA_CONST once it is enabled for dyld
32 static uint64_t _flags;
33 };
34 #endif
35
36 } // namespace dyld3
37
38 #endif /* __DYLD_BOOTARGS_H__ */