1module Darwin.Mach [system] { 2 header "mach/mach.h" 3 export * 4 5 // declares string_t which sometimes conflicts with other declarations 6 explicit module audit_triggers_types { 7 header "mach/audit_triggers_types.h" 8 export * 9 } 10 11 module boolean { 12 header "mach/boolean.h" 13 export * 14 } 15 16 module bootstrap { 17 header "mach/bootstrap.h" 18 export * 19 } 20 21 module clock { 22 header "mach/clock.h" 23 export * 24 } 25 26 module clock_priv { 27 header "mach/clock_priv.h" 28 export * 29 } 30 31 module clock_reply { 32 header "mach/clock_reply.h" 33 export * 34 } 35 36 module clock_types { 37 header "mach/clock_types.h" 38 export * 39 } 40 41 module dyld_kernel { 42 header "mach/dyld_kernel.h" 43 export * 44 } 45 46 module error { 47 header "mach/error.h" 48 export * 49 } 50 51 module exc { 52 header "mach/exc.h" 53 export * 54 } 55 56 module exception { 57 header "mach/exception.h" 58 export * 59 } 60 61 module exception_types { 62 header "mach/exception_types.h" 63 export * 64 } 65 66 module host_info { 67 header "mach/host_info.h" 68 export * 69 } 70 71 module host_notify { 72 header "mach/host_notify.h" 73 export * 74 } 75 76 module host_priv { 77 header "mach/host_priv.h" 78 export * 79 } 80 81 module host_reboot { 82 header "mach/host_reboot.h" 83 export * 84 } 85 86 module host_security { 87 header "mach/host_security.h" 88 export * 89 } 90 91 module host_special_ports { 92 header "mach/host_special_ports.h" 93 export * 94 } 95 96 module hv { 97 header "arm64/hv/hv_kern_types.h" 98 export * 99 } 100 101 module kern_return { 102 header "mach/kern_return.h" 103 export * 104 } 105 106 module kmod { 107 header "mach/kmod.h" 108 export * 109 } 110 111 module mach_error { 112 header "mach/mach_error.h" 113 export * 114 } 115 116 module mach_host { 117 header "mach/mach_host.h" 118 export * 119 } 120 121 module mach_init { 122 header "mach/mach_init.h" 123 export * 124 } 125 126 module mach_interface { 127 header "mach/mach_interface.h" 128 export * 129 } 130 131 module mach_param { 132 header "mach/mach_param.h" 133 export * 134 } 135 136 module mach_port { 137 header "mach/mach_port.h" 138 export * 139 } 140 141 module mach_right { 142 header "mach/mach_right.h" 143 export * 144 } 145 146 module mach_syscalls { 147 header "mach/mach_syscalls.h" 148 export * 149 } 150 151 module mach_time { 152 header "mach/mach_time.h" 153 export * 154 } 155 156 module mach_traps { 157 header "mach/mach_traps.h" 158 export * 159 } 160 161 module mach_types { 162 header "mach/mach_types.h" 163 export * 164 } 165 166 #ifdef XNU_KERNEL_PRIVATE 167 // usr/include/mach/mach_vm.h is public on macOS, but an #error 168 // on the other platforms. Its actual contents are installed 169 // to usr/local/include/mach/mach_vm.h on other platforms. 170 #endif 171 #ifdef XNU_PLATFORM_MacOSX 172 module mach_vm { 173 header "mach/mach_vm.h" 174 export * 175 } 176 177 #endif 178 module mach_voucher { 179 header "mach/mach_voucher.h" 180 export * 181 } 182 183 module mach_voucher_types { 184 header "mach/mach_voucher_types.h" 185 export * 186 } 187 188 module memory_entry { 189 header "mach/memory_entry.h" 190 export * 191 } 192 193 module memory_object_types { 194 header "mach/memory_object_types.h" 195 export * 196 } 197 198 module message { 199 header "mach/message.h" 200 export * 201 } 202 203 module mig { 204 header "mach/mig.h" 205 export * 206 } 207 208 module mig_errors { 209 header "mach/mig_errors.h" 210 export * 211 } 212 213 module mig_strncpy_zerofill_support { 214 header "mach/mig_strncpy_zerofill_support.h" 215 export * 216 } 217 218 module mig_voucher_support { 219 header "mach/mig_voucher_support.h" 220 export * 221 } 222 223 module ndr { 224 header "mach/ndr.h" 225 export * 226 } 227 228 module notify { 229 header "mach/notify.h" 230 export * 231 } 232 233 module policy { 234 header "mach/policy.h" 235 export * 236 } 237 238 module port { 239 header "mach/port.h" 240 export * 241 } 242 243 module port_obj { 244 header "mach/port_obj.h" 245 export * 246 } 247 248 module processor { 249 header "mach/processor.h" 250 export * 251 } 252 253 module processor_info { 254 header "mach/processor_info.h" 255 export * 256 } 257 258 module processor_set { 259 header "mach/processor_set.h" 260 export * 261 } 262 263 module rpc { 264 header "mach/rpc.h" 265 export * 266 } 267 268 #ifdef XNU_KERNEL_PRIVATE 269 // The XNU_PLATFORM_MacOSX headers are in the public SDK for macOS, 270 // but mastered out of the public SDK for the other OSes. 271 #endif 272 #ifdef XNU_PLATFORM_MacOSX 273 module sdt { 274 header "mach/sdt.h" 275 header "sys/sdt.h" 276 export * 277 } 278 279 #endif 280 module semaphore { 281 header "mach/semaphore.h" 282 export * 283 } 284 285 #ifdef XNU_PLATFORM_MacOSX 286 module shared_region { 287 header "mach/shared_region.h" 288 export * 289 } 290 291 #endif 292 module std_types { 293 header "mach/std_types.h" 294 export * 295 } 296 297 module sync { 298 header "mach/sync.h" 299 export * 300 } 301 302 module sync_policy { 303 header "mach/sync_policy.h" 304 export * 305 } 306 #ifdef XNU_KERNEL_PRIVATE 307 // usr/include/mach/syscall_sw.h is mastered out of all SDKs. 308 #endif 309 310 module task { 311 header "mach/task.h" 312 export * 313 } 314 315 module task_info { 316 header "mach/task_info.h" 317 export * 318 } 319 320 module task_inspect { 321 header "mach/task_inspect.h" 322 export * 323 } 324 325 module task_policy { 326 header "mach/task_policy.h" 327 export * 328 } 329 330 module task_special_ports { 331 header "mach/task_special_ports.h" 332 export * 333 } 334 335 module thread_act { 336 header "mach/thread_act.h" 337 export * 338 } 339 340 module thread_info { 341 header "mach/thread_info.h" 342 export * 343 } 344 345 module thread_policy { 346 header "mach/thread_policy.h" 347 export * 348 } 349 350 module thread_special_ports { 351 header "mach/thread_special_ports.h" 352 export * 353 } 354 355 module thread_state { 356 header "mach/thread_state.h" 357 export * 358 } 359 360 module thread_status { 361 header "mach/thread_status.h" 362 export * 363 } 364 365 module thread_switch { 366 header "mach/thread_switch.h" 367 export * 368 } 369 370 module time_value { 371 header "mach/time_value.h" 372 export * 373 } 374 375 module vm_attributes { 376 header "mach/vm_attributes.h" 377 export * 378 } 379 380 module vm_behavior { 381 header "mach/vm_behavior.h" 382 export * 383 } 384 385 module vm_inherit { 386 header "mach/vm_inherit.h" 387 export * 388 } 389 390 module vm_map { 391 header "mach/vm_map.h" 392 export * 393 } 394 395 module vm_page_size { 396 header "mach/vm_page_size.h" 397 export * 398 } 399 400 module vm_param { 401 header "mach/vm_param.h" 402 export * 403 } 404 405 module vm_prot { 406 header "mach/vm_prot.h" 407 export * 408 } 409 410 module vm_purgable { 411 header "mach/vm_purgable.h" 412 export * 413 } 414 415 module vm_region { 416 header "mach/vm_region.h" 417 export * 418 } 419 420 module vm_statistics { 421 header "mach/vm_statistics.h" 422 export * 423 } 424 425 module vm_sync { 426 header "mach/vm_sync.h" 427 export * 428 } 429 430 module vm_task { 431 header "mach/vm_task.h" 432 export * 433 } 434 435 module vm_types { 436 header "mach/vm_types.h" 437 export * 438 } 439 440 #ifdef XNU_KERNEL_PRIVATE 441 // mach_eventlink.h doesn't compile because it depends on 442 // mach_eventlink_types.h which is private. 443 #endif 444 exclude header "mach/mach_eventlink.h" 445 446 #ifdef XNU_PLATFORM_MacOSX 447 exclude header "mach/shared_memory_server.h" // deprecated 448 449 #endif 450 extern module machine "mach_machine.modulemap" 451 452 extern module debug "mach_debug.modulemap" 453} 454