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 header "sys/_endian.h" 79 80 export * 81 } 82 83 #ifdef XNU_KERNEL_PRIVATE 84 // A few other machine headers are in the public SDK for macOS, but 85 // mastered out of the public SDK for the other OSes. This time the 86 // corresponding arm headers follow the machine headers, but the 87 // corresponding i386 headers are in the public SDK for simulators. 88 #endif 89 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 90 module fasttrap_isa { 91 #ifdef XNU_PLATFORM_MacOSX 92 header "machine/fasttrap_isa.h" 93 #endif 94 header "i386/fasttrap_isa.h" 95 #ifdef XNU_PLATFORM_MacOSX 96 header "arm/fasttrap_isa.h" 97 #endif 98 99 export * 100 } 101 102 #endif 103 module limits { 104 header "machine/limits.h" 105 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 106 header "i386/limits.h" 107 #endif 108 header "arm/limits.h" 109 110 export * 111 } 112 113 module param { 114 header "machine/param.h" 115 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 116 header "i386/param.h" 117 #endif 118 header "arm/param.h" 119 120 export * 121 } 122 123 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 124 module profile { 125 #ifdef XNU_PLATFORM_MacOSX 126 header "machine/profile.h" 127 #endif 128 header "i386/profile.h" 129 #ifdef XNU_PLATFORM_MacOSX 130 header "arm/profile.h" 131 #endif 132 133 export * 134 } 135 136 #endif 137 module signal { 138 header "machine/signal.h" 139 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 140 header "i386/signal.h" 141 #endif 142 header "arm/signal.h" 143 144 export * 145 } 146 147 module types { 148 header "machine/types.h" 149 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 150 header "i386/types.h" 151 #endif 152 header "arm/types.h" 153 154 export * 155 } 156 #if defined(XNU_PLATFORM_MacOSX) || defined(XNU_PLATFORM_iPhoneSimulator) || defined(XNU_PLATFORM_AppleTVSimulator) || defined(XNU_PLATFORM_WatchSimulator) 157 158 module user_ldt { 159 header "i386/user_ldt.h" 160 export * 161 } 162 163 module vmparam { 164 #ifdef XNU_PLATFORM_MacOSX 165 header "machine/vmparam.h" 166 #endif 167 header "i386/vmparam.h" 168 #ifdef XNU_PLATFORM_MacOSX 169 header "arm/vmparam.h" 170 #endif 171 172 export * 173 } 174 #endif 175} 176