1module Darwin.machine [system] { 2 module _limits { 3 #ifdef XNU_KERNEL_PRIVATE 4 // A few machine headers are in the public SDK for macOS, but 5 // mastered out of the public SDK for the other OSes. Oddly the 6 // corresponding arm and i386 headers are in all the public SDKs. 7 #endif 8 #ifdef XNU_PLATFORM_MacOSX 9 header "machine/_limits.h" 10 #endif 11 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 12 header "i386/_limits.h" 13 #endif 14 header "arm/_limits.h" 15 16 export * 17 } 18 19 module _mcontext { 20 header "machine/_mcontext.h" 21 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 22 header "i386/_mcontext.h" 23 #endif 24 header "arm/_mcontext.h" 25 26 export * 27 } 28 29 module _param { 30 header "machine/_param.h" 31 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 32 header "i386/_param.h" 33 #endif 34 header "arm/_param.h" 35 36 export * 37 } 38 39 module _types { 40 header "machine/_types.h" 41 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 42 header "i386/_types.h" 43 #endif 44 header "arm/_types.h" 45 46 export * 47 } 48 49 module arch { 50 header "arm/arch.h" 51 export * 52 } 53 54 #ifdef XNU_KERNEL_PRIVATE 55 // The XNU_PLATFORM_MacOSX headers are in the public SDK for macOS, 56 // but mastered out of the public SDK for the other OSes. 57 #endif 58 #ifdef XNU_PLATFORM_MacOSX 59 module byte_order { 60 header "machine/byte_order.h" 61 export * 62 } 63 64 #endif 65 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 66 module eflags { 67 header "i386/eflags.h" 68 export * 69 } 70 #endif 71 72 module endian { 73 header "machine/endian.h" 74 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 75 header "i386/endian.h" 76 #endif 77 header "arm/endian.h" 78 79 export * 80 } 81 82 #ifdef XNU_KERNEL_PRIVATE 83 // A few other machine headers are in the public SDK for macOS, but 84 // mastered out of the public SDK for the other OSes. This time the 85 // corresponding arm headers follow the machine headers, but the 86 // corresponding i386 headers are in the public SDK for simulators. 87 #endif 88 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 89 module fasttrap_isa { 90 #ifdef XNU_PLATFORM_MacOSX 91 header "machine/fasttrap_isa.h" 92 #endif 93 header "i386/fasttrap_isa.h" 94 #ifdef XNU_PLATFORM_MacOSX 95 header "arm/fasttrap_isa.h" 96 #endif 97 98 export * 99 } 100 101 #endif 102 module limits { 103 header "machine/limits.h" 104 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 105 header "i386/limits.h" 106 #endif 107 header "arm/limits.h" 108 109 export * 110 } 111 112 module param { 113 header "machine/param.h" 114 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 115 header "i386/param.h" 116 #endif 117 header "arm/param.h" 118 119 export * 120 } 121 122 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 123 module profile { 124 #ifdef XNU_PLATFORM_MacOSX 125 header "machine/profile.h" 126 #endif 127 header "i386/profile.h" 128 #ifdef XNU_PLATFORM_MacOSX 129 header "arm/profile.h" 130 #endif 131 132 export * 133 } 134 135 #endif 136 module signal { 137 header "machine/signal.h" 138 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 139 header "i386/signal.h" 140 #endif 141 header "arm/signal.h" 142 143 export * 144 } 145 146 module types { 147 header "machine/types.h" 148 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 149 header "i386/types.h" 150 #endif 151 header "arm/types.h" 152 153 export * 154 } 155 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 156 157 module user_ldt { 158 header "i386/user_ldt.h" 159 export * 160 } 161 162 module vmparam { 163 #ifdef XNU_PLATFORM_MacOSX 164 header "machine/vmparam.h" 165 #endif 166 header "i386/vmparam.h" 167 #ifdef XNU_PLATFORM_MacOSX 168 header "arm/vmparam.h" 169 #endif 170 171 export * 172 } 173 #endif 174} 175