@zigc/lib 0.16.0-dev.3013 → 0.16.0-dev.3041

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +1 -5
  2. package/compiler/build_runner.zig +10 -5
  3. package/libc/darwin/SDKSettings.json +1 -1
  4. package/libc/darwin/libSystem.tbd +357 -427
  5. package/libc/freebsd/lib/csu/aarch64/crt.h +1 -0
  6. package/libc/freebsd/lib/csu/aarch64/crt1_c.c +33 -0
  7. package/libc/freebsd/lib/csu/aarch64/crt1_s.S +68 -0
  8. package/libc/freebsd/lib/csu/amd64/crt.h +30 -0
  9. package/libc/freebsd/lib/csu/amd64/crt1_c.c +30 -0
  10. package/libc/freebsd/lib/csu/amd64/crt1_s.S +86 -0
  11. package/libc/freebsd/lib/csu/arm/crt.h +1 -0
  12. package/libc/freebsd/lib/csu/arm/crt1_c.c +79 -0
  13. package/libc/freebsd/lib/csu/arm/crt1_s.S +77 -0
  14. package/libc/freebsd/lib/csu/common/crtbegin.c +54 -0
  15. package/libc/freebsd/lib/csu/common/crtbrand.S +55 -0
  16. package/libc/freebsd/lib/csu/common/csu_common.h +50 -0
  17. package/libc/freebsd/lib/csu/common/feature_note.S +47 -0
  18. package/libc/freebsd/lib/csu/common/ignore_init_note.S +48 -0
  19. package/libc/freebsd/lib/csu/common/notes.h +32 -0
  20. package/libc/freebsd/lib/csu/i386/crt.h +30 -0
  21. package/libc/freebsd/lib/csu/i386/crt1_c.c +30 -0
  22. package/libc/freebsd/lib/csu/i386/crt1_s.S +91 -0
  23. package/libc/freebsd/lib/csu/powerpc/crt.h +30 -0
  24. package/libc/freebsd/lib/csu/powerpc/crt1_c.c +89 -0
  25. package/libc/freebsd/lib/csu/powerpc/crtsavres.S +189 -0
  26. package/libc/freebsd/lib/csu/powerpc64/crt.h +30 -0
  27. package/libc/freebsd/lib/csu/powerpc64/crt1_c.c +83 -0
  28. package/libc/freebsd/lib/csu/riscv/crt.h +8 -0
  29. package/libc/freebsd/lib/csu/riscv/crt1_c.c +51 -0
  30. package/libc/freebsd/lib/csu/riscv/crt1_s.S +51 -0
  31. package/libc/freebsd/lib/libc/include/libc_private.h +386 -0
  32. package/libc/include/any-darwin-any/AssertMacros.h +1 -1
  33. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  34. package/libc/include/any-darwin-any/AvailabilityInternalLegacy.h +1 -1
  35. package/libc/include/any-darwin-any/AvailabilityVersions.h +16 -0
  36. package/libc/include/any-darwin-any/TargetConditionals.h +5 -21
  37. package/libc/include/any-darwin-any/_regex.h +11 -3
  38. package/libc/include/any-darwin-any/copyfile.h +1 -0
  39. package/libc/include/any-darwin-any/dirent.h +32 -2
  40. package/libc/include/any-darwin-any/dispatch/base.h +8 -0
  41. package/libc/include/any-darwin-any/dispatch/dispatch_swift_shims.h +4 -2
  42. package/libc/include/any-darwin-any/dispatch/once.h +2 -1
  43. package/libc/include/any-darwin-any/dispatch/workloop.h +2 -0
  44. package/libc/include/any-darwin-any/glob.h +7 -5
  45. package/libc/include/any-darwin-any/mach/arm/_structs.h +1 -0
  46. package/libc/include/any-darwin-any/mach/arm/exception.h +1 -0
  47. package/libc/include/any-darwin-any/mach/arm/thread_status.h +1 -1
  48. package/libc/include/any-darwin-any/mach/kern_return.h +4 -0
  49. package/libc/include/any-darwin-any/mach/mach_host.h +52 -2
  50. package/libc/include/any-darwin-any/mach/mach_traps.h +5 -1
  51. package/libc/include/any-darwin-any/mach/mach_types.h +4 -0
  52. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +9 -0
  53. package/libc/include/any-darwin-any/mach/machine.h +1 -0
  54. package/libc/include/any-darwin-any/mach/message.h +21 -0
  55. package/libc/include/any-darwin-any/mach/port.h +48 -11
  56. package/libc/include/any-darwin-any/mach/thread_act.h +79 -2
  57. package/libc/include/any-darwin-any/mach/vm_map.h +54 -2
  58. package/libc/include/any-darwin-any/mach/vm_prot.h +0 -1
  59. package/libc/include/any-darwin-any/mach/vm_region.h +8 -0
  60. package/libc/include/any-darwin-any/mach/vm_statistics.h +39 -12
  61. package/libc/include/any-darwin-any/mach/vm_types.h +6 -0
  62. package/libc/include/any-darwin-any/mach-o/loader.h +3 -3
  63. package/libc/include/any-darwin-any/mach_debug/ipc_info.h +1 -0
  64. package/libc/include/any-darwin-any/malloc/malloc.h +0 -2
  65. package/libc/include/any-darwin-any/net/if_var.h +2 -2
  66. package/libc/include/any-darwin-any/signal.h +5 -2
  67. package/libc/include/any-darwin-any/simd/math.h +2 -2
  68. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +24 -0
  69. package/libc/include/any-darwin-any/sys/attr.h +5 -1
  70. package/libc/include/any-darwin-any/sys/fcntl.h +2 -0
  71. package/libc/include/any-darwin-any/sys/mman.h +3 -4
  72. package/libc/include/any-darwin-any/sys/paths.h +12 -9
  73. package/libc/include/any-darwin-any/sys/proc.h +2 -2
  74. package/libc/include/any-darwin-any/sys/sysctl.h +24 -20
  75. package/libc/include/any-darwin-any/unistd.h +2 -2
  76. package/libc/include/any-darwin-any/xpc/activity.h +7 -7
  77. package/libc/include/any-darwin-any/xpc/connection.h +15 -15
  78. package/libc/include/any-darwin-any/xpc/listener.h +2 -2
  79. package/libc/include/any-darwin-any/xpc/peer_requirement.h +13 -13
  80. package/libc/include/any-darwin-any/xpc/session.h +6 -6
  81. package/libc/include/any-darwin-any/xpc/xpc.h +14 -14
  82. package/libc/netbsd/lib/csu/arch/aarch64/crt0.S +45 -0
  83. package/libc/netbsd/lib/csu/arch/earm/crt0.S +61 -0
  84. package/libc/netbsd/lib/csu/arch/i386/crt0.S +48 -0
  85. package/libc/netbsd/lib/csu/arch/m68k/crt0.S +47 -0
  86. package/libc/netbsd/lib/csu/arch/mips/crt0.S +59 -0
  87. package/libc/netbsd/lib/csu/arch/powerpc/crt0.S +56 -0
  88. package/libc/netbsd/lib/csu/arch/sparc/crt0.S +55 -0
  89. package/libc/netbsd/lib/csu/arch/sparc64/crt0.S +59 -0
  90. package/libc/netbsd/lib/csu/arch/x86_64/crt0.S +48 -0
  91. package/libc/netbsd/lib/csu/common/crt0-common.c +351 -0
  92. package/libc/netbsd/lib/csu/common/crtbegin.c +135 -0
  93. package/libc/netbsd/lib/csu/common/csu-common.h +38 -0
  94. package/libc/netbsd/lib/csu/common/sysident.S +89 -0
  95. package/libc/netbsd/lib/csu/common/sysident_assym.h +17 -0
  96. package/libc/openbsd/lib/csu/aarch64/md_init.h +83 -0
  97. package/libc/openbsd/lib/csu/amd64/md_init.h +80 -0
  98. package/libc/openbsd/lib/csu/arm/md_init.h +112 -0
  99. package/libc/openbsd/lib/csu/crt0.c +76 -0
  100. package/libc/openbsd/lib/csu/crtbegin.c +61 -0
  101. package/libc/openbsd/lib/csu/extern.h +54 -0
  102. package/libc/openbsd/lib/csu/i386/md_init.h +83 -0
  103. package/libc/openbsd/lib/csu/mips64/md_init.h +127 -0
  104. package/libc/openbsd/lib/csu/os-note-elf.h +19 -0
  105. package/libc/openbsd/lib/csu/powerpc/md_init.h +80 -0
  106. package/libc/openbsd/lib/csu/powerpc64/md_init.h +75 -0
  107. package/libc/openbsd/lib/csu/riscv64/md_init.h +74 -0
  108. package/libc/openbsd/lib/csu/sparc64/md_init.h +85 -0
  109. package/package.json +2 -2
  110. package/std/Build/Step/Run.zig +4 -4
  111. package/std/Io/Dir.zig +122 -7
  112. package/std/Io/File.zig +6 -118
  113. package/std/Io/Kqueue.zig +1 -0
  114. package/std/Io/Threaded.zig +50 -46
  115. package/std/Io/Uring.zig +1 -0
  116. package/std/Io/net.zig +4 -0
  117. package/std/Io.zig +3 -3
  118. package/std/Target.zig +1 -1
  119. package/std/c.zig +2 -1
  120. package/std/http/Client.zig +3 -2
  121. package/std/tar.zig +76 -36
@@ -52,7 +52,7 @@ typedef function_table_entry *function_table_t;
52
52
  #endif /* AUTOTEST */
53
53
 
54
54
  #ifndef thread_act_MSG_COUNT
55
- #define thread_act_MSG_COUNT 32
55
+ #define thread_act_MSG_COUNT 34
56
56
  #endif /* thread_act_MSG_COUNT */
57
57
 
58
58
  #include <Availability.h>
@@ -509,6 +509,31 @@ kern_return_t thread_adopt_exception_handler
509
509
  thread_state_flavor_t flavor_mask
510
510
  );
511
511
 
512
+ /* Routine thread_suspend2 */
513
+ #ifdef mig_external
514
+ mig_external
515
+ #else
516
+ extern
517
+ #endif /* mig_external */
518
+ __WATCHOS_PROHIBITED
519
+ kern_return_t thread_suspend2
520
+ (
521
+ thread_read_t target_act,
522
+ mach_port_t *suspend_token
523
+ );
524
+
525
+ /* Routine thread_resume2 */
526
+ #ifdef mig_external
527
+ mig_external
528
+ #else
529
+ extern
530
+ #endif /* mig_external */
531
+ __WATCHOS_PROHIBITED
532
+ kern_return_t thread_resume2
533
+ (
534
+ mach_port_t suspend_token
535
+ );
536
+
512
537
  __END_DECLS
513
538
 
514
539
  /********************** Caution **************************/
@@ -939,6 +964,26 @@ __END_DECLS
939
964
  #ifdef __MigPackStructs
940
965
  #pragma pack(pop)
941
966
  #endif
967
+
968
+ #ifdef __MigPackStructs
969
+ #pragma pack(push, 4)
970
+ #endif
971
+ typedef struct {
972
+ mach_msg_header_t Head;
973
+ } __Request__thread_suspend2_t __attribute__((unused));
974
+ #ifdef __MigPackStructs
975
+ #pragma pack(pop)
976
+ #endif
977
+
978
+ #ifdef __MigPackStructs
979
+ #pragma pack(push, 4)
980
+ #endif
981
+ typedef struct {
982
+ mach_msg_header_t Head;
983
+ } __Request__thread_resume2_t __attribute__((unused));
984
+ #ifdef __MigPackStructs
985
+ #pragma pack(pop)
986
+ #endif
942
987
  #endif /* !__Request__thread_act_subsystem__defined */
943
988
 
944
989
  /* union of all requests */
@@ -977,6 +1022,8 @@ union __RequestUnion__thread_act_subsystem {
977
1022
  __Request__thread_convert_thread_state_t Request_thread_convert_thread_state;
978
1023
  __Request__thread_get_exception_ports_info_t Request_thread_get_exception_ports_info;
979
1024
  __Request__thread_adopt_exception_handler_t Request_thread_adopt_exception_handler;
1025
+ __Request__thread_suspend2_t Request_thread_suspend2;
1026
+ __Request__thread_resume2_t Request_thread_resume2;
980
1027
  };
981
1028
  #endif /* !__RequestUnion__thread_act_subsystem__defined */
982
1029
  /* typedefs for all replies */
@@ -1393,6 +1440,32 @@ union __RequestUnion__thread_act_subsystem {
1393
1440
  #ifdef __MigPackStructs
1394
1441
  #pragma pack(pop)
1395
1442
  #endif
1443
+
1444
+ #ifdef __MigPackStructs
1445
+ #pragma pack(push, 4)
1446
+ #endif
1447
+ typedef struct {
1448
+ mach_msg_header_t Head;
1449
+ /* start of the kernel processed data */
1450
+ mach_msg_body_t msgh_body;
1451
+ mach_msg_port_descriptor_t suspend_token;
1452
+ /* end of the kernel processed data */
1453
+ } __Reply__thread_suspend2_t __attribute__((unused));
1454
+ #ifdef __MigPackStructs
1455
+ #pragma pack(pop)
1456
+ #endif
1457
+
1458
+ #ifdef __MigPackStructs
1459
+ #pragma pack(push, 4)
1460
+ #endif
1461
+ typedef struct {
1462
+ mach_msg_header_t Head;
1463
+ NDR_record_t NDR;
1464
+ kern_return_t RetCode;
1465
+ } __Reply__thread_resume2_t __attribute__((unused));
1466
+ #ifdef __MigPackStructs
1467
+ #pragma pack(pop)
1468
+ #endif
1396
1469
  #endif /* !__Reply__thread_act_subsystem__defined */
1397
1470
 
1398
1471
  /* union of all replies */
@@ -1431,6 +1504,8 @@ union __ReplyUnion__thread_act_subsystem {
1431
1504
  __Reply__thread_convert_thread_state_t Reply_thread_convert_thread_state;
1432
1505
  __Reply__thread_get_exception_ports_info_t Reply_thread_get_exception_ports_info;
1433
1506
  __Reply__thread_adopt_exception_handler_t Reply_thread_adopt_exception_handler;
1507
+ __Reply__thread_suspend2_t Reply_thread_suspend2;
1508
+ __Reply__thread_resume2_t Reply_thread_resume2;
1434
1509
  };
1435
1510
  #endif /* !__RequestUnion__thread_act_subsystem__defined */
1436
1511
 
@@ -1466,7 +1541,9 @@ union __ReplyUnion__thread_act_subsystem {
1466
1541
  { "thread_swap_mach_voucher", 3627 },\
1467
1542
  { "thread_convert_thread_state", 3628 },\
1468
1543
  { "thread_get_exception_ports_info", 3630 },\
1469
- { "thread_adopt_exception_handler", 3631 }
1544
+ { "thread_adopt_exception_handler", 3631 },\
1545
+ { "thread_suspend2", 3632 },\
1546
+ { "thread_resume2", 3633 }
1470
1547
  #endif
1471
1548
 
1472
1549
  #ifdef __AfterMigUserHeader
@@ -52,7 +52,7 @@ typedef function_table_entry *function_table_t;
52
52
  #endif /* AUTOTEST */
53
53
 
54
54
  #ifndef vm_map_MSG_COUNT
55
- #define vm_map_MSG_COUNT 33
55
+ #define vm_map_MSG_COUNT 34
56
56
  #endif /* vm_map_MSG_COUNT */
57
57
 
58
58
  #include <Availability.h>
@@ -517,6 +517,24 @@ kern_return_t vm_remap_new
517
517
  vm_inherit_t inheritance
518
518
  );
519
519
 
520
+ /* Routine vm_reallocate */
521
+ #ifdef mig_external
522
+ mig_external
523
+ #else
524
+ extern
525
+ #endif /* mig_external */
526
+ kern_return_t vm_reallocate
527
+ (
528
+ vm_map_t target_task,
529
+ vm_address_t src,
530
+ vm_size_t src_size,
531
+ vm_address_t *dst,
532
+ vm_size_t dst_size,
533
+ vm_offset_t align_mask,
534
+ int options,
535
+ int flags
536
+ );
537
+
520
538
  __END_DECLS
521
539
 
522
540
  /********************** Caution **************************/
@@ -972,6 +990,24 @@ __END_DECLS
972
990
  #ifdef __MigPackStructs
973
991
  #pragma pack(pop)
974
992
  #endif
993
+
994
+ #ifdef __MigPackStructs
995
+ #pragma pack(push, 4)
996
+ #endif
997
+ typedef struct {
998
+ mach_msg_header_t Head;
999
+ NDR_record_t NDR;
1000
+ vm_address_t src;
1001
+ vm_size_t src_size;
1002
+ vm_address_t dst;
1003
+ vm_size_t dst_size;
1004
+ vm_offset_t align_mask;
1005
+ int options;
1006
+ int flags;
1007
+ } __Request__vm_reallocate_t __attribute__((unused));
1008
+ #ifdef __MigPackStructs
1009
+ #pragma pack(pop)
1010
+ #endif
975
1011
  #endif /* !__Request__vm_map_subsystem__defined */
976
1012
 
977
1013
  /* union of all requests */
@@ -1008,6 +1044,7 @@ union __RequestUnion__vm_map_subsystem {
1008
1044
  __Request__vm_purgable_control_t Request_vm_purgable_control;
1009
1045
  __Request__vm_map_exec_lockdown_t Request_vm_map_exec_lockdown;
1010
1046
  __Request__vm_remap_new_t Request_vm_remap_new;
1047
+ __Request__vm_reallocate_t Request_vm_reallocate;
1011
1048
  };
1012
1049
  #endif /* !__RequestUnion__vm_map_subsystem__defined */
1013
1050
  /* typedefs for all replies */
@@ -1427,6 +1464,19 @@ union __RequestUnion__vm_map_subsystem {
1427
1464
  #ifdef __MigPackStructs
1428
1465
  #pragma pack(pop)
1429
1466
  #endif
1467
+
1468
+ #ifdef __MigPackStructs
1469
+ #pragma pack(push, 4)
1470
+ #endif
1471
+ typedef struct {
1472
+ mach_msg_header_t Head;
1473
+ NDR_record_t NDR;
1474
+ kern_return_t RetCode;
1475
+ vm_address_t dst;
1476
+ } __Reply__vm_reallocate_t __attribute__((unused));
1477
+ #ifdef __MigPackStructs
1478
+ #pragma pack(pop)
1479
+ #endif
1430
1480
  #endif /* !__Reply__vm_map_subsystem__defined */
1431
1481
 
1432
1482
  /* union of all replies */
@@ -1463,6 +1513,7 @@ union __ReplyUnion__vm_map_subsystem {
1463
1513
  __Reply__vm_purgable_control_t Reply_vm_purgable_control;
1464
1514
  __Reply__vm_map_exec_lockdown_t Reply_vm_map_exec_lockdown;
1465
1515
  __Reply__vm_remap_new_t Reply_vm_remap_new;
1516
+ __Reply__vm_reallocate_t Reply_vm_reallocate;
1466
1517
  };
1467
1518
  #endif /* !__RequestUnion__vm_map_subsystem__defined */
1468
1519
 
@@ -1496,7 +1547,8 @@ union __ReplyUnion__vm_map_subsystem {
1496
1547
  { "vm_map_64", 3826 },\
1497
1548
  { "vm_purgable_control", 3830 },\
1498
1549
  { "vm_map_exec_lockdown", 3831 },\
1499
- { "vm_remap_new", 3832 }
1550
+ { "vm_remap_new", 3832 },\
1551
+ { "vm_reallocate", 3833 }
1500
1552
  #endif
1501
1553
 
1502
1554
  #ifdef __AfterMigUserHeader
@@ -154,7 +154,6 @@ typedef int vm_prot_t;
154
154
  #define VM_PROT_STRIP_READ ((vm_prot_t) 0x80)
155
155
  #define VM_PROT_EXECUTE_ONLY (VM_PROT_EXECUTE|VM_PROT_STRIP_READ)
156
156
 
157
-
158
157
  /*
159
158
  * Another invalid protection value to support pager TPRO protection.
160
159
  * VM_PROT_TPRO is a special marker that tells the a pager to
@@ -50,6 +50,7 @@
50
50
 
51
51
  #include <sys/cdefs.h>
52
52
 
53
+
53
54
  #pragma pack(push, 4)
54
55
 
55
56
  // LP64todo: all the current tools are 32bit, obviously never worked for 64b
@@ -118,6 +119,13 @@ typedef struct vm_region_basic_info vm_region_basic_info_data_t;
118
119
  #define VM_REGION_BASIC_INFO_COUNT ((mach_msg_type_number_t) \
119
120
  (sizeof(vm_region_basic_info_data_t)/sizeof(int)))
120
121
 
122
+ /*
123
+ * Clients should move away from using these codes for anything other than debugging
124
+ * or best-effort accounting.
125
+ * Each value is only loosely defined, and even within those definitions it is not
126
+ * always possible for the VM to return the correct value. This behavior is also
127
+ * subject to change as VM internals evolve.
128
+ */
121
129
  #define SM_COW 1
122
130
  #define SM_PRIVATE 2
123
131
  #define SM_EMPTY 3
@@ -226,14 +226,16 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
226
226
 
227
227
  /* included for the vm_map_page_query call */
228
228
 
229
- #define VM_PAGE_QUERY_PAGE_PRESENT 0x1
230
- #define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x2
231
- #define VM_PAGE_QUERY_PAGE_REF 0x4
232
- #define VM_PAGE_QUERY_PAGE_DIRTY 0x8
233
- #define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x10
234
- #define VM_PAGE_QUERY_PAGE_COPIED 0x20
235
- #define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x40
236
- #define VM_PAGE_QUERY_PAGE_EXTERNAL 0x80
229
+ typedef int32_t vm_page_disposition_t;
230
+
231
+ #define VM_PAGE_QUERY_PAGE_PRESENT 0x001
232
+ #define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x002
233
+ #define VM_PAGE_QUERY_PAGE_REF 0x004
234
+ #define VM_PAGE_QUERY_PAGE_DIRTY 0x008
235
+ #define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x010
236
+ #define VM_PAGE_QUERY_PAGE_COPIED 0x020
237
+ #define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x040
238
+ #define VM_PAGE_QUERY_PAGE_EXTERNAL 0x080
237
239
  #define VM_PAGE_QUERY_PAGE_CS_VALIDATED 0x100
238
240
  #define VM_PAGE_QUERY_PAGE_CS_TAINTED 0x200
239
241
  #define VM_PAGE_QUERY_PAGE_CS_NX 0x400
@@ -241,6 +243,20 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
241
243
 
242
244
  #pragma mark User Flags
243
245
 
246
+ /*
247
+ * Options for vm_reallocate:
248
+ *
249
+ * VM_REALLOCATE_DEALLOCATE_SOURCE
250
+ * When the source is relocated, the VA it previously occupied will be unmapped.
251
+ *
252
+ * VM_REALLOCATE_ZERO_FILL_SOURCE
253
+ * When the source is relocated, the VA it previously occupied will be mapped
254
+ * by new entries with equivalent protections and inheritance, equivalent to a
255
+ * fresh zero-filled allocation from vm_allocate().
256
+ */
257
+ #define VM_REALLOCATE_DEALLOCATE_SOURCE 0x0
258
+ #define VM_REALLOCATE_ZERO_FILL_SOURCE 0x1
259
+
244
260
  /*
245
261
  * VM allocation flags:
246
262
  *
@@ -271,6 +287,10 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
271
287
  * Pages brought in to this VM region are placed on the speculative
272
288
  * queue instead of the active queue. In other words, they are not
273
289
  * cached so that they will be stolen first if memory runs low.
290
+ *
291
+ * VM_FLAGS_GUARD_OBJECT_OPTOUT
292
+ * Opt out this allocation from the guard object allocation policy.
293
+ * And memory will be allocated in typical first-fit allocation order.
274
294
  */
275
295
 
276
296
  #define VM_FLAGS_FIXED 0x00000000
@@ -284,7 +304,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
284
304
  #define VM_FLAGS_PERMANENT 0x00000080
285
305
  #define VM_FLAGS_TPRO 0x00001000
286
306
  #define VM_FLAGS_MTE 0x00002000
287
- #define VM_FLAGS_OVERWRITE 0x00004000 /* delete any existing mappings first */
307
+ #define VM_FLAGS_OVERWRITE 0x00004000 /* delete any existing mappings first */
288
308
  /*
289
309
  * VM_FLAGS_SUPERPAGE_MASK
290
310
  * 3 bits that specify whether large pages should be used instead of
@@ -292,6 +312,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
292
312
  */
293
313
  #define VM_FLAGS_SUPERPAGE_MASK 0x00070000 /* bits 0x10000, 0x20000, 0x40000 */
294
314
  #define VM_FLAGS_RETURN_DATA_ADDR 0x00100000 /* Return address of target data, rather than base of page */
315
+ #define VM_FLAGS_GUARD_OBJECT_OPTOUT 0x00400000
295
316
  #define VM_FLAGS_RETURN_4K_DATA_ADDR 0x00800000 /* Return 4K aligned address of target data */
296
317
  #define VM_FLAGS_ALIAS_MASK 0xFF000000
297
318
  #define VM_GET_FLAGS_ALIAS(flags, alias) \
@@ -300,7 +321,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
300
321
  (flags) = (((flags) & ~VM_FLAGS_ALIAS_MASK) | \
301
322
  (((alias) & ~VM_FLAGS_ALIAS_MASK) << 24))
302
323
 
303
- #define VM_FLAGS_HW (VM_FLAGS_TPRO | VM_FLAGS_MTE)
324
+ #define VM_FLAGS_HW (VM_FLAGS_TPRO | \
325
+ VM_FLAGS_MTE)
304
326
 
305
327
  /* These are the flags that we accept from user-space */
306
328
  #define VM_FLAGS_USER_ALLOCATE (VM_FLAGS_FIXED | \
@@ -311,6 +333,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
311
333
  VM_FLAGS_NO_CACHE | \
312
334
  VM_FLAGS_PERMANENT | \
313
335
  VM_FLAGS_OVERWRITE | \
336
+ VM_FLAGS_GUARD_OBJECT_OPTOUT | \
314
337
  VM_FLAGS_SUPERPAGE_MASK | \
315
338
  VM_FLAGS_HW | \
316
339
  VM_FLAGS_ALIAS_MASK)
@@ -350,6 +373,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
350
373
  kGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE = 10,
351
374
  kGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE = 11,
352
375
  kGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION = 12,
376
+ kGUARD_EXC_LARGE_ALLOCATION_TELEMETRY = 13,
353
377
  /*
354
378
  * rdar://151450801 (Remove spurious kGUARD_EXC_SEC_ACCESS_FAULT and kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT once CrashReporter is aligned)
355
379
  */
@@ -362,7 +386,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
362
386
  /* Fault-related exceptions. */
363
387
  kGUARD_EXC_MTE_SYNC_FAULT = 200,
364
388
  kGUARD_EXC_MTE_ASYNC_USER_FAULT = 201,
365
- kGUARD_EXC_MTE_ASYNC_KERN_FAULT = 202
389
+ kGUARD_EXC_MTE_ASYNC_KERN_FAULT = 202,
390
+ kGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT = 203,
391
+ kGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT = 204,
366
392
  });
367
393
 
368
394
  #define kGUARD_EXC_MTE_SOFT_MODE 0x100000
@@ -423,6 +449,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
423
449
 
424
450
  #define VM_MEMORY_MACH_MSG 20
425
451
  #define VM_MEMORY_IOKIT 21
452
+ #define VM_MEMORY_VM_RECLAIM 22
453
+
426
454
  #define VM_MEMORY_STACK 30
427
455
  #define VM_MEMORY_GUARD 31
428
456
  #define VM_MEMORY_SHARED_PMAP 32
@@ -636,7 +664,6 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
636
664
  #define VM_MAKE_TAG(tag) ((tag) << 24)
637
665
 
638
666
 
639
-
640
667
  __END_DECLS
641
668
 
642
669
  #endif /* _MACH_VM_STATISTICS_H_ */
@@ -34,12 +34,18 @@
34
34
 
35
35
  #include <mach/port.h>
36
36
  #include <mach/machine/vm_types.h>
37
+ #include <mach/error.h>
37
38
 
38
39
  #include <stdint.h>
39
40
  #include <sys/cdefs.h>
40
41
 
41
42
  __BEGIN_DECLS
42
43
 
44
+ /* (err_vm | err_sub(0)) reserved: vm_sanitize */
45
+ #define err_vm_reclaim(e) (err_vm | err_sub(1) | e)
46
+ /* (err_vm | err_sub(2)) reserved: vm_map_lock */
47
+
48
+
43
49
  typedef vm_offset_t pointer_t __kernel_ptr_semantics;
44
50
  typedef vm_offset_t vm_address_t __kernel_ptr_semantics;
45
51
 
@@ -346,7 +346,7 @@ struct load_command {
346
346
  #define LC_FUNCTION_VARIANTS 0x37 /* used with linkedit_data_command */
347
347
  #define LC_FUNCTION_VARIANT_FIXUPS 0x38 /* used with linkedit_data_command */
348
348
  #define LC_TARGET_TRIPLE 0x39 /* target triple used to compile */
349
-
349
+ #define LC_LAZY_LOAD_DYLIB_INFO 0x3A /* used with linkedit_data_command */
350
350
 
351
351
 
352
352
  /*
@@ -1250,8 +1250,8 @@ struct linkedit_data_command {
1250
1250
  LC_DYLIB_CODE_SIGN_DRS, LC_ATOM_INFO,
1251
1251
  LC_LINKER_OPTIMIZATION_HINT,
1252
1252
  LC_DYLD_EXPORTS_TRIE,
1253
- LC_FUNCTION_VARIANTS, LC_FUNCTION_VARIANT_FIXUPS, or
1254
- LC_DYLD_CHAINED_FIXUPS. */
1253
+ LC_FUNCTION_VARIANTS, LC_FUNCTION_VARIANT_FIXUPS,
1254
+ LC_DYLD_CHAINED_FIXUPS, or LC_LAZY_LOAD_DYLIB_INFO */
1255
1255
  uint32_t cmdsize; /* sizeof(struct linkedit_data_command) */
1256
1256
  uint32_t dataoff; /* file offset of data in __LINKEDIT segment */
1257
1257
  uint32_t datasize; /* file size of data in __LINKEDIT segment */
@@ -140,6 +140,7 @@ __enum_decl(ipc_info_object_type_t, natural_t, {
140
140
  IPC_OTYPE_TASK_FATAL = 51,
141
141
  IPC_OTYPE_KCDATA = 52,
142
142
  IPC_OTYPE_EXCLAVES_RESOURCE = 53,
143
+ IPC_OTYPE_THREAD_RESUME = 54,
143
144
 
144
145
  /* catchall */
145
146
  IPC_OTYPE_UNKNOWN = ~0u,
@@ -86,8 +86,6 @@ __BEGIN_DECLS
86
86
  * @constant MALLOC_ZONE_MALLOC_OPTION_CLEAR
87
87
  * Zero out the allocated memory, similar to calloc().
88
88
  *
89
- */
90
- /*!
91
89
  * @constant MALLOC_ZONE_MALLOC_OPTION_CANONICAL_TAG
92
90
  * Under MTE, use a tag of zero (canonical) instead of a random value.
93
91
  */
@@ -219,11 +219,11 @@ struct if_data64 {
219
219
 
220
220
  #pragma pack()
221
221
 
222
- #if defined(DRIVERKIT) || defined(PRIVATE) || defined(DRIVERKIT_PRIVATE)
222
+ #if defined(DRIVERKIT) || (defined(PRIVATE) && !defined(MODULES_SUPPORTED)) || defined(DRIVERKIT_PRIVATE)
223
223
  #include <net/if_var_status.h>
224
224
  #else
225
225
  struct ifnet_interface_advisory;
226
- #endif /* defined(DRIVERKIT) || defined(PRIVATE) || defined(DRIVERKIT_PRIVATE) */
226
+ #endif /* defined(DRIVERKIT) || (defined(PRIVATE) && !defined(MODULES_SUPPORTED)) || defined(DRIVERKIT_PRIVATE) */
227
227
 
228
228
 
229
229
  /*
@@ -113,10 +113,13 @@ int sigvec(int, struct sigvec *, struct sigvec *);
113
113
  __END_DECLS
114
114
 
115
115
  /* List definitions after function declarations, or Reiser cpp gets upset. */
116
- __header_always_inline int
116
+ __header_always_inline unsigned int
117
117
  __sigbits(int __signo)
118
118
  {
119
- return __signo > __DARWIN_NSIG ? 0 : (1 << (__signo - 1));
119
+
120
+ if (__signo == 0 || __signo > __DARWIN_NSIG)
121
+ return (0);
122
+ return (1U << (__signo - 1));
120
123
  }
121
124
 
122
125
  #define sigaddset(set, signo) (*(set) |= __sigbits(signo), 0)
@@ -6439,7 +6439,7 @@ static inline SIMD_CFUNC simd_double4 __tg_fdim(simd_double4 x, simd_double4 y)
6439
6439
  static inline SIMD_CFUNC simd_double8 __tg_fdim(simd_double8 x, simd_double8 y) { return simd_bitselect(x-y, 0, x<y); }
6440
6440
 
6441
6441
  static inline SIMD_CFUNC simd_float2 __tg_fma(simd_float2 x, simd_float2 y, simd_float2 z) {
6442
- #if defined __arm64__ || defined __aarch64__ || defined __ARM_VFPV4__
6442
+ #if defined __arm64__ || defined __aarch64__ || defined __ARM_NEON
6443
6443
  return vfma_f32(z, x, y);
6444
6444
  #else
6445
6445
  return simd_make_float2(__tg_fma(simd_make_float4_undef(x), simd_make_float4_undef(y), simd_make_float4_undef(z)));
@@ -6454,7 +6454,7 @@ static inline SIMD_CFUNC simd_float3 __tg_fma(simd_float3 x, simd_float3 y, simd
6454
6454
  extern simd_float4 _simd_fma_f4(simd_float4 x, simd_float4 y, simd_float4 z);
6455
6455
  #endif
6456
6456
  static inline SIMD_CFUNC simd_float4 __tg_fma(simd_float4 x, simd_float4 y, simd_float4 z) {
6457
- #if defined __arm64__ || defined __aarch64__ || defined __ARM_VFPV4__
6457
+ #if defined __arm64__ || defined __aarch64__ || defined __ARM_NEON
6458
6458
  return vfmaq_f32(z, x, y);
6459
6459
  #elif (defined __i386__ || defined __x86_64__) && defined __FMA__
6460
6460
  return _mm_fmadd_ps(x, y, z);
@@ -575,6 +575,18 @@
575
575
  #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_2(x)
576
576
  #endif
577
577
 
578
+ #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260300
579
+ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_3(x) x
580
+ #else
581
+ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_3(x)
582
+ #endif
583
+
584
+ #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260400
585
+ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_4(x) x
586
+ #else
587
+ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_4(x)
588
+ #endif
589
+
578
590
  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000
579
591
  #define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x
580
592
  #else
@@ -1025,3 +1037,15 @@
1025
1037
  #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_2(x)
1026
1038
  #endif
1027
1039
 
1040
+ #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260300
1041
+ #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_3(x) x
1042
+ #else
1043
+ #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_3(x)
1044
+ #endif
1045
+
1046
+ #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260400
1047
+ #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_4(x) x
1048
+ #else
1049
+ #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_4(x)
1050
+ #endif
1051
+
@@ -54,6 +54,8 @@
54
54
  #define FSOPT_RETURN_REALDEV 0x00000200
55
55
  #define FSOPT_NOFOLLOW_ANY 0x00000800
56
56
  #define FSOPT_RESOLVE_BENEATH 0x00001000
57
+ #define FSOPT_UNIQUE 0x00002000
58
+
57
59
 
58
60
  /* we currently aren't anywhere near this amount for a valid
59
61
  * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2
@@ -599,9 +601,11 @@ typedef struct vol_attributes_attr {
599
601
  #define SRCHFS_SKIPINVISIBLE 0x00000020
600
602
  #define SRCHFS_SKIPPACKAGES 0x00000040
601
603
  #define SRCHFS_SKIPINAPPROPRIATE 0x00000080
604
+ #define SRCHFS_NOFOLLOW 0x00000100
605
+ #define SRCHFS_NOFOLLOW_ANY 0x00000200
602
606
 
603
607
  #define SRCHFS_NEGATEPARAMS 0x80000000
604
- #define SRCHFS_VALIDOPTIONSMASK 0x800000FF
608
+ #define SRCHFS_VALIDOPTIONSMASK 0x800003FF
605
609
 
606
610
  struct fssearchblock {
607
611
  struct attrlist *returnattrs;
@@ -340,6 +340,7 @@
340
340
 
341
341
  #define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */
342
342
 
343
+
343
344
  // FS-specific fcntl()'s numbers begin at 0x00010000 and go up
344
345
  #define FCNTL_FS_SPECIFIC_BASE 0x00010000
345
346
 
@@ -532,6 +533,7 @@ typedef struct fattributiontag {
532
533
  #define F_DELETE_TAG 0x00000002
533
534
  #define F_QUERY_TAG 0x00000004
534
535
 
536
+
535
537
  /*
536
538
  * For F_LOG2PHYS this information is passed back to user
537
539
  * Currently only devoffset is returned - that is the VOP_BMAP
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2000-2020 Apple Computer, Inc. All rights reserved.
2
+ * Copyright (c) 2000-2025 Apple Computer, Inc. All rights reserved.
3
3
  *
4
4
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5
5
  *
@@ -153,7 +153,6 @@
153
153
  #define MAP_32BIT 0x8000 /* Return virtual addresses <4G only */
154
154
  #endif /* defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500 */
155
155
 
156
-
157
156
  /*
158
157
  * Flags used to support translated processes.
159
158
  */
@@ -236,7 +235,6 @@
236
235
 
237
236
 
238
237
 
239
-
240
238
  __BEGIN_DECLS
241
239
  /* [ML] */
242
240
  int mlockall(int);
@@ -268,7 +266,8 @@ int mincore(const void *, size_t, char *);
268
266
  int minherit(void *, size_t, int);
269
267
  #endif
270
268
 
271
-
272
269
  __END_DECLS
273
270
 
271
+
272
+
274
273
  #endif /* !_SYS_MMAN_H_ */
@@ -41,15 +41,18 @@
41
41
  #define _PATH_RSRCFORKSPEC "/..namedfork/rsrc"
42
42
 
43
43
  /* Prefix Path Namespace */
44
- #define RESOLVE_NOFOLLOW_ANY 0x00000001 /* no symlinks allowed in path */
45
- #define RESOLVE_NODOTDOT 0x00000002 /* prevent '..' path traversal */
46
- #define RESOLVE_LOCAL 0x00000004 /* prevent a path lookup into a network filesystem */
47
- #define RESOLVE_NODEVFS 0x00000008 /* prevent a path lookup into `devfs` filesystem */
48
- #define RESOLVE_IMMOVABLE 0x00000010 /* prevent a path lookup into a removable filesystem */
49
- #define RESOLVE_UNIQUE 0x00000020 /* prevent a path lookup on a vnode with multiple links */
50
- #define RESOLVE_NOXATTRS 0x00000040 /* prevent a path lookup on named streams */
51
-
52
- #define RESOLVE_VALIDMASK 0x0000007F
44
+ #define RESOLVE_NOFOLLOW_ANY 0x00000001 /* no symlinks allowed in path */
45
+ #define RESOLVE_NODOTDOT 0x00000002 /* prevent '..' path traversal */
46
+ #define RESOLVE_LOCAL 0x00000004 /* prevent a path lookup into a network filesystem */
47
+ #define RESOLVE_NODEVFS 0x00000008 /* prevent a path lookup into `devfs` filesystem */
48
+ #define RESOLVE_IMMOVABLE 0x00000010 /* prevent a path lookup into a removable filesystem */
49
+ #define RESOLVE_UNIQUE 0x00000020 /* prevent a path lookup on a vnode with multiple links */
50
+ #define RESOLVE_NOXATTRS 0x00000040 /* prevent a path lookup on named streams */
51
+ #define RESOLVE_NOQUARANTINE 0x00000080 /* prevent operating on a quarantined file */
52
+ #define RESOLVE_NOUNION 0x00000100 /* prevent a path lookup on filesystem with MNT_UNION from traversing to covered filesystem */
53
+
54
+ #define RESOLVE_VALIDMASK 0x000001FF
55
+
53
56
 
54
57
  #endif /* __APPLE_API_PRIVATE */
55
58
  #endif /* !_SYS_PATHS_H_ */
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2000-2018 Apple Inc. All rights reserved.
2
+ * Copyright (c) 2000-2025 Apple Inc. All rights reserved.
3
3
  *
4
4
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5
5
  *
@@ -79,7 +79,6 @@
79
79
  #include <sys/time.h>
80
80
  #include <mach/boolean.h>
81
81
 
82
-
83
82
  #include <Availability.h>
84
83
 
85
84
 
@@ -217,6 +216,7 @@ struct extern_proc {
217
216
  #define P_DIRTY_DEFER_ALWAYS 0x00000400 /* defer going to idle-exit after every dirty->clean transition.
218
217
  * For legacy jetsam policy only. This is the default with the other policies.*/
219
218
  #define P_DIRTY_SHUTDOWN_ON_CLEAN 0x00000800 /* process should shutdown on going clean */
219
+ #define P_DIRTY_IM_NEW_HERE 0x00001000 /* process just enrolled in dirty tracking and has not yet marked itself dirty for the first time */
220
220
 
221
221
  #define P_DIRTY_IS_DIRTY (P_DIRTY | P_DIRTY_SHUTDOWN)
222
222
  #define P_DIRTY_IDLE_EXIT_ENABLED (P_DIRTY_TRACK|P_DIRTY_ALLOW_IDLE_EXIT)