authorgravatar for mail@linusgroh.deLinus Groh <mail@linusgroh.de> 2025-09-16 21:15:13+01:00
committergravatar for mail@linusgroh.deLinus Groh <mail@linusgroh.de> 2025-09-16 21:15:13+01:00
log93218eacaada52eb028e5569b48b47ac38b1df70
tree2c13c0f86dc0c12be62877ce853fac1f8170fcc6
parent70715ced9545bfbc537a3dc48cf64ffe9bf99ea5

libc: Update macOS headers to SDK 26.0


65 files changed, 2260 insertions(+), 847 deletions(-)

lib/libc/darwin/SDKSettings.json+1-1
...@@ -1 +1 @@...@@ -1 +1 @@
1{"MinimalDisplayName":"15.5"}1{"MinimalDisplayName":"26.0"}
lib/libc/darwin/libSystem.tbd+511-405
...@@ -3,7 +3,7 @@ tbd-version: 4...@@ -3,7 +3,7 @@ tbd-version: 4
3targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
4 arm64e-macos, arm64e-maccatalyst ]4 arm64e-macos, arm64e-maccatalyst ]
5install-name: '/usr/lib/libSystem.B.dylib'5install-name: '/usr/lib/libSystem.B.dylib'
6current-version: 13516current-version: 1356
7reexported-libraries:7reexported-libraries:
8 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 8 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
9 arm64e-macos, arm64e-maccatalyst ]9 arm64e-macos, arm64e-maccatalyst ]
...@@ -25,7 +25,8 @@ reexported-libraries:...@@ -25,7 +25,8 @@ reexported-libraries:
25 '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib', 25 '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib',
26 '/usr/lib/system/libsystem_sanitizers.dylib', '/usr/lib/system/libsystem_secinit.dylib', 26 '/usr/lib/system/libsystem_sanitizers.dylib', '/usr/lib/system/libsystem_secinit.dylib',
27 '/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib', 27 '/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib',
28 '/usr/lib/system/libunwind.dylib', '/usr/lib/system/libxpc.dylib' ]28 '/usr/lib/system/libsystem_trial.dylib', '/usr/lib/system/libunwind.dylib',
29 '/usr/lib/system/libxpc.dylib' ]
29exports:30exports:
30 - targets: [ x86_64-macos, x86_64-maccatalyst ]31 - targets: [ x86_64-macos, x86_64-maccatalyst ]
31 symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist', 32 symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist',
...@@ -399,7 +400,7 @@ tbd-version: 4...@@ -399,7 +400,7 @@ tbd-version: 4
399targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 400targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
400 arm64e-macos, arm64e-maccatalyst ]401 arm64e-macos, arm64e-maccatalyst ]
401install-name: '/usr/lib/system/libcorecrypto.dylib'402install-name: '/usr/lib/system/libcorecrypto.dylib'
402current-version: 1736.120.5403current-version: 1922.0.25
403parent-umbrella:404parent-umbrella:
404 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 405 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
405 arm64e-macos, arm64e-maccatalyst ]406 arm64e-macos, arm64e-maccatalyst ]
...@@ -450,18 +451,18 @@ exports:...@@ -450,18 +451,18 @@ exports:
450 _cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad, 451 _cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad,
451 _ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt, 452 _ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt,
452 _ccccm_encrypt, _ccccm_finalize, _ccccm_finalize_and_generate_tag, 453 _ccccm_encrypt, _ccccm_finalize, _ccccm_finalize_and_generate_tag,
453 _ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_one_shot, 454 _ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_nonce_size,
454 _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, _ccccm_reset, 455 _ccccm_one_shot, _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt,
455 _ccccm_set_iv, _ccccm_update, _cccfb8_block_size, _cccfb8_context_size, 456 _ccccm_reset, _ccccm_set_iv, _ccccm_update, _cccfb8_block_size,
456 _cccfb8_init, _cccfb8_one_shot, _cccfb8_update, _cccfb_block_size, 457 _cccfb8_context_size, _cccfb8_init, _cccfb8_one_shot, _cccfb8_update,
457 _cccfb_context_size, _cccfb_init, _cccfb_one_shot, _cccfb_update, 458 _cccfb_block_size, _cccfb_context_size, _cccfb_init, _cccfb_one_shot,
458 _ccchacha20, _ccchacha20_final, _ccchacha20_init, _ccchacha20_reset, 459 _cccfb_update, _ccchacha20, _ccchacha20_final, _ccchacha20_init,
459 _ccchacha20_setcounter, _ccchacha20_setnonce, _ccchacha20_update, 460 _ccchacha20_reset, _ccchacha20_setcounter, _ccchacha20_setnonce,
460 _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot, 461 _ccchacha20_update, _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt,
461 _ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot, 462 _ccchacha20poly1305_decrypt_oneshot, _ccchacha20poly1305_encrypt,
462 _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce, 463 _ccchacha20poly1305_encrypt_oneshot, _ccchacha20poly1305_finalize,
463 _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset, 464 _ccchacha20poly1305_incnonce, _ccchacha20poly1305_info, _ccchacha20poly1305_init,
464 _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, 465 _ccchacha20poly1305_reset, _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify,
465 _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp, 466 _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp,
466 _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share, 467 _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share,
467 _ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment, 468 _ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment,
...@@ -530,14 +531,15 @@ exports:...@@ -530,14 +531,15 @@ exports:
530 _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224, 531 _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224,
531 _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full, 532 _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full,
532 _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes, 533 _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes,
533 _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update, 534 _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_parallel,
534 _ccdrbg_context_size, _ccdrbg_df_bc_init, _ccdrbg_done, _ccdrbg_factory_nistctr, 535 _ccdigest_update, _ccdrbg_context_size, _ccdrbg_df_bc_init,
535 _ccdrbg_factory_nisthmac, _ccdrbg_generate, _ccdrbg_init, 536 _ccdrbg_done, _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac,
536 _ccdrbg_must_reseed, _ccdrbg_reseed, _ccec_affinify, _ccec_blind, 537 _ccdrbg_generate, _ccdrbg_init, _ccdrbg_must_reseed, _ccdrbg_reseed,
537 _ccec_compact_export, _ccec_compact_export_pub, _ccec_compact_generate_key, 538 _ccec_affinify, _ccec_blind, _ccec_compact_export, _ccec_compact_export_pub,
538 _ccec_compact_generate_key_init, _ccec_compact_generate_key_step, 539 _ccec_compact_generate_key, _ccec_compact_generate_key_init,
539 _ccec_compact_import_priv, _ccec_compact_import_priv_size, 540 _ccec_compact_generate_key_step, _ccec_compact_import_priv,
540 _ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key, 541 _ccec_compact_import_priv_size, _ccec_compact_import_pub,
542 _ccec_compact_import_pub_size, _ccec_compact_transform_key,
541 _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, 543 _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size,
542 _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, 544 _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192,
543 _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, 545 _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup,
...@@ -623,29 +625,44 @@ exports:...@@ -623,29 +625,44 @@ exports:
623 _cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk, 625 _cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk,
624 _cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret, 626 _cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret,
625 _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256, 627 _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256,
628 _cchpke_params_x25519_AESGCM256_HKDF_SHA256, _cchpke_params_xwing_AESGCM128_HKDF_SHA256,
626 _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open, 629 _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open,
627 _cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed, 630 _cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed,
628 _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info, 631 _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info,
629 _cckem_export_privkey, _cckem_export_pubkey, _cckem_full_ctx_init, 632 _cckem_export_privkey, _cckem_export_pubkey, _cckem_full_ctx_init,
630 _cckem_generate_key, _cckem_import_privkey, _cckem_import_pubkey, 633 _cckem_generate_key, _cckem_generate_key_with_seed, _cckem_import_privkey,
631 _cckem_kyber1024, _cckem_kyber768, _cckem_privkey_nbytes_ctx, 634 _cckem_import_pubkey, _cckem_kyber1024, _cckem_kyber768, _cckem_mlkem1024,
632 _cckem_privkey_nbytes_info, _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx, 635 _cckem_mlkem768, _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info,
633 _cckem_pubkey_nbytes_info, _cckem_public_ctx, _cckem_shared_key_nbytes_ctx, 636 _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info,
634 _cckem_shared_key_nbytes_info, _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, 637 _cckem_public_ctx, _cckem_seed_nbytes_ctx, _cckem_seed_nbytes_info,
638 _cckem_shared_key_nbytes_ctx, _cckem_shared_key_nbytes_info,
639 _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, _cckem_xwing_mlkem768x25519,
635 _cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block, 640 _cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block,
636 _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf, 641 _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf,
637 _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, 642 _ccmldsa65, _ccmldsa87, _ccmldsa_derive_key_from_seed, _ccmldsa_export_privkey,
638 _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt, 643 _ccmldsa_export_pubkey, _ccmldsa_full_ctx_init, _ccmldsa_generate_key,
639 _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt, 644 _ccmldsa_generate_key_with_seed, _ccmldsa_hash_nbytes_ctx,
640 _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt, 645 _ccmldsa_hash_nbytes_params, _ccmldsa_import_privkey, _ccmldsa_import_pubkey,
641 _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt, 646 _ccmldsa_prehash, _ccmldsa_prehash_with_context, _ccmldsa_privkey_nbytes_ctx,
642 _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt, 647 _ccmldsa_privkey_nbytes_params, _ccmldsa_pub_ctx_init, _ccmldsa_pubkey_nbytes_ctx,
643 _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt, 648 _ccmldsa_pubkey_nbytes_params, _ccmldsa_public_ctx, _ccmldsa_seed_nbytes_ctx,
644 _ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint, 649 _ccmldsa_seed_nbytes_params, _ccmldsa_sign, _ccmldsa_sign_prehashed,
645 _ccn_print, _ccn_read_uint, _ccn_set_bit, _ccn_seti, _ccn_sub, 650 _ccmldsa_sign_with_context, _ccmldsa_signature_nbytes_ctx,
646 _ccn_swap, _ccn_write_int, _ccn_write_int_size, _ccn_write_uint, 651 _ccmldsa_signature_nbytes_params, _ccmldsa_sizeof_full_ctx,
647 _ccn_write_uint_padded, _ccn_write_uint_padded_ct, _ccn_write_uint_size, 652 _ccmldsa_sizeof_pub_ctx, _ccmldsa_verify, _ccmldsa_verify_prehashed,
648 _ccn_xor, _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, 653 _ccmldsa_verify_with_context, _ccmode_factory_cbc_decrypt,
654 _ccmode_factory_cbc_encrypt, _ccmode_factory_ccm_decrypt,
655 _ccmode_factory_ccm_encrypt, _ccmode_factory_cfb8_decrypt,
656 _ccmode_factory_cfb8_encrypt, _ccmode_factory_cfb_decrypt,
657 _ccmode_factory_cfb_encrypt, _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt,
658 _ccmode_factory_gcm_encrypt, _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt,
659 _ccmode_factory_siv_encrypt, _ccmode_factory_xts_decrypt,
660 _ccmode_factory_xts_encrypt, _ccn_add, _ccn_add1, _ccn_bitlen,
661 _ccn_cmp, _ccn_cmpn, _ccn_lprint, _ccn_print, _ccn_read_uint,
662 _ccn_set_bit, _ccn_seti, _ccn_sub, _ccn_swap, _ccn_write_int,
663 _ccn_write_int_size, _ccn_write_uint, _ccn_write_uint_padded,
664 _ccn_write_uint_padded_ct, _ccn_write_uint_size, _ccn_xor,
665 _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed,
649 _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size, 666 _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size,
650 _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update, 667 _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update,
651 _ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt, 668 _ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt,
...@@ -692,35 +709,36 @@ exports:...@@ -692,35 +709,36 @@ exports:
692 _ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment, 709 _ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment,
693 _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck, 710 _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck,
694 _ccsae_sizeof_kck_h2c, _ccsae_sizeof_pt, _ccsae_verify_commitment, 711 _ccsae_sizeof_kck_h2c, _ccsae_sizeof_pt, _ccsae_verify_commitment,
695 _ccsae_verify_confirmation, _ccscrypt, _ccscrypt_storage_size, 712 _ccsae_verify_commitment_with_rejected_groups, _ccsae_verify_confirmation,
696 _ccsha1_di, _ccsha1_eay_di, _ccsha1_ltc_di, _ccsha224_di, 713 _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di,
697 _ccsha224_ltc_di, _ccsha256_di, _ccsha256_ltc_di, _ccsha384_di, 714 _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di,
698 _ccsha384_ltc_di, _ccsha3_224_di, _ccsha3_256_di, _ccsha3_384_di, 715 _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_di,
699 _ccsha3_512_di, _ccsha512_256_di, _ccsha512_256_ltc_di, _ccsha512_di, 716 _ccsha3_256_di, _ccsha3_384_di, _ccsha3_512_di, _ccsha512_256_di,
700 _ccsha512_ltc_di, _ccsigma_clear, _ccsigma_clear_key, _ccsigma_compute_mac, 717 _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsigma_clear,
701 _ccsigma_derive_session_keys, _ccsigma_export_key_share, _ccsigma_import_peer_key_share, 718 _ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys,
702 _ccsigma_import_peer_verification_key, _ccsigma_import_signing_key, 719 _ccsigma_exclave_pairing_info, _ccsigma_export_key_share,
703 _ccsigma_init, _ccsigma_kex_init_ctx, _ccsigma_kex_resp_ctx, 720 _ccsigma_import_peer_key_share, _ccsigma_import_peer_verification_key,
704 _ccsigma_mfi_info, _ccsigma_mfi_nvm_info, _ccsigma_open, _ccsigma_peer_role, 721 _ccsigma_import_signing_key, _ccsigma_init, _ccsigma_kex_init_ctx,
705 _ccsigma_seal, _ccsigma_set_signing_function, _ccsigma_sign, 722 _ccsigma_kex_resp_ctx, _ccsigma_mfi_info, _ccsigma_mfi_nvm_info,
706 _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size, _ccsiv_ciphertext_size, 723 _ccsigma_open, _ccsigma_peer_role, _ccsigma_seal, _ccsigma_set_signing_function,
707 _ccsiv_context_size, _ccsiv_crypt, _ccsiv_hmac_aad, _ccsiv_hmac_block_size, 724 _ccsigma_sign, _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size,
708 _ccsiv_hmac_ciphertext_size, _ccsiv_hmac_context_size, _ccsiv_hmac_crypt, 725 _ccsiv_ciphertext_size, _ccsiv_context_size, _ccsiv_crypt,
709 _ccsiv_hmac_init, _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, 726 _ccsiv_hmac_aad, _ccsiv_hmac_block_size, _ccsiv_hmac_ciphertext_size,
710 _ccsiv_hmac_reset, _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, 727 _ccsiv_hmac_context_size, _ccsiv_hmac_crypt, _ccsiv_hmac_init,
711 _ccsiv_plaintext_size, _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, 728 _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, _ccsiv_hmac_reset,
712 _ccspake_cp_256_rfc, _ccspake_cp_384, _ccspake_cp_384_rfc, 729 _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, _ccsiv_plaintext_size,
713 _ccspake_cp_521, _ccspake_cp_521_rfc, _ccspake_generate_L, 730 _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, _ccspake_cp_256_rfc,
714 _ccspake_kex_generate, _ccspake_kex_process, _ccspake_mac_compute, 731 _ccspake_cp_384, _ccspake_cp_384_rfc, _ccspake_cp_521, _ccspake_cp_521_rfc,
715 _ccspake_mac_hkdf_cmac_aes128_sha256, _ccspake_mac_hkdf_hmac_sha256, 732 _ccspake_generate_L, _ccspake_get_session_key, _ccspake_kex_generate,
716 _ccspake_mac_hkdf_hmac_sha512, _ccspake_mac_verify_and_get_session_key, 733 _ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256,
717 _ccspake_prover_init, _ccspake_prover_initialize, _ccspake_reduce_w, 734 _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512,
718 _ccspake_reduce_w_RFC9383, _ccspake_sizeof_ctx, _ccspake_sizeof_point, 735 _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init,
719 _ccspake_sizeof_w, _ccspake_verifier_init, _ccspake_verifier_initialize, 736 _ccspake_prover_initialize, _ccspake_reduce_w, _ccspake_reduce_w_RFC9383,
720 _ccsrp_client_process_challenge, _ccsrp_client_set_noUsernameInX, 737 _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w,
721 _ccsrp_client_start_authentication, _ccsrp_client_verify_session, 738 _ccspake_verifier_init, _ccspake_verifier_initialize, _ccsrp_client_process_challenge,
722 _ccsrp_ctx_init, _ccsrp_ctx_init_option, _ccsrp_ctx_init_with_size_option, 739 _ccsrp_client_set_noUsernameInX, _ccsrp_client_start_authentication,
723 _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification, 740 _ccsrp_client_verify_session, _ccsrp_ctx_init, _ccsrp_ctx_init_option,
741 _ccsrp_ctx_init_with_size_option, _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification,
724 _ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key, 742 _ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key,
725 _ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, 743 _ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048,
726 _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192, 744 _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192,
...@@ -770,7 +788,7 @@ tbd-version: 4...@@ -770,7 +788,7 @@ tbd-version: 4
770targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 788targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
771 arm64e-macos, arm64e-maccatalyst ]789 arm64e-macos, arm64e-maccatalyst ]
772install-name: '/usr/lib/system/libdispatch.dylib'790install-name: '/usr/lib/system/libdispatch.dylib'
773current-version: 1521.120.4791current-version: 1542.0.4
774parent-umbrella:792parent-umbrella:
775 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 793 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
776 arm64e-macos, arm64e-maccatalyst ]794 arm64e-macos, arm64e-maccatalyst ]
...@@ -870,7 +888,8 @@ exports:...@@ -870,7 +888,8 @@ exports:
870 _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher, 888 _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher,
871 _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2', 889 _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2',
872 _dispatch_queue_get_label, _dispatch_queue_get_qos_class, 890 _dispatch_queue_get_label, _dispatch_queue_get_qos_class,
873 _dispatch_queue_get_specific, _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy, 891 _dispatch_queue_get_specific, _dispatch_queue_get_threadid_4wdt,
892 _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy,
874 _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read, 893 _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read,
875 _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain, 894 _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain,
876 _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait, 895 _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait,
...@@ -887,8 +906,8 @@ exports:...@@ -887,8 +906,8 @@ exports:
887 _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f, 906 _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f,
888 _dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self, 907 _dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self,
889 _dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec, 908 _dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec,
890 _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_walltime, 909 _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_verify_current_queue_4swiftonly,
891 _dispatch_workloop_copy_current, _dispatch_workloop_create, 910 _dispatch_walltime, _dispatch_workloop_copy_current, _dispatch_workloop_create,
892 _dispatch_workloop_create_inactive, _dispatch_workloop_is_current, 911 _dispatch_workloop_create_inactive, _dispatch_workloop_is_current,
893 _dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent, 912 _dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent,
894 _dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class, 913 _dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class,
...@@ -907,18 +926,20 @@ exports:...@@ -907,18 +926,20 @@ exports:
907 _os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup, 926 _os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup,
908 _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox, 927 _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox,
909 _os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id, 928 _os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id,
910 _os_workgroup_interval_data_set_flags, _os_workgroup_interval_data_set_telemetry, 929 _os_workgroup_interval_data_set_complexity, _os_workgroup_interval_data_set_flags,
911 _os_workgroup_interval_finish, _os_workgroup_interval_start, 930 _os_workgroup_interval_data_set_telemetry, _os_workgroup_interval_finish,
912 _os_workgroup_interval_update, _os_workgroup_join, _os_workgroup_join_self, 931 _os_workgroup_interval_start, _os_workgroup_interval_update,
913 _os_workgroup_leave, _os_workgroup_leave_self, _os_workgroup_max_parallel_threads, 932 _os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave,
933 _os_workgroup_leave_self, _os_workgroup_max_parallel_threads,
914 _os_workgroup_parallel_create, _os_workgroup_set_working_arena, 934 _os_workgroup_parallel_create, _os_workgroup_set_working_arena,
915 _os_workgroup_testcancel, _voucher_activity_create_with_data, 935 _os_workgroup_testcancel, _voucher_activity_create_with_data,
916 _voucher_activity_create_with_data_2, _voucher_activity_create_with_location, 936 _voucher_activity_create_with_data_2, _voucher_activity_create_with_location,
917 _voucher_activity_flush, _voucher_activity_get_logging_preferences, 937 _voucher_activity_flush, _voucher_activity_get_logging_preferences,
918 _voucher_activity_get_metadata_buffer, _voucher_activity_id_allocate, 938 _voucher_activity_get_logging_preferences_with_port, _voucher_activity_get_metadata_buffer,
919 _voucher_activity_initialize_4libtrace, _voucher_activity_should_send_strings, 939 _voucher_activity_id_allocate, _voucher_activity_initialize_4libtrace,
920 _voucher_activity_trace, _voucher_activity_trace_v, _voucher_activity_trace_v_2, 940 _voucher_activity_should_send_strings, _voucher_activity_trace,
921 _voucher_adopt, _voucher_copy, _voucher_copy_with_persona_mach_voucher, 941 _voucher_activity_trace_v, _voucher_activity_trace_v_2, _voucher_adopt,
942 _voucher_copy, _voucher_copy_with_persona_mach_voucher, _voucher_copy_with_persona_mach_voucher_and_error,
922 _voucher_copy_without_importance, _voucher_create_with_mach_msg, 943 _voucher_copy_without_importance, _voucher_create_with_mach_msg,
923 _voucher_decrement_importance_count4CF, _voucher_get_activity_id, 944 _voucher_decrement_importance_count4CF, _voucher_get_activity_id,
924 _voucher_get_activity_id_and_creator, _voucher_get_current_persona, 945 _voucher_get_activity_id_and_creator, _voucher_get_current_persona,
...@@ -938,6 +959,8 @@ tbd-version: 4...@@ -938,6 +959,8 @@ tbd-version: 4
938targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 959targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
939 arm64e-macos, arm64e-maccatalyst ]960 arm64e-macos, arm64e-maccatalyst ]
940install-name: '/usr/lib/system/libdyld.dylib'961install-name: '/usr/lib/system/libdyld.dylib'
962current-version: 0
963compatibility-version: 0
941parent-umbrella:964parent-umbrella:
942 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 965 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
943 arm64e-macos, arm64e-maccatalyst ]966 arm64e-macos, arm64e-maccatalyst ]
...@@ -947,8 +970,9 @@ exports:...@@ -947,8 +970,9 @@ exports:
947 arm64e-macos, arm64e-maccatalyst ]970 arm64e-macos, arm64e-maccatalyst ]
948 symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, 971 symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc,
949 _NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent, 972 _NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent,
950 __dyld_atfork_prepare, __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, 973 __dyld_atfork_prepare, __dyld_call_with_writable_tpro_memory,
951 __dyld_dlopen_atfork_prepare, __dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance, 974 __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, __dyld_dlopen_atfork_prepare,
975 __dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance,
952 __dyld_find_foreign_type_protocol_conformance_on_disk, __dyld_find_pointer_hash_table_entry, 976 __dyld_find_foreign_type_protocol_conformance_on_disk, __dyld_find_pointer_hash_table_entry,
953 __dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk, 977 __dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk,
954 __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol, 978 __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol,
...@@ -1011,8 +1035,8 @@ exports:...@@ -1011,8 +1035,8 @@ exports:
1011 _macho_cpu_type_for_arch_name, _macho_dylib_install_name, 1035 _macho_cpu_type_for_arch_name, _macho_dylib_install_name,
1012 _macho_for_each_defined_rpath, _macho_for_each_dependent_dylib, 1036 _macho_for_each_defined_rpath, _macho_for_each_dependent_dylib,
1013 _macho_for_each_exported_symbol, _macho_for_each_imported_symbol, 1037 _macho_for_each_exported_symbol, _macho_for_each_imported_symbol,
1014 _macho_for_each_slice, _macho_for_each_slice_in_fd, _macho_source_version, 1038 _macho_for_each_runnable_arch_name, _macho_for_each_slice,
1015 dyld_stub_binder ]1039 _macho_for_each_slice_in_fd, _macho_source_version, dyld_stub_binder ]
1016 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1040 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1017 symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, 1041 symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol,
1018 _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, 1042 _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory,
...@@ -1052,7 +1076,7 @@ exports:...@@ -1052,7 +1076,7 @@ exports:
1052tbd-version: 41076tbd-version: 4
1053targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1077targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1054install-name: '/usr/lib/system/libmacho.dylib'1078install-name: '/usr/lib/system/libmacho.dylib'
1055current-version: 1024.31079current-version: 1030.6.3
1056parent-umbrella:1080parent-umbrella:
1057 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1081 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1058 umbrella: System1082 umbrella: System
...@@ -1092,7 +1116,7 @@ tbd-version: 4...@@ -1092,7 +1116,7 @@ tbd-version: 4
1092targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1116targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1093 arm64e-macos, arm64e-maccatalyst ]1117 arm64e-macos, arm64e-maccatalyst ]
1094install-name: '/usr/lib/system/libquarantine.dylib'1118install-name: '/usr/lib/system/libquarantine.dylib'
1095current-version: 181.120.21119current-version: 196.0.1
1096parent-umbrella:1120parent-umbrella:
1097 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1121 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1098 arm64e-macos, arm64e-maccatalyst ]1122 arm64e-macos, arm64e-maccatalyst ]
...@@ -1104,7 +1128,8 @@ exports:...@@ -1104,7 +1128,8 @@ exports:
1104 __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free, 1128 __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free,
1105 __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata, 1129 __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata,
1106 __qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init, 1130 __qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init,
1107 __qtn_file_init_with_data, __qtn_file_init_with_fd, __qtn_file_init_with_mount_point, 1131 __qtn_file_init_with_data, __qtn_file_init_with_disk_image_backing_store,
1132 __qtn_file_init_with_fd, __qtn_file_init_with_mount_point,
1108 __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier, 1133 __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier,
1109 __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data, 1134 __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data,
1110 __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid, 1135 __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid,
...@@ -1138,7 +1163,7 @@ tbd-version: 4...@@ -1138,7 +1163,7 @@ tbd-version: 4
1138targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1163targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1139 arm64e-macos, arm64e-maccatalyst ]1164 arm64e-macos, arm64e-maccatalyst ]
1140install-name: '/usr/lib/system/libremovefile.dylib'1165install-name: '/usr/lib/system/libremovefile.dylib'
1141current-version: 811166current-version: 84
1142parent-umbrella:1167parent-umbrella:
1143 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1168 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1144 arm64e-macos, arm64e-maccatalyst ]1169 arm64e-macos, arm64e-maccatalyst ]
...@@ -1156,7 +1181,7 @@ tbd-version: 4...@@ -1156,7 +1181,7 @@ tbd-version: 4
1156targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1181targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1157 arm64e-macos, arm64e-maccatalyst ]1182 arm64e-macos, arm64e-maccatalyst ]
1158install-name: '/usr/lib/system/libsystem_asl.dylib'1183install-name: '/usr/lib/system/libsystem_asl.dylib'
1159current-version: 4021184current-version: 404
1160parent-umbrella:1185parent-umbrella:
1161 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1186 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1162 arm64e-macos, arm64e-maccatalyst ]1187 arm64e-macos, arm64e-maccatalyst ]
...@@ -1256,7 +1281,7 @@ tbd-version: 4...@@ -1256,7 +1281,7 @@ tbd-version: 4
1256targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1281targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1257 arm64e-macos, arm64e-maccatalyst ]1282 arm64e-macos, arm64e-maccatalyst ]
1258install-name: '/usr/lib/system/libsystem_c.dylib'1283install-name: '/usr/lib/system/libsystem_c.dylib'
1259current-version: 1698.100.81284current-version: 1725.0.11
1260parent-umbrella:1285parent-umbrella:
1261 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1286 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1262 arm64e-macos, arm64e-maccatalyst ]1287 arm64e-macos, arm64e-maccatalyst ]
...@@ -1398,36 +1423,37 @@ exports:...@@ -1398,36 +1423,37 @@ exports:
1398 _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize, 1423 _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize,
1399 _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd, 1424 _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd,
1400 _getdate, _getdate_err, _getdelim, _getdiskbyname, _getenv, 1425 _getdate, _getdate_err, _getdelim, _getdiskbyname, _getenv,
1401 '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname, _getipv4sourcefilter, 1426 _getenv_copy_np, '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname,
1402 _getlastlogx, _getlastlogxbyname, _getline, _getloadavg, _getlogin, 1427 _getipv4sourcefilter, _getlastlogx, _getlastlogxbyname, _getline,
1403 _getlogin_r, _getmntinfo, _getmntinfo_r_np, _getmode, _getopt, 1428 _getloadavg, _getlogin, _getlogin_r, _getmntinfo, _getmntinfo_r_np,
1404 _getopt_long, _getopt_long_only, _getpagesize, _getpass, _getpeereid, 1429 _getmode, _getopt, _getopt_long, _getopt_long_only, _getpagesize,
1405 _getprogname, _gets, _getsourcefilter, _getsubopt, _gettimeofday, 1430 _getpass, _getpeereid, _getprogname, _gets, _getsourcefilter,
1406 _getttyent, _getttynam, _getusershell, _getutmp, _getutmpx, 1431 _getsubopt, _gettimeofday, _getttyent, _getttynam, _getusershell,
1407 _getutxent, _getutxent_wtmp, _getutxid, _getutxline, _getvfsbyname, 1432 _getutmp, _getutmpx, _getutxent, _getutxent_wtmp, _getutxid,
1408 _getw, _getwc, _getwc_l, _getwchar, _getwchar_l, _getwd, _glob, 1433 _getutxline, _getvfsbyname, _getw, _getwc, _getwc_l, _getwchar,
1409 _glob_b, _globfree, _gmtime, _gmtime_r, _grantpt, _hash_create, 1434 _getwchar_l, _getwd, _glob, _glob_b, _globfree, _gmtime, _gmtime_r,
1410 _hash_destroy, _hash_purge, _hash_search, _hash_stats, _hash_traverse, 1435 _grantpt, _hash_create, _hash_destroy, _hash_purge, _hash_search,
1411 _hcreate, _hdestroy, _heapsort, _heapsort_b, _hsearch, _imaxabs, 1436 _hash_stats, _hash_traverse, _hcreate, _hdestroy, _heapsort,
1412 _imaxdiv, _inet_addr, _inet_aton, _inet_lnaof, _inet_makeaddr, 1437 _heapsort_b, _hsearch, _imaxabs, _imaxdiv, _inet_addr, _inet_aton,
1413 _inet_net_ntop, _inet_net_pton, _inet_neta, _inet_netof, _inet_network, 1438 _inet_lnaof, _inet_makeaddr, _inet_net_ntop, _inet_net_pton,
1414 _inet_nsap_addr, _inet_nsap_ntoa, _inet_ntoa, _inet_ntop, 1439 _inet_neta, _inet_netof, _inet_network, _inet_nsap_addr, _inet_nsap_ntoa,
1415 _inet_ntop4, _inet_ntop6, _inet_pton, _initstate, _insque, 1440 _inet_ntoa, _inet_ntop, _inet_ntop4, _inet_ntop6, _inet_pton,
1416 _isalnum, _isalnum_l, _isalpha, _isalpha_l, _isascii, _isatty, 1441 _initstate, _insque, _isalnum, _isalnum_l, _isalpha, _isalpha_l,
1417 _isblank, _isblank_l, _iscntrl, _iscntrl_l, _isdigit, _isdigit_l, 1442 _isascii, _isatty, _isblank, _isblank_l, _iscntrl, _iscntrl_l,
1418 _isgraph, _isgraph_l, _ishexnumber, _ishexnumber_l, _isideogram, 1443 _isdigit, _isdigit_l, _isgraph, _isgraph_l, _ishexnumber,
1419 _isideogram_l, _islower, _islower_l, _isnumber, _isnumber_l, 1444 _ishexnumber_l, _isideogram, _isideogram_l, _islower, _islower_l,
1420 _isphonogram, _isphonogram_l, _isprint, _isprint_l, _ispunct, 1445 _isnumber, _isnumber_l, _isphonogram, _isphonogram_l, _isprint,
1421 _ispunct_l, _isrune, _isrune_l, _isspace, _isspace_l, _isspecial, 1446 _isprint_l, _ispunct, _ispunct_l, _isrune, _isrune_l, _isspace,
1422 _isspecial_l, _isupper, _isupper_l, _iswalnum, _iswalnum_l, 1447 _isspace_l, _isspecial, _isspecial_l, _isupper, _isupper_l,
1423 _iswalpha, _iswalpha_l, _iswascii, _iswblank, _iswblank_l, 1448 _iswalnum, _iswalnum_l, _iswalpha, _iswalpha_l, _iswascii,
1424 _iswcntrl, _iswcntrl_l, _iswctype, _iswctype_l, _iswdigit, 1449 _iswblank, _iswblank_l, _iswcntrl, _iswcntrl_l, _iswctype,
1425 _iswdigit_l, _iswgraph, _iswgraph_l, _iswhexnumber, _iswhexnumber_l, 1450 _iswctype_l, _iswdigit, _iswdigit_l, _iswgraph, _iswgraph_l,
1426 _iswideogram, _iswideogram_l, _iswlower, _iswlower_l, _iswnumber, 1451 _iswhexnumber, _iswhexnumber_l, _iswideogram, _iswideogram_l,
1427 _iswnumber_l, _iswphonogram, _iswphonogram_l, _iswprint, _iswprint_l, 1452 _iswlower, _iswlower_l, _iswnumber, _iswnumber_l, _iswphonogram,
1428 _iswpunct, _iswpunct_l, _iswrune, _iswrune_l, _iswspace, _iswspace_l, 1453 _iswphonogram_l, _iswprint, _iswprint_l, _iswpunct, _iswpunct_l,
1429 _iswspecial, _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, 1454 _iswrune, _iswrune_l, _iswspace, _iswspace_l, _iswspecial,
1430 _iswxdigit_l, _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName, 1455 _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, _iswxdigit_l,
1456 _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName,
1431 _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv, 1457 _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv,
1432 _lfind, _libc_set_introspection_hooks, _link_addr, _link_ntoa, 1458 _lfind, _libc_set_introspection_hooks, _link_addr, _link_ntoa,
1433 _llabs, _lldiv, _localeconv, _localeconv_l, _localtime, _localtime_r, 1459 _llabs, _lldiv, _localeconv, _localeconv_l, _localtime, _localtime_r,
...@@ -1552,7 +1578,7 @@ tbd-version: 4...@@ -1552,7 +1578,7 @@ tbd-version: 4
1552targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1578targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1553 arm64e-macos, arm64e-maccatalyst ]1579 arm64e-macos, arm64e-maccatalyst ]
1554install-name: '/usr/lib/system/libsystem_collections.dylib'1580install-name: '/usr/lib/system/libsystem_collections.dylib'
1555current-version: 1698.100.81581current-version: 1725.0.11
1556parent-umbrella:1582parent-umbrella:
1557 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1583 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1558 arm64e-macos, arm64e-maccatalyst ]1584 arm64e-macos, arm64e-maccatalyst ]
...@@ -1582,7 +1608,7 @@ tbd-version: 4...@@ -1582,7 +1608,7 @@ tbd-version: 4
1582targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1608targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1583 arm64e-macos, arm64e-maccatalyst ]1609 arm64e-macos, arm64e-maccatalyst ]
1584install-name: '/usr/lib/system/libsystem_configuration.dylib'1610install-name: '/usr/lib/system/libsystem_configuration.dylib'
1585current-version: 1351.120.31611current-version: 1385.0.7
1586parent-umbrella:1612parent-umbrella:
1587 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1613 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1588 arm64e-macos, arm64e-maccatalyst ]1614 arm64e-macos, arm64e-maccatalyst ]
...@@ -1616,9 +1642,14 @@ parent-umbrella:...@@ -1616,9 +1642,14 @@ parent-umbrella:
1616exports:1642exports:
1617 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1643 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1618 arm64e-macos, arm64e-maccatalyst ]1644 arm64e-macos, arm64e-maccatalyst ]
1619 symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMFSSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, 1645 symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMDISPATCHSEAM_DEFAULT, _CMFSSEAM_DEFAULT,
1620 _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT, 1646 _CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMSANDBOXSEAM_DEFAULT,
1621 _CONTAINER_PERSONA_PRIMARY, __container_init, __container_query_get_servicing_pid, 1647 _CONTAINER_CLASS_NAMES, _CONTAINER_NOTIFY_GENERATION_INITIAL,
1648 _CONTAINER_NOTIFY_GENERATION_INVALID, _CONTAINER_NOTIFY_USER_INVALIDATED,
1649 _CONTAINER_PERSONA_CURRENT, _CONTAINER_PERSONA_PRIMARY, __container_init,
1650 __container_notify_copy_notify_name, __container_query_get_next_result_sync,
1651 __container_query_get_result_at_index, __container_query_get_servicing_pid,
1652 __container_query_operation_set_private_flags, __container_query_reset_iterator,
1622 __container_references_get_servicing_pid, __container_traverse_continuation_create, 1653 __container_references_get_servicing_pid, __container_traverse_continuation_create,
1623 __container_traverse_continuation_free, __container_traverse_continuation_pop, 1654 __container_traverse_continuation_free, __container_traverse_continuation_pop,
1624 __container_traverse_continuation_push, __container_traverse_get_last_path_component, 1655 __container_traverse_continuation_push, __container_traverse_get_last_path_component,
...@@ -1630,12 +1661,14 @@ exports:...@@ -1630,12 +1661,14 @@ exports:
1630 _container_audit_token_for_pid, _container_audit_token_get_codesign_status, 1661 _container_audit_token_for_pid, _container_audit_token_get_codesign_status,
1631 _container_audit_token_get_egid, _container_audit_token_get_euid, 1662 _container_audit_token_get_egid, _container_audit_token_get_euid,
1632 _container_audit_token_get_pid, _container_audit_token_get_platform, 1663 _container_audit_token_get_pid, _container_audit_token_get_platform,
1633 _container_audit_token_is_valid, _container_base64_decode, 1664 _container_audit_token_is_valid, _container_authorize, _container_authorize_container,
1634 _container_base64_decode_string, _container_base64_encode, 1665 _container_authorize_container_for_self, _container_authorize_get_result_description,
1635 _container_base64_encode_string, _container_bundle_copy_data_container, 1666 _container_base64_decode, _container_base64_decode_string,
1636 _container_bundle_copy_data_container_path, _container_class_for_each_normalized_class, 1667 _container_base64_encode, _container_base64_encode_string,
1637 _container_class_normalized, _container_class_supports_data_subdirectory, 1668 _container_bundle_copy_data_container, _container_bundle_copy_data_container_path,
1638 _container_class_supports_randomized_path, _container_class_supports_randomized_path_on_current_platform, 1669 _container_class_for_each_normalized_class, _container_class_normalized,
1670 _container_class_supports_data_subdirectory, _container_class_supports_randomized_path,
1671 _container_class_supports_randomized_path_on_current_platform,
1639 _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object, 1672 _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object,
1640 _container_client_copy_entitlement, _container_client_create_from_audit_token, 1673 _container_client_copy_entitlement, _container_client_create_from_audit_token,
1641 _container_client_get_audit_token, _container_client_get_codesign_identifier, 1674 _container_client_get_audit_token, _container_client_get_codesign_identifier,
...@@ -1668,9 +1701,10 @@ exports:...@@ -1668,9 +1701,10 @@ exports:
1668 _container_disk_usage, _container_disposition, _container_disposition_for_array, 1701 _container_disk_usage, _container_disposition, _container_disposition_for_array,
1669 _container_entitlements_copy_container_identifiers, _container_error_copy, 1702 _container_entitlements_copy_container_identifiers, _container_error_copy,
1670 _container_error_copy_unlocalized_description, _container_error_create, 1703 _container_error_copy_unlocalized_description, _container_error_create,
1671 _container_error_free, _container_error_get_category, _container_error_get_path, 1704 _container_error_create_with_message, _container_error_free,
1672 _container_error_get_posix_errno, _container_error_get_type, 1705 _container_error_get_category, _container_error_get_message,
1673 _container_error_is_fatal, _container_error_is_file_system_error, 1706 _container_error_get_path, _container_error_get_posix_errno,
1707 _container_error_get_type, _container_error_is_fatal, _container_error_is_file_system_error,
1674 _container_error_reinitialize, _container_flush_container_cache, 1708 _container_error_reinitialize, _container_flush_container_cache,
1675 _container_flush_persona_cache, _container_free_array_of_containers, 1709 _container_flush_persona_cache, _container_free_array_of_containers,
1676 _container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes, 1710 _container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes,
...@@ -1702,10 +1736,17 @@ exports:...@@ -1702,10 +1736,17 @@ exports:
1702 _container_log_ext_error_with_faults, _container_log_handle_for_category, 1736 _container_log_ext_error_with_faults, _container_log_handle_for_category,
1703 _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path, 1737 _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path,
1704 _container_log_replication_prune_for_uid, _container_log_set_client_fault_logging, 1738 _container_log_replication_prune_for_uid, _container_log_set_client_fault_logging,
1705 _container_object_copy, _container_object_create, _container_object_create_blank, 1739 _container_notify_create, _container_notify_create_with_class,
1706 _container_object_free, _container_object_get_class, _container_object_get_creator_codesign_identifier, 1740 _container_notify_create_with_initial_gen_count, _container_notify_free,
1707 _container_object_get_identifier, _container_object_get_info, 1741 _container_notify_get_generation, _container_notify_get_last_error,
1708 _container_object_get_path, _container_object_get_persona_unique_string, 1742 _container_notify_has_changed, _container_notify_increment_generation,
1743 _container_notify_post, _container_notify_set_class, _container_notify_set_event_handler,
1744 _container_notify_set_flags, _container_notify_set_generation,
1745 _container_notify_set_queue, _container_notify_set_uid, _container_notify_start,
1746 _container_notify_stop, _container_object_copy, _container_object_create,
1747 _container_object_create_blank, _container_object_free, _container_object_get_class,
1748 _container_object_get_creator_codesign_identifier, _container_object_get_identifier,
1749 _container_object_get_info, _container_object_get_path, _container_object_get_persona_unique_string,
1709 _container_object_get_query, _container_object_get_sandbox_token, 1750 _container_object_get_query, _container_object_get_sandbox_token,
1710 _container_object_get_uid, _container_object_get_unique_path_component, 1751 _container_object_get_uid, _container_object_get_unique_path_component,
1711 _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid, 1752 _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid,
...@@ -1723,22 +1764,23 @@ exports:...@@ -1723,22 +1764,23 @@ exports:
1723 _container_paths_context_set_flags, _container_paths_context_set_persona_unique_string, 1764 _container_paths_context_set_flags, _container_paths_context_set_persona_unique_string,
1724 _container_paths_context_set_transient, _container_paths_context_set_uid, 1765 _container_paths_context_set_transient, _container_paths_context_set_uid,
1725 _container_paths_copy_container_at, _container_paths_copy_container_from_path, 1766 _container_paths_copy_container_at, _container_paths_copy_container_from_path,
1726 _container_paths_copy_container_root_path_for_context, _container_paths_copy_uid_home_relative, 1767 _container_paths_copy_container_root_path_for_context, _container_paths_copy_part_subpath,
1727 _container_paths_create_uid_home_relative, _container_paths_enumerate_containers_at, 1768 _container_paths_copy_uid_home_relative, _container_paths_create_uid_home_relative,
1728 _container_perfect_hash_copyout_external_bytes, _container_perfect_hash_count, 1769 _container_paths_enumerate_containers_at, _container_perfect_hash_copyout_external_bytes,
1729 _container_perfect_hash_create, _container_perfect_hash_create_from_external_bytes, 1770 _container_perfect_hash_count, _container_perfect_hash_create,
1730 _container_perfect_hash_destroy, _container_perfect_hash_index_of, 1771 _container_perfect_hash_create_from_external_bytes, _container_perfect_hash_destroy,
1731 _container_perfect_hash_num_indexes, _container_perform_with_client_context, 1772 _container_perfect_hash_index_of, _container_perfect_hash_num_indexes,
1732 _container_persona_collect_all_ids, _container_persona_convert_unique_string_to_persona_uid, 1773 _container_perform_with_client_context, _container_persona_collect_all_ids,
1733 _container_persona_foreach, _container_process_restored_container, 1774 _container_persona_convert_unique_string_to_persona_uid, _container_persona_foreach,
1734 _container_pwd_copy_user_home_path, _container_pwd_for_name, 1775 _container_process_restored_container, _container_pwd_copy_user_home_path,
1735 _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path, 1776 _container_pwd_for_name, _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path,
1736 _container_pwd_get_mobile_user_uid, _container_query_copy, 1777 _container_pwd_get_mobile_user_uid, _container_query_copy,
1737 _container_query_count_results, _container_query_create, _container_query_create_from_container, 1778 _container_query_count_results, _container_query_create, _container_query_create_from_container,
1738 _container_query_free, _container_query_get_last_error, _container_query_get_single_result, 1779 _container_query_free, _container_query_get_last_error, _container_query_get_single_result,
1739 _container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync, 1780 _container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync,
1740 _container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client, 1781 _container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client,
1741 _container_query_operation_set_flags, _container_query_operation_set_platform, 1782 _container_query_operation_set_flags, _container_query_operation_set_part,
1783 _container_query_operation_set_part_domain, _container_query_operation_set_platform,
1742 _container_query_set_class, _container_query_set_group_identifiers, 1784 _container_query_set_class, _container_query_set_group_identifiers,
1743 _container_query_set_identifiers, _container_query_set_include_other_owners, 1785 _container_query_set_identifiers, _container_query_set_include_other_owners,
1744 _container_query_set_persona_unique_string, _container_query_set_transient, 1786 _container_query_set_persona_unique_string, _container_query_set_transient,
...@@ -1748,9 +1790,12 @@ exports:...@@ -1748,9 +1790,12 @@ exports:
1748 _container_retry_test, _container_sandbox_extension_consume, 1790 _container_retry_test, _container_sandbox_extension_consume,
1749 _container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension, 1791 _container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension,
1750 _container_sandbox_issue_extension, _container_seam_container_reset, 1792 _container_sandbox_issue_extension, _container_seam_container_reset,
1751 _container_seam_container_set_common, _container_seam_fs_ensure_lazy_loaded, 1793 _container_seam_container_set_common, _container_seam_dispatch_reset,
1752 _container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_pwd_reset, 1794 _container_seam_dispatch_set_common, _container_seam_fs_ensure_lazy_loaded,
1753 _container_seam_pwd_set_common, _container_serialize_copy_deserialized_reference, 1795 _container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_notify_reset,
1796 _container_seam_notify_set_common, _container_seam_pwd_reset,
1797 _container_seam_pwd_set_common, _container_seam_sandbox_reset,
1798 _container_seam_sandbox_set_common, _container_serialize_copy_deserialized_reference,
1754 _container_serialize_copy_serialized_reference, _container_set_code_signing_info_for_identifier, 1799 _container_serialize_copy_serialized_reference, _container_set_code_signing_info_for_identifier,
1755 _container_set_data_protection_for_current_user, _container_set_info_value, 1800 _container_set_data_protection_for_current_user, _container_set_info_value,
1756 _container_set_test_lock, _container_stage_shared_system_content, 1801 _container_set_test_lock, _container_stage_shared_system_content,
...@@ -1785,7 +1830,8 @@ exports:...@@ -1785,7 +1830,8 @@ exports:
1785 _container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block, 1830 _container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block,
1786 _container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection, 1831 _container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection,
1787 _container_xpc_shared_copy_connection, _gCMContainerSeam, 1832 _container_xpc_shared_copy_connection, _gCMContainerSeam,
1788 _gCMFSSeam, _gCMPWDSeam ]1833 _gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam,
1834 _gCMSandboxSeam ]
1789 - targets: [ x86_64-maccatalyst, arm64-maccatalyst, arm64e-maccatalyst ]1835 - targets: [ x86_64-maccatalyst, arm64-maccatalyst, arm64e-maccatalyst ]
1790 symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, 1836 symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID,
1791 _CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths, 1837 _CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths,
...@@ -1813,13 +1859,13 @@ exports:...@@ -1813,13 +1859,13 @@ exports:
1813 arm64e-macos, arm64e-maccatalyst ]1859 arm64e-macos, arm64e-maccatalyst ]
1814 symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration, 1860 symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration,
1815 _NSStartSearchPathEnumerationPrivate, ___user_local_dirname, 1861 _NSStartSearchPathEnumerationPrivate, ___user_local_dirname,
1816 ___user_relative_dirname, __append_relative_path_component, 1862 ___user_relative_dirname, __dirhelper, __dirhelper_relative,
1817 __dirhelper, __dirhelper_relative, __get_user_dir_suffix, 1863 __get_user_dir_suffix, __libcoreservices_fork_child, __set_user_dir_suffix,
1818 __libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration, 1864 _sysdir_get_next_search_path_enumeration, _sysdir_start_search_path_enumeration,
1819 _sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ]1865 _sysdir_start_search_path_enumeration_private ]
1820 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1866 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1821 symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints, 1867 symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints,
1822 __idle_exit ]1868 __dirhelper_remove_test, __dirhelper_test, __idle_exit ]
1823--- !tapi-tbd1869--- !tapi-tbd
1824tbd-version: 41870tbd-version: 4
1825targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1871targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
...@@ -1879,7 +1925,7 @@ tbd-version: 4...@@ -1879,7 +1925,7 @@ tbd-version: 4
1879targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1925targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1880 arm64e-macos, arm64e-maccatalyst ]1926 arm64e-macos, arm64e-maccatalyst ]
1881install-name: '/usr/lib/system/libsystem_dnssd.dylib'1927install-name: '/usr/lib/system/libsystem_dnssd.dylib'
1882current-version: 2600.120.121928current-version: 2881.0.25
1883parent-umbrella:1929parent-umbrella:
1884 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1930 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1885 arm64e-macos, arm64e-maccatalyst ]1931 arm64e-macos, arm64e-maccatalyst ]
...@@ -1916,7 +1962,7 @@ exports:...@@ -1916,7 +1962,7 @@ exports:
1916tbd-version: 41962tbd-version: 4
1917targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1963targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1918install-name: '/usr/lib/system/libsystem_eligibility.dylib'1964install-name: '/usr/lib/system/libsystem_eligibility.dylib'
1919current-version: 181.120.321965current-version: 286
1920parent-umbrella:1966parent-umbrella:
1921 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]1967 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
1922 umbrella: System1968 umbrella: System
...@@ -1934,7 +1980,7 @@ tbd-version: 4...@@ -1934,7 +1980,7 @@ tbd-version: 4
1934targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1980targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1935 arm64e-macos, arm64e-maccatalyst ]1981 arm64e-macos, arm64e-maccatalyst ]
1936install-name: '/usr/lib/system/libsystem_featureflags.dylib'1982install-name: '/usr/lib/system/libsystem_featureflags.dylib'
1937current-version: 971983current-version: 101
1938parent-umbrella:1984parent-umbrella:
1939 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 1985 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
1940 arm64e-macos, arm64e-maccatalyst ]1986 arm64e-macos, arm64e-maccatalyst ]
...@@ -2072,7 +2118,7 @@ tbd-version: 4...@@ -2072,7 +2118,7 @@ tbd-version: 4
2072targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 2118targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2073 arm64e-macos, arm64e-maccatalyst ]2119 arm64e-macos, arm64e-maccatalyst ]
2074install-name: '/usr/lib/system/libsystem_kernel.dylib'2120install-name: '/usr/lib/system/libsystem_kernel.dylib'
2075current-version: 11417.121.62121current-version: 12377.1.9
2076parent-umbrella:2122parent-umbrella:
2077 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 2123 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2078 arm64e-macos, arm64e-maccatalyst ]2124 arm64e-macos, arm64e-maccatalyst ]
...@@ -2217,7 +2263,8 @@ exports:...@@ -2217,7 +2263,8 @@ exports:
2217 _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token, 2263 _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token,
2218 _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, 2264 _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server,
2219 _exc_server_routine, _exception_raise, _exception_raise_state, 2265 _exc_server_routine, _exception_raise, _exception_raise_state,
2220 _exception_raise_state_identity, _exchangedata, _exclaves_audio_buffer_copyout, 2266 _exception_raise_state_identity, _exchangedata, _exclaves_aoe_message_loop,
2267 _exclaves_aoe_setup, _exclaves_aoe_work_loop, _exclaves_audio_buffer_copyout,
2221 _exclaves_audio_buffer_copyout_with_status, _exclaves_audio_buffer_create, 2268 _exclaves_audio_buffer_copyout_with_status, _exclaves_audio_buffer_create,
2222 _exclaves_boot, _exclaves_endpoint_call, _exclaves_inbound_buffer_copyin, 2269 _exclaves_boot, _exclaves_endpoint_call, _exclaves_inbound_buffer_copyin,
2223 _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time, 2270 _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time,
...@@ -2235,9 +2282,9 @@ exports:...@@ -2235,9 +2282,9 @@ exports:
2235 _fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsetattrlist, 2282 _fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsetattrlist,
2236 _fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, _fstat64, 2283 _fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, _fstat64,
2237 _fstatat, _fstatat64, _fstatfs, _fstatfs64, _fstatfs_ext, 2284 _fstatat, _fstatat64, _fstatfs, _fstatfs64, _fstatfs_ext,
2238 _fsync, '_fsync$NOCANCEL', _ftruncate, _futimens, _futimes, 2285 _fsync, '_fsync$NOCANCEL', _ftruncate, _funmount, _futimens,
2239 _getattrlist, _getattrlistat, _getattrlistbulk, _getaudit, 2286 _futimes, _getattrlist, _getattrlistat, _getattrlistbulk,
2240 _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr, 2287 _getaudit, _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr,
2241 _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat, 2288 _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat,
2242 _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np, 2289 _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np,
2243 _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid, 2290 _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid,
...@@ -2280,13 +2327,14 @@ exports:...@@ -2280,13 +2327,14 @@ exports:
2280 _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times, 2327 _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times,
2281 _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id, 2328 _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id,
2282 _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64, 2329 _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64,
2283 _mach_memory_entry_access_tracking, _mach_memory_entry_ownership, 2330 _mach_memory_entry_access_tracking, _mach_memory_entry_get_page_counts,
2284 _mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry, 2331 _mach_memory_entry_ownership, _mach_memory_entry_purgable_control,
2285 _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg2_internal, 2332 _mach_memory_info, _mach_memory_object_memory_entry, _mach_memory_object_memory_entry_64,
2286 _mach_msg2_trap, _mach_msg_destroy, _mach_msg_overwrite, _mach_msg_overwrite_trap, 2333 _mach_msg, _mach_msg2_internal, _mach_msg2_trap, _mach_msg_destroy,
2287 _mach_msg_priority_encode, _mach_msg_priority_is_pthread_priority, 2334 _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode,
2288 _mach_msg_priority_overide_qos, _mach_msg_priority_qos, _mach_msg_priority_relpri, 2335 _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos,
2289 _mach_msg_receive, _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, 2336 _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive,
2337 _mach_msg_send, _mach_msg_server, _mach_msg_server_importance,
2290 _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, 2338 _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name,
2291 _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, 2339 _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed,
2292 _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, 2340 _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full,
...@@ -2313,18 +2361,21 @@ exports:...@@ -2313,18 +2361,21 @@ exports:
2313 _mach_thread_special_port_for_id, _mach_timebase_info, _mach_timebase_info_trap, 2361 _mach_thread_special_port_for_id, _mach_timebase_info, _mach_timebase_info_trap,
2314 _mach_vm_allocate, _mach_vm_behavior_set, _mach_vm_copy, _mach_vm_deallocate, 2362 _mach_vm_allocate, _mach_vm_behavior_set, _mach_vm_copy, _mach_vm_deallocate,
2315 _mach_vm_deferred_reclamation_buffer_allocate, _mach_vm_deferred_reclamation_buffer_flush, 2363 _mach_vm_deferred_reclamation_buffer_allocate, _mach_vm_deferred_reclamation_buffer_flush,
2316 _mach_vm_deferred_reclamation_buffer_resize, _mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes, 2364 _mach_vm_deferred_reclamation_buffer_query, _mach_vm_deferred_reclamation_buffer_resize,
2317 _mach_vm_inherit, _mach_vm_machine_attribute, _mach_vm_map, 2365 _mach_vm_inherit, _mach_vm_machine_attribute, _mach_vm_map,
2318 _mach_vm_msync, _mach_vm_page_info, _mach_vm_page_query, _mach_vm_page_range_query, 2366 _mach_vm_msync, _mach_vm_page_info, _mach_vm_page_query, _mach_vm_page_range_query,
2319 _mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create, 2367 _mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create,
2320 _mach_vm_read, _mach_vm_read_list, _mach_vm_read_overwrite, 2368 _mach_vm_read, _mach_vm_read_list, _mach_vm_read_overwrite,
2321 _mach_vm_reclaim_is_reusable, _mach_vm_reclaim_query_state, 2369 _mach_vm_reclaim_copied_ring_free, _mach_vm_reclaim_copied_ring_query,
2322 _mach_vm_reclaim_ring_allocate, _mach_vm_reclaim_ring_capacity, 2370 _mach_vm_reclaim_get_rings_for_task, _mach_vm_reclaim_is_reusable,
2371 _mach_vm_reclaim_query_state, _mach_vm_reclaim_ring_allocate,
2372 _mach_vm_reclaim_ring_capacity, _mach_vm_reclaim_ring_copy,
2323 _mach_vm_reclaim_ring_flush, _mach_vm_reclaim_ring_resize, 2373 _mach_vm_reclaim_ring_flush, _mach_vm_reclaim_ring_resize,
2324 _mach_vm_reclaim_round_capacity, _mach_vm_reclaim_try_cancel, 2374 _mach_vm_reclaim_round_capacity, _mach_vm_reclaim_try_cancel,
2325 _mach_vm_reclaim_try_enter, _mach_vm_reclaim_update_kernel_accounting, 2375 _mach_vm_reclaim_try_enter, _mach_vm_reclaim_update_kernel_accounting,
2326 _mach_vm_region, _mach_vm_region_recurse, _mach_vm_remap, 2376 _mach_vm_reclaim_update_kernel_accounting_trap, _mach_vm_region,
2327 _mach_vm_remap_new, _mach_vm_update_pointers_with_remote_tags, 2377 _mach_vm_region_recurse, _mach_vm_remap, _mach_vm_remap_new,
2378 _mach_vm_tag_describe, _mach_vm_update_pointers_with_remote_tags,
2328 _mach_vm_wire, _mach_vm_write, _mach_voucher_attr_command, 2379 _mach_vm_wire, _mach_vm_write, _mach_voucher_attr_command,
2329 _mach_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes, 2380 _mach_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes,
2330 _mach_voucher_extract_attr_content, _mach_voucher_extract_attr_recipe, 2381 _mach_voucher_extract_attr_content, _mach_voucher_extract_attr_recipe,
...@@ -2360,10 +2411,11 @@ exports:...@@ -2360,10 +2411,11 @@ exports:
2360 _os_channel_create, _os_channel_create_extended, _os_channel_destroy, 2411 _os_channel_create, _os_channel_create_extended, _os_channel_destroy,
2361 _os_channel_event_free, _os_channel_event_get_event_data, 2412 _os_channel_event_free, _os_channel_event_get_event_data,
2362 _os_channel_event_get_next_event, _os_channel_flow_admissible, 2413 _os_channel_event_get_next_event, _os_channel_flow_admissible,
2363 _os_channel_flow_adv_get_ce_count, _os_channel_get_advisory_region, 2414 _os_channel_flow_adv_get_ce_count, _os_channel_flow_adv_get_feedback,
2364 _os_channel_get_fd, _os_channel_get_interface_advisory, _os_channel_get_next_event_handle, 2415 _os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory,
2365 _os_channel_get_next_slot, _os_channel_get_stats_region, _os_channel_is_defunct, 2416 _os_channel_get_next_event_handle, _os_channel_get_next_slot,
2366 _os_channel_large_packet_alloc, _os_channel_packet_alloc, 2417 _os_channel_get_stats_region, _os_channel_get_upp_buffer_stats,
2418 _os_channel_is_defunct, _os_channel_large_packet_alloc, _os_channel_packet_alloc,
2367 _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending, 2419 _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending,
2368 _os_channel_read_attr, _os_channel_read_nexus_extension_info, 2420 _os_channel_read_attr, _os_channel_read_nexus_extension_info,
2369 _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time, 2421 _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time,
...@@ -2381,8 +2433,8 @@ exports:...@@ -2381,8 +2433,8 @@ exports:
2381 _os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules, 2433 _os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules,
2382 _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider, 2434 _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider,
2383 _os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance, 2435 _os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance,
2384 _os_nexus_flow_set_wake_from_sleep, _os_packet_add_buflet, 2436 _os_nexus_flow_set_connection_idle, _os_nexus_flow_set_wake_from_sleep,
2385 _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid, 2437 _os_packet_add_buflet, _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid,
2386 _os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type, 2438 _os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type,
2387 _os_packet_get_buflet_count, _os_packet_get_compression_generation_count, 2439 _os_packet_get_buflet_count, _os_packet_get_compression_generation_count,
2388 _os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action, 2440 _os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action,
...@@ -2407,15 +2459,16 @@ exports:...@@ -2407,15 +2459,16 @@ exports:
2407 _os_packet_set_traffic_class, _os_packet_set_transport_last_packet, 2459 _os_packet_set_traffic_class, _os_packet_set_transport_last_packet,
2408 _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background, 2460 _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background,
2409 _os_packet_set_transport_traffic_realtime, _os_packet_set_tso_flags, 2461 _os_packet_set_transport_traffic_realtime, _os_packet_set_tso_flags,
2410 _os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_trace_event, 2462 _os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_set_wake_flag,
2411 _os_proc_available_memory, _panic, _panic_init, _panic_with_data, 2463 _os_packet_trace_event, _os_proc_available_memory, _panic,
2412 _pathconf, _peeloff, _pid_for_task, _pid_hibernate, _pid_resume, 2464 _panic_init, _panic_with_data, _pathconf, _peeloff, _pid_for_task,
2413 _pid_shutdown_networking, _pid_shutdown_sockets, _pid_suspend, 2465 _pid_hibernate, _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets,
2414 _pipe, _pivot_root, _pkt_subtype_assert_fail, _pkt_type_assert_fail, 2466 _pid_suspend, _pipe, _pivot_root, _poll, '_poll$NOCANCEL',
2415 _poll, '_poll$NOCANCEL', _port_obj_init, _port_obj_table, 2467 _port_obj_init, _port_obj_table, _port_obj_table_size, _posix_madvise,
2416 _port_obj_table_size, _posix_madvise, _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np, 2468 _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np,
2417 _posix_spawn_file_actions_addchdir_np, _posix_spawn_file_actions_addclose, 2469 _posix_spawn_file_actions_addchdir, _posix_spawn_file_actions_addchdir_np,
2418 _posix_spawn_file_actions_adddup2, _posix_spawn_file_actions_addfchdir_np, 2470 _posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2,
2471 _posix_spawn_file_actions_addfchdir, _posix_spawn_file_actions_addfchdir_np,
2419 _posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen, 2472 _posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen,
2420 _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init, 2473 _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init,
2421 _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np, 2474 _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np,
...@@ -2426,73 +2479,74 @@ exports:...@@ -2426,73 +2479,74 @@ exports:
2426 _posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np, 2479 _posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np,
2427 _posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask, 2480 _posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask,
2428 _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np, 2481 _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np,
2429 _posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_crash_behavior_deadline_np, 2482 _posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_conclavememlimit_ext,
2430 _posix_spawnattr_set_crash_behavior_np, _posix_spawnattr_set_crash_count_np, 2483 _posix_spawnattr_set_crash_behavior_deadline_np, _posix_spawnattr_set_crash_behavior_np,
2431 _posix_spawnattr_set_csm_np, _posix_spawnattr_set_darwin_role_np, 2484 _posix_spawnattr_set_crash_count_np, _posix_spawnattr_set_csm_np,
2432 _posix_spawnattr_set_filedesclimit_ext, _posix_spawnattr_set_gid_np, 2485 _posix_spawnattr_set_darwin_role_np, _posix_spawnattr_set_filedesclimit_ext,
2433 _posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np, 2486 _posix_spawnattr_set_gid_np, _posix_spawnattr_set_groups_np,
2434 _posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_kqworklooplimit_ext, 2487 _posix_spawnattr_set_importancewatch_port_np, _posix_spawnattr_set_jetsam_ttr_np,
2435 _posix_spawnattr_set_launch_type_np, _posix_spawnattr_set_login_np, 2488 _posix_spawnattr_set_kqworklooplimit_ext, _posix_spawnattr_set_launch_type_np,
2436 _posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np, 2489 _posix_spawnattr_set_login_np, _posix_spawnattr_set_max_addr_np,
2437 _posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np, 2490 _posix_spawnattr_set_persona_gid_np, _posix_spawnattr_set_persona_groups_np,
2438 _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np, 2491 _posix_spawnattr_set_persona_np, _posix_spawnattr_set_persona_uid_np,
2439 _posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np, 2492 _posix_spawnattr_set_platform_np, _posix_spawnattr_set_portlimits_ext,
2440 _posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np, 2493 _posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np,
2441 _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_threadlimit_ext, 2494 _posix_spawnattr_set_registered_ports_np, _posix_spawnattr_set_subsystem_root_path_np,
2442 _posix_spawnattr_set_uid_np, _posix_spawnattr_set_use_sec_transition_shims_np, 2495 _posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np,
2443 _posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np, 2496 _posix_spawnattr_set_use_sec_transition_shims_np, _posix_spawnattr_setarchpref_np,
2444 _posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np, 2497 _posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np,
2445 _posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default, 2498 _posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor,
2446 _posix_spawnattr_setdataless_iopolicy_np, _posix_spawnattr_setexceptionports_np, 2499 _posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setdataless_iopolicy_np,
2447 _posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext, 2500 _posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags,
2448 _posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np, 2501 _posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np,
2449 _posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup, 2502 _posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np,
2450 _posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault, 2503 _posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np,
2451 _posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np, 2504 _posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask,
2452 _pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, 2505 _posix_spawnattr_setspecialport_np, _pread, '_pread$NOCANCEL',
2453 _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure, 2506 _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, _proc_clear_delayidlesleep,
2454 _proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg, 2507 _proc_clear_dirty, _proc_clear_vmpressure, _proc_current_thread_schedinfo,
2455 _proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon, 2508 _proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete,
2456 _proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype, 2509 _proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon,
2457 _proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params, 2510 _proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params,
2458 _proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete, 2511 _proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg,
2459 _proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids, 2512 _proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion,
2460 _proc_list_uptrs, _proc_listallpids, _proc_listchildpids, 2513 _proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids,
2461 _proc_listcoalitions, _proc_listpgrppids, _proc_listpids, 2514 _proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids,
2462 _proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo, 2515 _proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage,
2463 _proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo, 2516 _proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo,
2464 _proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename, 2517 _proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken,
2465 _proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control, 2518 _proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon,
2466 _proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal, 2519 _proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params,
2467 _proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty, 2520 _proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep,
2468 _proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults, 2521 _proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure,
2469 _proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol, 2522 _proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage,
2470 _proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt, 2523 _proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm,
2471 _proc_signal_delegate, _proc_signal_with_audittoken, _proc_suppress, 2524 _proc_setthread_no_smt, _proc_signal_delegate, _proc_signal_with_audittoken,
2472 _proc_terminate, _proc_terminate_all_rsr, _proc_terminate_delegate, 2525 _proc_suppress, _proc_terminate, _proc_terminate_all_rsr,
2473 _proc_terminate_with_audittoken, _proc_trace_log, _proc_track_dirty, 2526 _proc_terminate_delegate, _proc_terminate_with_audittoken,
2474 _proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control, 2527 _proc_trace_log, _proc_track_dirty, _proc_udata_info, _proc_uuid_policy,
2475 _processor_exit, _processor_get_assignment, _processor_info, 2528 _processor_assign, _processor_control, _processor_exit, _processor_get_assignment,
2476 _processor_set_create, _processor_set_default, _processor_set_destroy, 2529 _processor_info, _processor_set_create, _processor_set_default,
2477 _processor_set_info, _processor_set_max_priority, _processor_set_policy_control, 2530 _processor_set_destroy, _processor_set_info, _processor_set_max_priority,
2478 _processor_set_policy_disable, _processor_set_policy_enable, 2531 _processor_set_policy_control, _processor_set_policy_disable,
2479 _processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks, 2532 _processor_set_policy_enable, _processor_set_stack_usage,
2480 _processor_set_tasks_with_flavor, _processor_set_threads, 2533 _processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor,
2481 _processor_start, _pselect, '_pselect$DARWIN_EXTSN', '_pselect$DARWIN_EXTSN$NOCANCEL', 2534 _processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN',
2482 '_pselect$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np, 2535 '_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np,
2483 _ptrace, _pwrite, '_pwrite$NOCANCEL', _pwritev, '_pwritev$NOCANCEL', 2536 _pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL',
2484 _quota, _quotactl, _read, '_read$NOCANCEL', _readlink, _readlinkat, 2537 _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL',
2485 _readv, '_readv$NOCANCEL', _reboot, _reboot_np, _record_system_event_as_kernel, 2538 _readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot,
2486 _recvfrom, '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL', 2539 _reboot_np, _record_system_event_as_kernel, _recvfrom, '_recvfrom$NOCANCEL',
2487 _recvmsg_x, _register_uexc_handler, _removexattr, _rename, 2540 _recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, _register_uexc_handler,
2488 _rename_ext, _renameat, _renameatx_np, _renamex_np, _revoke, 2541 _removexattr, _rename, _rename_ext, _renameat, _renameatx_np,
2489 _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL', 2542 _renamex_np, _revoke, _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN',
2490 '_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue, 2543 '_select$DARWIN_EXTSN$NOCANCEL', '_select$NOCANCEL', _sem_close,
2491 _sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink, 2544 _sem_destroy, _sem_getvalue, _sem_init, _sem_open, _sem_post,
2492 _sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy, 2545 _sem_trywait, _sem_unlink, _sem_wait, '_sem_wait$NOCANCEL',
2493 _semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap, 2546 _semaphore_create, _semaphore_destroy, _semaphore_signal,
2494 _semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap, 2547 _semaphore_signal_all, _semaphore_signal_all_trap, _semaphore_signal_thread,
2495 _semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, 2548 _semaphore_signal_thread_trap, _semaphore_signal_trap, _semaphore_timedwait,
2549 _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap,
2496 _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, 2550 _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal,
2497 _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, 2551 _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl,
2498 _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', 2552 _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL',
...@@ -2582,7 +2636,7 @@ tbd-version: 4...@@ -2582,7 +2636,7 @@ tbd-version: 4
2582targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, 2636targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
2583 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]2637 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
2584install-name: '/usr/lib/system/libsystem_m.dylib'2638install-name: '/usr/lib/system/libsystem_m.dylib'
2585current-version: 3291.100.42639current-version: 3307.0.1
2586parent-umbrella:2640parent-umbrella:
2587 - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, 2641 - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
2588 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]2642 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
...@@ -2804,7 +2858,7 @@ tbd-version: 4...@@ -2804,7 +2858,7 @@ tbd-version: 4
2804targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 2858targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2805 arm64e-macos, arm64e-maccatalyst ]2859 arm64e-macos, arm64e-maccatalyst ]
2806install-name: '/usr/lib/system/libsystem_malloc.dylib'2860install-name: '/usr/lib/system/libsystem_malloc.dylib'
2807current-version: 715.120.132861current-version: 792.1.1
2808parent-umbrella:2862parent-umbrella:
2809 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 2863 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2810 arm64e-macos, arm64e-maccatalyst ]2864 arm64e-macos, arm64e-maccatalyst ]
...@@ -2833,15 +2887,15 @@ exports:...@@ -2833,15 +2887,15 @@ exports:
2833 _malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free, 2887 _malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free,
2834 _malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc, 2888 _malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc,
2835 _malloc_type_valloc, _malloc_type_zone_calloc, _malloc_type_zone_free, 2889 _malloc_type_valloc, _malloc_type_zone_calloc, _malloc_type_zone_free,
2836 _malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options_internal, 2890 _malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options,
2837 _malloc_type_zone_malloc_with_options_np, _malloc_type_zone_memalign, 2891 _malloc_type_zone_malloc_with_options_internal, _malloc_type_zone_memalign,
2838 _malloc_type_zone_realloc, _malloc_type_zone_valloc, _malloc_variant_is_debug_4test, 2892 _malloc_type_zone_realloc, _malloc_type_zone_valloc, _malloc_variant_is_debug_4test,
2839 _malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc, 2893 _malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc,
2840 _malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address, 2894 _malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address,
2841 _malloc_zone_disable_discharge_checking, _malloc_zone_discharge, 2895 _malloc_zone_disable_discharge_checking, _malloc_zone_discharge,
2842 _malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers, 2896 _malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers,
2843 _malloc_zone_free, _malloc_zone_from_ptr, _malloc_zone_log, 2897 _malloc_zone_free, _malloc_zone_from_ptr, _malloc_zone_log,
2844 _malloc_zone_malloc, _malloc_zone_malloc_with_options_np, 2898 _malloc_zone_malloc, _malloc_zone_malloc_with_options, _malloc_zone_malloc_with_options_np,
2845 _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print, 2899 _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print,
2846 _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register, 2900 _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register,
2847 _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc, 2901 _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc,
...@@ -2878,24 +2932,26 @@ exports:...@@ -2878,24 +2932,26 @@ exports:
2878 _NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains, 2932 _NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains,
2879 _NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket, 2933 _NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket,
2880 _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD, 2934 _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD,
2881 _NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperHandleConfigurationsChangedBySC, 2935 _NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperGetRawSocket,
2882 _NEHelperInit, _NEHelperInterfaceCreate, _NEHelperInterfaceDestroy, 2936 _NEHelperHandleConfigurationsChangedBySC, _NEHelperInit, _NEHelperInterfaceCreate,
2883 _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress, 2937 _NEHelperInterfaceDestroy, _NEHelperInterfaceRemoveAddress,
2884 _NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetDelegate, 2938 _NEHelperInterfaceSetAddress, _NEHelperInterfaceSetAddressWithLifetime,
2885 _NEHelperInterfaceSetDescription, _NEHelperInterfaceSetMTU, 2939 _NEHelperInterfaceSetDelegate, _NEHelperInterfaceSetDescription,
2886 _NEHelperInterfaceSetOption, _NEHelperSendRequest, _NEHelperSettingsRemove, 2940 _NEHelperInterfaceSetMTU, _NEHelperInterfaceSetOption, _NEHelperSendRequest,
2887 _NEHelperSettingsSetArray, _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber, 2941 _NEHelperSettingsRemove, _NEHelperSettingsSetArray, _NEHelperSettingsSetBool,
2888 _NEHelperVPNConfigurationExists, _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, 2942 _NEHelperSettingsSetNumber, _NEHelperVPNConfigurationExists,
2889 _g_ne_uuid_cache_hit, _ne_copy_cached_bundle_identifier_for_uuid, 2943 _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, _g_ne_uuid_cache_hit,
2890 _ne_copy_cached_uuids_for_bundle_identifier, _ne_copy_signature_info_for_pid, 2944 _ne_copy_cached_bundle_identifier_for_uuid, _ne_copy_cached_uuids_for_bundle_identifier,
2891 _ne_copy_signing_identifier_for_pid, _ne_copy_signing_identifier_for_pid_with_audit_token, 2945 _ne_copy_signature_info_for_pid, _ne_copy_signing_identifier_for_pid,
2892 _ne_copy_uuid_cache, _ne_force_reset_uuid_cache, _ne_get_configuration_generation, 2946 _ne_copy_signing_identifier_for_pid_with_audit_token, _ne_copy_uuid_cache,
2947 _ne_force_reset_uuid_cache, _ne_get_configuration_generation,
2893 _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace, 2948 _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace,
2894 _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id, 2949 _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id,
2895 _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path, 2950 _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path,
2896 _ne_session_address_matches_subnets, _ne_session_agent_get_advisory, 2951 _ne_session_address_matches_subnets, _ne_session_agent_get_advisory,
2897 _ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present, 2952 _ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present,
2898 _ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present, 2953 _ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present,
2954 _ne_session_applications_have_local_network_entitlements,
2899 _ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present, 2955 _ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present,
2900 _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token, 2956 _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token,
2901 _ne_session_copy_os_version_string, _ne_session_copy_policy_match, 2957 _ne_session_copy_os_version_string, _ne_session_copy_policy_match,
...@@ -2904,30 +2960,29 @@ exports:...@@ -2904,30 +2960,29 @@ exports:
2904 _ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present, 2960 _ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present,
2905 _ne_session_dns_settings_configs_present, _ne_session_establish_ipc, 2961 _ne_session_dns_settings_configs_present, _ne_session_establish_ipc,
2906 _ne_session_fallback_advisory, _ne_session_fallback_default, 2962 _ne_session_fallback_advisory, _ne_session_fallback_default,
2907 _ne_session_get_boot_session_uuid, _ne_session_get_config_id_from_network_agent, 2963 _ne_session_fetch_server_parameters, _ne_session_get_boot_session_uuid,
2908 _ne_session_get_configuration_id, _ne_session_get_info, _ne_session_get_info2, 2964 _ne_session_get_config_id_from_network_agent, _ne_session_get_configuration_id,
2909 _ne_session_get_status, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all, 2965 _ne_session_get_info, _ne_session_get_info2, _ne_session_get_status,
2966 _ne_session_get_type, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all,
2910 _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot, 2967 _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot,
2911 _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info, 2968 _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info,
2912 _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions, 2969 _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions,
2913 _ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid, 2970 _ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid,
2914 _ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present, 2971 _ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present,
2915 _ne_session_policy_copy_flow_divert_token, _ne_session_policy_copy_flow_divert_token_with_key, 2972 _ne_session_policy_copy_flow_divert_token, _ne_session_policy_copy_flow_divert_token_with_key,
2916 _ne_session_policy_match_get_filter_unit, _ne_session_policy_match_get_flow_divert_unit, 2973 _ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action,
2917 _ne_session_policy_match_get_scoped_interface_index, _ne_session_policy_match_get_service, 2974 _ne_session_policy_match_get_service_type, _ne_session_relay_configs_present,
2918 _ne_session_policy_match_get_service_action, _ne_session_policy_match_get_service_type, 2975 _ne_session_release, _ne_session_reset_cache, _ne_session_retain,
2919 _ne_session_policy_match_is_drop, _ne_session_policy_match_is_flow_divert, 2976 _ne_session_send_barrier, _ne_session_service_copy_cached_match_domains,
2920 _ne_session_policy_match_service_is_registered, _ne_session_relay_configs_present, 2977 _ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface,
2921 _ne_session_release, _ne_session_retain, _ne_session_send_barrier, 2978 _ne_session_service_matches_address, _ne_session_service_matches_address_for_interface,
2922 _ne_session_service_copy_cached_match_domains, _ne_session_service_get_dns_service_id, 2979 _ne_session_set_device_communication_exception, _ne_session_set_event_handler,
2923 _ne_session_service_get_dns_service_id_for_interface, _ne_session_service_matches_address, 2980 _ne_session_set_socket_attributes, _ne_session_set_socket_context_attribute,
2924 _ne_session_service_matches_address_for_interface, _ne_session_set_device_communication_exception, 2981 _ne_session_set_socket_tracker_attributes, _ne_session_should_disable_nexus,
2925 _ne_session_set_event_handler, _ne_session_set_socket_attributes, 2982 _ne_session_start, _ne_session_start_on_behalf_of, _ne_session_start_with_options,
2926 _ne_session_set_socket_context_attribute, _ne_session_set_socket_tracker_attributes, 2983 _ne_session_status_to_string, _ne_session_stop, _ne_session_stop_all_with_plugin_type,
2927 _ne_session_should_disable_nexus, _ne_session_start, _ne_session_start_on_behalf_of, 2984 _ne_session_stop_reason_to_string, _ne_session_type_to_string,
2928 _ne_session_start_with_options, _ne_session_status_to_string, 2985 _ne_session_urlfilter_configs_present, _ne_session_use_as_system_vpn,
2929 _ne_session_stop, _ne_session_stop_all_with_plugin_type, _ne_session_stop_reason_to_string,
2930 _ne_session_type_to_string, _ne_session_use_as_system_vpn,
2931 _ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present, 2986 _ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present,
2932 _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated, 2987 _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated,
2933 _ne_socket_set_website_attribution, _ne_tracker_build_cache, 2988 _ne_socket_set_website_attribution, _ne_tracker_build_cache,
...@@ -2949,7 +3004,7 @@ tbd-version: 4...@@ -2949,7 +3004,7 @@ tbd-version: 4
2949targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3004targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2950 arm64e-macos, arm64e-maccatalyst ]3005 arm64e-macos, arm64e-maccatalyst ]
2951install-name: '/usr/lib/system/libsystem_notify.dylib'3006install-name: '/usr/lib/system/libsystem_notify.dylib'
2952current-version: 3423007current-version: 344.0.1
2953parent-umbrella:3008parent-umbrella:
2954 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3009 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2955 arm64e-macos, arm64e-maccatalyst ]3010 arm64e-macos, arm64e-maccatalyst ]
...@@ -2969,7 +3024,7 @@ tbd-version: 4...@@ -2969,7 +3024,7 @@ tbd-version: 4
2969targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3024targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2970 arm64e-macos, arm64e-maccatalyst ]3025 arm64e-macos, arm64e-maccatalyst ]
2971install-name: '/usr/lib/system/libsystem_platform.dylib'3026install-name: '/usr/lib/system/libsystem_platform.dylib'
2972current-version: 3493027current-version: 359.1.2
2973parent-umbrella:3028parent-umbrella:
2974 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3029 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
2975 arm64e-macos, arm64e-maccatalyst ]3030 arm64e-macos, arm64e-maccatalyst ]
...@@ -3020,19 +3075,21 @@ exports:...@@ -3020,19 +3075,21 @@ exports:
3020 __simple_asl_msg_new, __simple_asl_msg_set, __simple_asl_send, 3075 __simple_asl_msg_new, __simple_asl_msg_set, __simple_asl_send,
3021 __simple_dprintf, __simple_esappend, __simple_esprintf, __simple_getenv, 3076 __simple_dprintf, __simple_esappend, __simple_esprintf, __simple_getenv,
3022 __simple_put, __simple_putline, __simple_salloc, __simple_sappend, 3077 __simple_put, __simple_putline, __simple_salloc, __simple_sappend,
3023 __simple_sfree, __simple_sprintf, __simple_sresize, __simple_string, 3078 __simple_sfree, __simple_snprintf, __simple_sprintf, __simple_sresize,
3024 __simple_vdprintf, __simple_vesprintf, __simple_vsprintf, 3079 __simple_string, __simple_vdprintf, __simple_vesprintf, __simple_vsnprintf,
3025 __spin_lock, __spin_lock_try, __spin_unlock, _ffs, _ffsl, 3080 __simple_vsprintf, __spin_lock, __spin_lock_try, __spin_unlock,
3026 _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp, _makecontext, 3081 _ffs, _ffsl, _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp,
3027 _os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift, 3082 _makecontext, _os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift,
3028 _os_lock_lock, _os_lock_trylock, _os_lock_unlock, _os_log_simple_now, 3083 _os_lock_lock, _os_lock_trylock, _os_lock_unlock, _os_log_simple_now,
3029 _os_log_simple_type_from_asl, _os_sync_wait_on_address, _os_sync_wait_on_address_with_deadline, 3084 _os_log_simple_type_from_asl, _os_security_config_get, _os_security_config_get_for_proc,
3030 _os_sync_wait_on_address_with_timeout, _os_sync_wake_by_address_all, 3085 _os_security_config_get_for_task, _os_sync_wait_on_address,
3031 _os_sync_wake_by_address_any, _os_unfair_lock_assert_not_owner, 3086 _os_sync_wait_on_address_with_deadline, _os_sync_wait_on_address_with_timeout,
3032 _os_unfair_lock_assert_owner, _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, 3087 _os_sync_wake_by_address_all, _os_sync_wake_by_address_any,
3033 _os_unfair_lock_lock_with_flags, _os_unfair_lock_lock_with_options, 3088 _os_unfair_lock_assert_not_owner, _os_unfair_lock_assert_owner,
3034 _os_unfair_lock_trylock, _os_unfair_lock_trylock_with_options, 3089 _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, _os_unfair_lock_lock_with_flags,
3035 _os_unfair_lock_unlock, _os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options, 3090 _os_unfair_lock_lock_with_options, _os_unfair_lock_trylock,
3091 _os_unfair_lock_trylock_with_options, _os_unfair_lock_unlock,
3092 _os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options,
3036 _os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock, 3093 _os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock,
3037 _os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock, 3094 _os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock,
3038 _os_unfair_recursive_lock_unlock_forked_child, _setcontext, 3095 _os_unfair_recursive_lock_unlock_forked_child, _setcontext,
...@@ -3047,7 +3104,7 @@ tbd-version: 4...@@ -3047,7 +3104,7 @@ tbd-version: 4
3047targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3104targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3048 arm64e-macos, arm64e-maccatalyst ]3105 arm64e-macos, arm64e-maccatalyst ]
3049install-name: '/usr/lib/system/libsystem_pthread.dylib'3106install-name: '/usr/lib/system/libsystem_pthread.dylib'
3050current-version: 5363107current-version: 539
3051parent-umbrella:3108parent-umbrella:
3052 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3109 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3053 arm64e-macos, arm64e-maccatalyst ]3110 arm64e-macos, arm64e-maccatalyst ]
...@@ -3143,7 +3200,7 @@ tbd-version: 4...@@ -3143,7 +3200,7 @@ tbd-version: 4
3143targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3200targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3144 arm64e-macos, arm64e-maccatalyst ]3201 arm64e-macos, arm64e-maccatalyst ]
3145install-name: '/usr/lib/system/libsystem_sandbox.dylib'3202install-name: '/usr/lib/system/libsystem_sandbox.dylib'
3146current-version: 2401.121.33203current-version: 2680.0.50
3147parent-umbrella:3204parent-umbrella:
3148 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3205 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3149 arm64e-macos, arm64e-maccatalyst ]3206 arm64e-macos, arm64e-maccatalyst ]
...@@ -3158,8 +3215,13 @@ exports:...@@ -3158,8 +3215,13 @@ exports:
3158 _SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL, 3215 _SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL,
3159 _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NOFOLLOW_ANY, 3216 _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NOFOLLOW_ANY,
3160 _SANDBOX_EXTENSION_NO_REPORT, _SANDBOX_EXTENSION_NO_STORAGE_CLASS, 3217 _SANDBOX_EXTENSION_NO_REPORT, _SANDBOX_EXTENSION_NO_STORAGE_CLASS,
3161 _SANDBOX_EXTENSION_PREFIXMATCH, __amkrtemp, __sandbox_enter_notify_libxpc, 3218 _SANDBOX_EXTENSION_PREFIXMATCH, _SANDBOX_PROFILE_TYPE_AUTOBOX,
3162 __sandbox_in_a_container, __sandbox_register_app_bundle_0, 3219 _SANDBOX_PROFILE_TYPE_BASTION, _SANDBOX_PROFILE_TYPE_GLOBAL_OVERRIDE,
3220 _SANDBOX_PROFILE_TYPE_PLATFORM, _SANDBOX_PROFILE_TYPE_PROCESS,
3221 _SANDBOX_STORAGE_CLASS_GROUP_ANY, _SANDBOX_STORAGE_CLASS_PROPERTY_ACCEPTS_USER_APPROVAL,
3222 _SANDBOX_STORAGE_CLASS_PROPERTY_READ_RESTRICTED, _SANDBOX_STORAGE_CLASS_PROPERTY_REPLACEMENT_RESTRICTED,
3223 _SANDBOX_STORAGE_CLASS_PROPERTY_WRITE_RESTRICTED, __amkrtemp,
3224 __sandbox_enter_notify_libxpc, __sandbox_in_a_container, __sandbox_register_app_bundle_0,
3163 __sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, 3225 __sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork,
3164 _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, 3226 _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation,
3165 _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId, 3227 _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId,
...@@ -3179,7 +3241,8 @@ exports:...@@ -3179,7 +3241,8 @@ exports:
3179 _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path, 3241 _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path,
3180 _sandbox_check_message_filter_integer, _sandbox_check_message_filter_string, 3242 _sandbox_check_message_filter_integer, _sandbox_check_message_filter_string,
3181 _sandbox_check_process_signal_target, _sandbox_check_protected_app_container, 3243 _sandbox_check_process_signal_target, _sandbox_check_protected_app_container,
3182 _sandbox_check_self_signal_target, _sandbox_consume_extension, 3244 _sandbox_check_self_signal_target, _sandbox_check_storage_class,
3245 _sandbox_check_with_attribution, _sandbox_consume_extension,
3183 _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, 3246 _sandbox_consume_fs_extension, _sandbox_consume_mach_extension,
3184 _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, 3247 _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid,
3185 _sandbox_enable_local_state_flag, _sandbox_enable_root_translation, 3248 _sandbox_enable_local_state_flag, _sandbox_enable_root_translation,
...@@ -3205,15 +3268,16 @@ exports:...@@ -3205,15 +3268,16 @@ exports:
3205 _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception, 3268 _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception,
3206 _sandbox_register_app_container, _sandbox_register_app_container_exception, 3269 _sandbox_register_app_container, _sandbox_register_app_container_exception,
3207 _sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile, 3270 _sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile,
3208 _sandbox_register_sync_root, _sandbox_release_fs_extension, 3271 _sandbox_register_disk_image_backing_store, _sandbox_register_sync_root,
3209 _sandbox_requests_integrity_protection_for_preference_domain, 3272 _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain,
3210 _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, 3273 _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona,
3211 _sandbox_set_container_path_for_audit_token, _sandbox_set_container_path_for_signing_id, 3274 _sandbox_set_container_path_for_audit_token, _sandbox_set_container_path_for_signing_id,
3212 _sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer, 3275 _sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer,
3213 _sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init, 3276 _sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init,
3214 _sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename, 3277 _sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename,
3215 _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container, 3278 _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container,
3216 _sandbox_unregister_bastion_profile, _sandbox_unsuspend ]3279 _sandbox_unregister_bastion_profile, _sandbox_unregister_disk_image_backing_store,
3280 _sandbox_unsuspend ]
3217 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]3281 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
3218 symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT, 3282 symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT,
3219 _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply, 3283 _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply,
...@@ -3257,7 +3321,7 @@ tbd-version: 4...@@ -3257,7 +3321,7 @@ tbd-version: 4
3257targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3321targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3258 arm64e-macos, arm64e-maccatalyst ]3322 arm64e-macos, arm64e-maccatalyst ]
3259install-name: '/usr/lib/system/libsystem_secinit.dylib'3323install-name: '/usr/lib/system/libsystem_secinit.dylib'
3260current-version: 153.100.103324current-version: 168.0.3
3261parent-umbrella:3325parent-umbrella:
3262 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3326 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3263 arm64e-macos, arm64e-maccatalyst ]3327 arm64e-macos, arm64e-maccatalyst ]
...@@ -3290,7 +3354,7 @@ tbd-version: 4...@@ -3290,7 +3354,7 @@ tbd-version: 4
3290targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3354targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3291 arm64e-macos, arm64e-maccatalyst ]3355 arm64e-macos, arm64e-maccatalyst ]
3292install-name: '/usr/lib/system/libsystem_trace.dylib'3356install-name: '/usr/lib/system/libsystem_trace.dylib'
3293current-version: 1643.120.53357current-version: 1815.0.16
3294parent-umbrella:3358parent-umbrella:
3295 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3359 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3296 arm64e-macos, arm64e-maccatalyst ]3360 arm64e-macos, arm64e-maccatalyst ]
...@@ -3298,39 +3362,55 @@ parent-umbrella:...@@ -3298,39 +3362,55 @@ parent-umbrella:
3298exports:3362exports:
3299 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3363 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3300 arm64e-macos, arm64e-maccatalyst ]3364 arm64e-macos, arm64e-maccatalyst ]
3301 symbols: [ __libtrace_fork_child, __libtrace_init, __os_activity_create, 3365 symbols: [ _RTBinIndexForType, _RTLogBufferAddResource, _RTLogBufferAllocateResource,
3302 __os_activity_current, __os_activity_initiate, __os_activity_initiate_f, 3366 _RTLogBufferCheckStatus, _RTLogBufferGetHeader, _RTLogBufferGetResource,
3303 __os_activity_label_useraction, __os_activity_none, __os_activity_set_breadcrumb, 3367 _RTLogBufferGetResourceSize, _RTLogBufferInitialize, _RTLogBufferIterate,
3304 __os_activity_start, __os_activity_stream_entry_encode, __os_log_create, 3368 _RTLogBufferRequiredStorageSize, _RTLogConnect, _RTLogConnectMemoryConfigFromString,
3305 __os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled, 3369 _RTLogConnectRingBuffer, _RTLogDisconnect, _RTLogRingBufferCreateManaged,
3370 _RTLogRingBufferDataSize, _RTLogRingBufferGetSegmentCount,
3371 _RTLogRingBufferGetSegmentSize, _RTLogRingBufferInit, _RTLogRingBufferIsDataAvailable,
3372 _RTLogRingBufferIterate, _RTLogRingBufferIterateFrom, _RTLogRingBufferJoinManaged,
3373 _RTLogRingBufferReadAt, _RTLogRingBufferWriteBuffer, _RTLogRingBufferWriteMessage,
3374 _RTLogRingBufferWriteWithCallback, __libtrace_fork_child,
3375 __libtrace_init, __os_activity_create, __os_activity_current,
3376 __os_activity_initiate, __os_activity_initiate_f, __os_activity_label_useraction,
3377 __os_activity_none, __os_activity_set_breadcrumb, __os_activity_start,
3378 __os_activity_stream_entry_encode, __os_log_create, __os_log_debug,
3379 __os_log_debug_impl, __os_log_default, __os_log_disabled,
3306 __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl, 3380 __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl,
3307 __os_log_get_nscf_formatter, __os_log_impl, __os_log_internal, 3381 __os_log_get_nscf_formatter, __os_log_impl, __os_log_internal,
3308 __os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute, 3382 __os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute,
3309 __os_log_preferences_copy_cache, __os_log_preferences_load, 3383 __os_log_preferences_copy_cache, __os_log_preferences_load,
3310 __os_log_preferences_load_sysprefs, __os_log_preferences_merge, 3384 __os_log_preferences_load_sysprefs, __os_log_preferences_merge,
3311 __os_log_release, __os_log_send_and_compose_impl, __os_log_set_nscf_formatter, 3385 __os_log_release, __os_log_send_and_compose_impl, __os_log_set_nscf_formatter,
3312 __os_log_unreliable_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl, 3386 __os_log_unreliable_impl, __os_metric_double_create_impl,
3387 __os_metric_double_op_impl, __os_metric_int64_create_impl,
3388 __os_metric_int64_op_impl, __os_metric_label_create_impl,
3389 __os_metric_label_create_v, __os_metric_reset_impl, __os_metric_set_scale_impl,
3390 __os_metric_set_unit_impl, __os_metric_uint64_create_impl,
3391 __os_metric_uint64_op_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl,
3313 __os_signpost_emit_with_name_impl, __os_signpost_pack_fill, 3392 __os_signpost_emit_with_name_impl, __os_signpost_pack_fill,
3314 __os_signpost_pack_send, __os_state_request_for_pidlist, __os_trace_app_cryptex_sysprefsdir_path, 3393 __os_signpost_pack_send, __os_state_request_for_pidlist, __os_trace_app_cryptex_sysprefsdir_path,
3315 __os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available, 3394 __os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available,
3316 __os_trace_calloc, __os_trace_commpage_compute, __os_trace_fdscandir_b, 3395 __os_trace_calloc_typed, __os_trace_commpage_compute, __os_trace_fdscandir_b,
3317 __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid, 3396 __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid,
3318 __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path, 3397 __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path,
3319 __os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc, 3398 __os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc,
3320 __os_trace_lazy_init_completed_4swift, __os_trace_log_simple, 3399 __os_trace_lazy_init_completed_4swift, __os_trace_log_simple,
3321 __os_trace_macho_for_each_slice, __os_trace_malloc, __os_trace_memdup, 3400 __os_trace_macho_for_each_slice, __os_trace_malloc_typed,
3322 __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset, 3401 __os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset,
3323 __os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path, 3402 __os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path,
3324 __os_trace_prefs_latest_version_4tests, __os_trace_prefsdir_path, 3403 __os_trace_prefs_latest_version_4tests, __os_trace_prefsdir_path,
3325 __os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc, 3404 __os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc_typed,
3326 __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags, 3405 __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags,
3327 __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path, 3406 __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path,
3328 __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer, 3407 __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer,
3329 __os_trace_write, __os_trace_writev, __os_trace_zalloc, _amfi_check_dyld_policy_for_pid, 3408 __os_trace_write, __os_trace_writev, __os_trace_zalloc_typed,
3330 _amfi_check_dyld_policy_self, _amfi_load_trust_cache, _amfi_unload_trust_cache, 3409 _amfi_check_dyld_policy_for_pid, _amfi_check_dyld_policy_self,
3331 _os_activity_apply, _os_activity_apply_f, _os_activity_diagnostic_for_pid, 3410 _amfi_load_trust_cache, _amfi_unload_trust_cache, _os_activity_apply,
3332 _os_activity_end, _os_activity_for_task_thread, _os_activity_for_thread, 3411 _os_activity_apply_f, _os_activity_diagnostic_for_pid, _os_activity_end,
3333 _os_activity_get_active, _os_activity_get_identifier, _os_activity_iterate_activities, 3412 _os_activity_for_task_thread, _os_activity_for_thread, _os_activity_get_active,
3413 _os_activity_get_identifier, _os_activity_iterate_activities,
3334 _os_activity_iterate_breadcrumbs, _os_activity_iterate_messages, 3414 _os_activity_iterate_breadcrumbs, _os_activity_iterate_messages,
3335 _os_activity_iterate_processes, _os_activity_messages_for_thread, 3415 _os_activity_iterate_processes, _os_activity_messages_for_thread,
3336 _os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description, 3416 _os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description,
...@@ -3348,8 +3428,10 @@ exports:...@@ -3348,8 +3428,10 @@ exports:
3348 _os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback, 3428 _os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback,
3349 _os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback, 3429 _os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback,
3350 _os_log_shim_enabled, _os_log_shim_legacy_logging_enabled, 3430 _os_log_shim_enabled, _os_log_shim_legacy_logging_enabled,
3351 _os_log_shim_with_CFString, _os_log_type_enabled, _os_log_type_get_name, 3431 _os_log_shim_to_stdout, _os_log_shim_with_CFString, _os_log_shim_with_CFString_4NSLog,
3352 _os_log_with_args, _os_set_logging_unreliable_for_current_thread, 3432 _os_log_type_enabled, _os_log_type_get_name, _os_log_with_args,
3433 _os_log_with_args_4syslog, _os_metric_dimensions_add, _os_metric_dimensions_create,
3434 _os_metric_group_create, _os_set_logging_unreliable_for_current_thread,
3353 _os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer, 3435 _os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer,
3354 _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler, 3436 _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler,
3355 _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode, 3437 _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode,
...@@ -3357,6 +3439,18 @@ exports:...@@ -3357,6 +3439,18 @@ exports:
3357 objc-classes: [ OS_os_log ]3439 objc-classes: [ OS_os_log ]
3358--- !tapi-tbd3440--- !tapi-tbd
3359tbd-version: 43441tbd-version: 4
3442targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
3443install-name: '/usr/lib/system/libsystem_trial.dylib'
3444current-version: 474
3445parent-umbrella:
3446 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
3447 umbrella: System
3448exports:
3449 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
3450 symbols: [ __os_trial_factor_get_bool_impl, __os_trial_factor_get_long_impl,
3451 __os_trial_factor_has_impl ]
3452--- !tapi-tbd
3453tbd-version: 4
3360targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3454targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3361 arm64e-macos, arm64e-maccatalyst ]3455 arm64e-macos, arm64e-maccatalyst ]
3362install-name: '/usr/lib/system/libunwind.dylib'3456install-name: '/usr/lib/system/libunwind.dylib'
...@@ -3390,7 +3484,7 @@ tbd-version: 4...@@ -3390,7 +3484,7 @@ tbd-version: 4
3390targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3484targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3391 arm64e-macos, arm64e-maccatalyst ]3485 arm64e-macos, arm64e-maccatalyst ]
3392install-name: '/usr/lib/system/libxpc.dylib'3486install-name: '/usr/lib/system/libxpc.dylib'
3393current-version: 2894.121.33487current-version: 3089.0.11
3394parent-umbrella:3488parent-umbrella:
3395 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, 3489 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
3396 arm64e-macos, arm64e-maccatalyst ]3490 arm64e-macos, arm64e-maccatalyst ]
...@@ -3433,11 +3527,11 @@ exports:...@@ -3433,11 +3527,11 @@ exports:
3433 _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE, 3527 _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE,
3434 _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING, 3528 _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING,
3435 _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER, 3529 _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER,
3436 _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_NAME, 3530 _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_LEADER_PID,
3437 _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, ___xpc_connection_set_logging, 3531 _XPC_COALITION_INFO_KEY_NAME, _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB,
3438 __availability_version_check, __launch_job_query_routine, 3532 ___xpc_connection_set_logging, __availability_version_check,
3439 __launch_job_routine, __launch_job_routine_async, __launch_msg2, 3533 __launch_job_query_routine, __launch_job_routine, __launch_job_routine_async,
3440 __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl, 3534 __launch_msg2, __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl,
3441 __launch_service_stats_copy_impl, __launch_trial_factors_routine, 3535 __launch_service_stats_copy_impl, __launch_trial_factors_routine,
3442 __libxpc_initializer, __spawn_via_launchd, __system_ios_support_version_copy_string_sysctl, 3536 __libxpc_initializer, __spawn_via_launchd, __system_ios_support_version_copy_string_sysctl,
3443 __system_version_copy_string_plist, __system_version_copy_string_sysctl, 3537 __system_version_copy_string_plist, __system_version_copy_string_sysctl,
...@@ -3466,7 +3560,8 @@ exports:...@@ -3466,7 +3560,8 @@ exports:
3466 __xpc_error_peer_code_signing_requirement, __xpc_error_termination_imminent, 3560 __xpc_error_peer_code_signing_requirement, __xpc_error_termination_imminent,
3467 __xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port, 3561 __xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port,
3468 __xpc_int64_set_value, __xpc_payload_create_from_mach_msg, 3562 __xpc_int64_set_value, __xpc_payload_create_from_mach_msg,
3469 __xpc_pipe_handle_mig, __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async, 3563 __xpc_peer_requirement_match_token, __xpc_pipe_handle_mig,
3564 __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async,
3470 __xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data, 3565 __xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data,
3471 __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed, 3566 __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed,
3472 __xpc_runtime_process_has_entered_sandbox, __xpc_service_last_xref_cancel, 3567 __xpc_runtime_process_has_entered_sandbox, __xpc_service_last_xref_cancel,
...@@ -3484,8 +3579,8 @@ exports:...@@ -3484,8 +3579,8 @@ exports:
3484 __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once, 3579 __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once,
3485 __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error, 3580 __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error,
3486 __xpc_type_serializer, __xpc_type_service, __xpc_type_service_instance, 3581 __xpc_type_serializer, __xpc_type_service, __xpc_type_service_instance,
3487 __xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_uint64, 3582 __xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_string_cache,
3488 __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved, 3583 __xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved,
3489 _amfi_developer_mode_status, _amfi_interface_authorize_local_signing, 3584 _amfi_developer_mode_status, _amfi_interface_authorize_local_signing,
3490 _amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key, 3585 _amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key,
3491 _amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state, 3586 _amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state,
...@@ -3500,8 +3595,8 @@ exports:...@@ -3500,8 +3595,8 @@ exports:
3500 _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, 3595 _bootstrap_status, _bootstrap_strerror, _bootstrap_subset,
3501 _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd, 3596 _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd,
3502 _launch_activate_socket, _launch_active_user_login, _launch_active_user_logout, 3597 _launch_activate_socket, _launch_active_user_login, _launch_active_user_logout,
3503 _launch_active_user_switch, _launch_add_external_service, 3598 _launch_add_external_service, _launch_bootout_user_service_4coresim,
3504 _launch_bootout_user_service_4coresim, _launch_copy_busy_extension_instances, 3599 _launch_bootout_user_service_4coresim_with_flags, _launch_copy_busy_extension_instances,
3505 _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties, 3600 _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties,
3506 _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond, 3601 _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond,
3507 _launch_create_persona, _launch_cryptex_terminate, _launch_data_alloc, 3602 _launch_create_persona, _launch_cryptex_terminate, _launch_data_alloc,
...@@ -3542,11 +3637,12 @@ exports:...@@ -3542,11 +3637,12 @@ exports:
3542 _mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version, 3637 _mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version,
3543 _os_system_version_sim_get_current_host_version, _os_transaction_copy_description, 3638 _os_system_version_sim_get_current_host_version, _os_transaction_copy_description,
3544 _os_transaction_create, _os_transaction_get_description, _os_transaction_get_ra, 3639 _os_transaction_create, _os_transaction_get_description, _os_transaction_get_ra,
3545 _os_transaction_get_timestamp, _os_transaction_needs_more_time, 3640 _os_transaction_get_timestamp, _os_transaction_log_active,
3546 _place_hold_on_real_loginwindow, _reboot2, _reboot3, _vproc_release, 3641 _os_transaction_needs_more_time, _place_hold_on_real_loginwindow,
3547 _vproc_retain, _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex, 3642 _reboot2, _reboot3, _vproc_release, _vproc_retain, _vproc_standby_begin,
3548 _vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin, 3643 _vproc_standby_end, _vproc_swap_complex, _vproc_swap_integer,
3549 _vproc_transaction_end, _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler, 3644 _vproc_swap_string, _vproc_transaction_begin, _vproc_transaction_end,
3645 _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler,
3550 _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue, 3646 _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue,
3551 _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change, 3647 _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change,
3552 _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage, 3648 _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage,
...@@ -3575,7 +3671,8 @@ exports:...@@ -3575,7 +3671,8 @@ exports:
3575 _xpc_binprefs_set_psattr, _xpc_bool_create, _xpc_bool_get_value, 3671 _xpc_binprefs_set_psattr, _xpc_bool_create, _xpc_bool_get_value,
3576 _xpc_bs_main, _xpc_bundle_copy_info_dictionary, _xpc_bundle_copy_normalized_cryptex_path, 3672 _xpc_bs_main, _xpc_bundle_copy_info_dictionary, _xpc_bundle_copy_normalized_cryptex_path,
3577 _xpc_bundle_copy_resource_path, _xpc_bundle_copy_services, 3673 _xpc_bundle_copy_resource_path, _xpc_bundle_copy_services,
3578 _xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_main, 3674 _xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_from_origin_with_string_cache,
3675 _xpc_bundle_create_main, _xpc_bundle_create_with_string_cache,
3579 _xpc_bundle_get_error, _xpc_bundle_get_executable_path, _xpc_bundle_get_info_dictionary, 3676 _xpc_bundle_get_error, _xpc_bundle_get_executable_path, _xpc_bundle_get_info_dictionary,
3580 _xpc_bundle_get_path, _xpc_bundle_get_property, _xpc_bundle_get_xpcservice_dictionary, 3677 _xpc_bundle_get_path, _xpc_bundle_get_property, _xpc_bundle_get_xpcservice_dictionary,
3581 _xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue, 3678 _xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue,
...@@ -3602,11 +3699,11 @@ exports:...@@ -3602,11 +3699,11 @@ exports:
3602 _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement, 3699 _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement,
3603 _xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement, 3700 _xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement,
3604 _xpc_connection_set_peer_lightweight_code_requirement, _xpc_connection_set_peer_platform_identity_requirement, 3701 _xpc_connection_set_peer_lightweight_code_requirement, _xpc_connection_set_peer_platform_identity_requirement,
3605 _xpc_connection_set_peer_team_identity_requirement, _xpc_connection_set_privileged, 3702 _xpc_connection_set_peer_requirement, _xpc_connection_set_peer_team_identity_requirement,
3606 _xpc_connection_set_qos_class_fallback, _xpc_connection_set_qos_class_floor, 3703 _xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback,
3607 _xpc_connection_set_target_queue, _xpc_connection_set_target_uid, 3704 _xpc_connection_set_qos_class_floor, _xpc_connection_set_target_queue,
3608 _xpc_connection_set_target_user_session_uid, _xpc_connection_suspend, 3705 _xpc_connection_set_target_uid, _xpc_connection_set_target_user_session_uid,
3609 _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description, 3706 _xpc_connection_suspend, _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description,
3610 _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description, 3707 _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description,
3611 _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self, 3708 _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self,
3612 _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token, 3709 _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token,
...@@ -3614,7 +3711,8 @@ exports:...@@ -3614,7 +3711,8 @@ exports:
3614 _xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description, 3711 _xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description,
3615 _xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key, 3712 _xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key,
3616 _xpc_create_from_plist, _xpc_create_from_plist_descriptor, 3713 _xpc_create_from_plist, _xpc_create_from_plist_descriptor,
3617 _xpc_create_from_serialization, _xpc_create_from_serialization_with_ool, 3714 _xpc_create_from_plist_with_string_cache, _xpc_create_from_serialization,
3715 _xpc_create_from_serialization_with_ool, _xpc_create_from_serialization_with_string_cache,
3618 _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments, 3716 _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments,
3619 _xpc_create_with_format, _xpc_create_with_format_and_arguments, 3717 _xpc_create_with_format, _xpc_create_with_format_and_arguments,
3620 _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes, 3718 _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes,
...@@ -3640,18 +3738,19 @@ exports:...@@ -3640,18 +3738,19 @@ exports:
3640 _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, 3738 _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv,
3641 _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, 3739 _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer,
3642 _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, 3740 _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid,
3643 _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value, 3741 _xpc_dictionary_set_value, _xpc_dictionary_set_value_with_key_string_cache,
3644 _xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim, 3742 _xpc_double_create, _xpc_double_get_value, _xpc_endpoint_compare,
3645 _xpc_endpoint_create, _xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named, 3743 _xpc_endpoint_copy_listener_port_4sim, _xpc_endpoint_create,
3646 _xpc_endpoint_create_bs_service, _xpc_endpoint_create_mach_port_4sim, 3744 _xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named,
3647 _xpc_endpoint_get_bs_job_handle, _xpc_equal, _xpc_event_publisher_activate, 3745 _xpc_endpoint_create_bs_named_user, _xpc_endpoint_create_bs_service,
3648 _xpc_event_publisher_copy_event, _xpc_event_publisher_create, 3746 _xpc_endpoint_create_mach_port_4sim, _xpc_endpoint_get_bs_job_handle,
3649 _xpc_event_publisher_create_subscription, _xpc_event_publisher_fire, 3747 _xpc_equal, _xpc_event_publisher_activate, _xpc_event_publisher_copy_event,
3650 _xpc_event_publisher_fire_barrier, _xpc_event_publisher_fire_noboost, 3748 _xpc_event_publisher_create, _xpc_event_publisher_create_subscription,
3651 _xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync, 3749 _xpc_event_publisher_fire, _xpc_event_publisher_fire_barrier,
3652 _xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler, 3750 _xpc_event_publisher_fire_noboost, _xpc_event_publisher_fire_with_reply,
3653 _xpc_event_publisher_set_event, _xpc_event_publisher_set_handler, 3751 _xpc_event_publisher_fire_with_reply_sync, _xpc_event_publisher_get_subscriber_asid,
3654 _xpc_event_publisher_set_initial_load_completed_handler_4remoted, 3752 _xpc_event_publisher_set_error_handler, _xpc_event_publisher_set_event,
3753 _xpc_event_publisher_set_handler, _xpc_event_publisher_set_initial_load_completed_handler_4remoted,
3655 _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_publisher_set_throttling, 3754 _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_publisher_set_throttling,
3656 _xpc_event_stream_check_in, _xpc_event_stream_check_in2, _xpc_exit_reason_get_label, 3755 _xpc_event_stream_check_in, _xpc_event_stream_check_in2, _xpc_exit_reason_get_label,
3657 _xpc_extension_type_init, _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel, 3756 _xpc_extension_type_init, _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel,
...@@ -3671,49 +3770,56 @@ exports:...@@ -3671,49 +3770,56 @@ exports:
3671 _xpc_is_system_session, _xpc_is_xpcservice, _xpc_listener_activate, 3770 _xpc_is_system_session, _xpc_is_xpcservice, _xpc_listener_activate,
3672 _xpc_listener_cancel, _xpc_listener_copy_description, _xpc_listener_create, 3771 _xpc_listener_cancel, _xpc_listener_copy_description, _xpc_listener_create,
3673 _xpc_listener_create_anonymous, _xpc_listener_create_endpoint, 3772 _xpc_listener_create_anonymous, _xpc_listener_create_endpoint,
3674 _xpc_listener_reject_peer, _xpc_listener_set_peer_code_signing_requirement, 3773 _xpc_listener_reject_peer, _xpc_listener_set_incoming_session_handler,
3774 _xpc_listener_set_peer_code_signing_requirement, _xpc_listener_set_peer_requirement,
3675 _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right, 3775 _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right,
3676 _xpc_mach_send_create, _xpc_mach_send_create_with_disposition, 3776 _xpc_mach_send_create, _xpc_mach_send_create_with_disposition,
3677 _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right, 3777 _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right,
3678 _xpc_main, _xpc_make_serialization, _xpc_make_serialization_with_ool, 3778 _xpc_main, _xpc_make_serialization, _xpc_make_serialization_with_ool,
3679 _xpc_null_create, _xpc_pipe_create, _xpc_pipe_create_from_port, 3779 _xpc_null_create, _xpc_peer_requirement_create_entitlement_exists,
3680 _xpc_pipe_create_reply_from_port, _xpc_pipe_create_with_user_session_uid, 3780 _xpc_peer_requirement_create_entitlement_matches_value, _xpc_peer_requirement_create_lwcr,
3681 _xpc_pipe_invalidate, _xpc_pipe_receive, _xpc_pipe_routine, 3781 _xpc_peer_requirement_create_platform_identity, _xpc_peer_requirement_create_team_identity,
3682 _xpc_pipe_routine_async, _xpc_pipe_routine_forward, _xpc_pipe_routine_reply, 3782 _xpc_peer_requirement_match_received_message, _xpc_pipe_create,
3683 _xpc_pipe_routine_with_flags, _xpc_pipe_simpleroutine, _xpc_pipe_try_receive, 3783 _xpc_pipe_create_from_port, _xpc_pipe_create_reply_from_port,
3684 _xpc_pointer_create, _xpc_pointer_get_value, _xpc_receive_mach_msg, 3784 _xpc_pipe_create_with_user_session_uid, _xpc_pipe_invalidate,
3685 _xpc_receive_mach_msg_validate_hdr, _xpc_receive_remote_msg, 3785 _xpc_pipe_receive, _xpc_pipe_routine, _xpc_pipe_routine_async,
3686 _xpc_release, _xpc_retain, _xpc_rich_error_can_retry, _xpc_rich_error_copy_description, 3786 _xpc_pipe_routine_forward, _xpc_pipe_routine_reply, _xpc_pipe_routine_with_flags,
3687 _xpc_service_attach, _xpc_service_attach_with_flags, _xpc_service_create, 3787 _xpc_pipe_simpleroutine, _xpc_pipe_try_receive, _xpc_pointer_create,
3688 _xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token, 3788 _xpc_pointer_get_value, _xpc_receive_mach_msg, _xpc_receive_mach_msg_validate_hdr,
3789 _xpc_receive_remote_msg, _xpc_release, _xpc_retain, _xpc_rich_error_can_retry,
3790 _xpc_rich_error_copy_description, _xpc_service_attach, _xpc_service_attach_with_flags,
3791 _xpc_service_create, _xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token,
3689 _xpc_service_instance_dup2, _xpc_service_instance_get_context, 3792 _xpc_service_instance_dup2, _xpc_service_instance_get_context,
3690 _xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid, 3793 _xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid,
3691 _xpc_service_instance_get_type, _xpc_service_instance_is_configurable, 3794 _xpc_service_instance_get_type, _xpc_service_instance_is_configurable,
3692 _xpc_service_instance_run, _xpc_service_instance_set_binpref, 3795 _xpc_service_instance_run, _xpc_service_instance_set_archpref,
3693 _xpc_service_instance_set_context, _xpc_service_instance_set_cwd, 3796 _xpc_service_instance_set_binpref, _xpc_service_instance_set_context,
3694 _xpc_service_instance_set_endpoint, _xpc_service_instance_set_environment, 3797 _xpc_service_instance_set_cwd, _xpc_service_instance_set_endpoint,
3695 _xpc_service_instance_set_finalizer_f, _xpc_service_instance_set_jetsam_properties, 3798 _xpc_service_instance_set_environment, _xpc_service_instance_set_finalizer_f,
3696 _xpc_service_instance_set_path, _xpc_service_instance_set_start_suspended, 3799 _xpc_service_instance_set_jetsam_properties, _xpc_service_instance_set_path,
3697 _xpc_service_instance_set_use_sec_transition_shims, _xpc_service_kickstart, 3800 _xpc_service_instance_set_start_suspended, _xpc_service_instance_set_use_sec_transition_shims,
3698 _xpc_service_kickstart_with_flags, _xpc_service_set_attach_handler, 3801 _xpc_service_kickstart, _xpc_service_kickstart_with_flags,
3699 _xpc_session_activate, _xpc_session_cancel, _xpc_session_copy_description, 3802 _xpc_service_set_attach_handler, _xpc_session_activate, _xpc_session_cancel,
3700 _xpc_session_create_mach_service, _xpc_session_create_xpc_endpoint, 3803 _xpc_session_copy_description, _xpc_session_create_mach_service,
3701 _xpc_session_create_xpc_service, _xpc_session_send_message, 3804 _xpc_session_create_xpc_endpoint, _xpc_session_create_xpc_service,
3702 _xpc_session_send_message_with_reply_async, _xpc_session_send_message_with_reply_sync, 3805 _xpc_session_send_message, _xpc_session_send_message_with_reply_async,
3703 _xpc_session_set_cancel_handler, _xpc_session_set_incoming_message_handler, 3806 _xpc_session_send_message_with_reply_sync, _xpc_session_set_cancel_handler,
3704 _xpc_session_set_instance, _xpc_session_set_peer_code_signing_requirement, 3807 _xpc_session_set_incoming_message_handler, _xpc_session_set_instance,
3808 _xpc_session_set_peer_code_signing_requirement, _xpc_session_set_peer_requirement,
3705 _xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid, 3809 _xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid,
3706 _xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler, 3810 _xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler,
3707 _xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create, 3811 _xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create,
3708 _xpc_shmem_create_readonly, _xpc_shmem_get_length, _xpc_shmem_map, 3812 _xpc_shmem_create_readonly, _xpc_shmem_get_length, _xpc_shmem_map,
3709 _xpc_strerror, _xpc_string_create, _xpc_string_create_no_copy, 3813 _xpc_strerror, _xpc_string_cache_create, _xpc_string_cache_for_each,
3710 _xpc_string_create_with_format, _xpc_string_create_with_format_and_arguments, 3814 _xpc_string_cache_get_count, _xpc_string_cache_get_name, _xpc_string_create,
3711 _xpc_string_get_length, _xpc_string_get_string_ptr, _xpc_test_symbols_exported, 3815 _xpc_string_create_cached, _xpc_string_create_no_copy, _xpc_string_create_with_format,
3712 _xpc_track_activity, _xpc_transaction_begin, _xpc_transaction_end, 3816 _xpc_string_create_with_format_and_arguments, _xpc_string_get_length,
3713 _xpc_transaction_exit_clean, _xpc_transaction_interrupt_clean_exit, 3817 _xpc_string_get_string_ptr, _xpc_test_symbols_exported, _xpc_track_activity,
3714 _xpc_transaction_try_exit_clean, _xpc_transactions_enable, 3818 _xpc_transaction_begin, _xpc_transaction_end, _xpc_transaction_exit_clean,
3715 _xpc_traverse_serialized_data, _xpc_type_get_name, _xpc_uint64_create, 3819 _xpc_transaction_interrupt_clean_exit, _xpc_transaction_try_exit_clean,
3716 _xpc_uint64_get_value, _xpc_user_sessions_enabled, _xpc_user_sessions_get_foreground_uid, 3820 _xpc_transactions_enable, _xpc_traverse_serialized_data, _xpc_type_get_name,
3717 _xpc_user_sessions_get_session_uid, _xpc_uuid_create, _xpc_uuid_get_bytes ]3821 _xpc_uint64_create, _xpc_uint64_get_value, _xpc_user_sessions_enabled,
3822 _xpc_user_sessions_get_foreground_uid, _xpc_user_sessions_get_session_uid,
3823 _xpc_uuid_create, _xpc_uuid_get_bytes ]
3718 objc-classes: [ OS_xpc_object ]3824 objc-classes: [ OS_xpc_object ]
3719...3825...
lib/libc/include/any-macos-any/Availability.h+12-7
...@@ -469,6 +469,9 @@...@@ -469,6 +469,9 @@
469 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,469 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
470 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension470 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
471 *471 *
472 * Within each platform a tuple of versions will represent the version the API was
473 * introduced in, followed by the version it was deperecated in.
474 *
472 * Examples:475 * Examples:
473 *476 *
474 * __API_DEPRECATED("Deprecated", macos(10.4, 10.8))477 * __API_DEPRECATED("Deprecated", macos(10.4, 10.8))
...@@ -487,6 +490,7 @@...@@ -487,6 +490,7 @@
487 #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")490 #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
488491
489 492
493
490 #define __API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__)494 #define __API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__)
491 #define __API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__)495 #define __API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__)
492496
...@@ -496,6 +500,7 @@...@@ -496,6 +500,7 @@
496 #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN15,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN14,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN13,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN12,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN11,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN10,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN9,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN8,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN7,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN6,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN5,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN4,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN3,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN2,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN1,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)500 #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN15,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN14,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN13,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN12,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN11,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN10,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN9,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN8,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN7,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN6,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN5,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN4,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN3,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN2,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN1,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
497 #define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")501 #define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
498502
503
499 /*504 /*
500 * API Unavailability505 * API Unavailability
501 * Use to specify that an API is unavailable for a particular platform.506 * Use to specify that an API is unavailable for a particular platform.
...@@ -524,7 +529,7 @@...@@ -524,7 +529,7 @@
524#endif529#endif
525530
526#ifndef __API_AVAILABLE_END531#ifndef __API_AVAILABLE_END
527 #define __API_AVAILABLE_END(...)532 #define __API_AVAILABLE_END
528#endif533#endif
529534
530#ifndef __API_DEPRECATED535#ifndef __API_DEPRECATED
...@@ -536,7 +541,7 @@...@@ -536,7 +541,7 @@
536#endif541#endif
537542
538#ifndef __API_DEPRECATED_END543#ifndef __API_DEPRECATED_END
539 #define __API_DEPRECATED_END(...)544 #define __API_DEPRECATED_END
540#endif545#endif
541546
542#ifndef __API_DEPRECATED_WITH_REPLACEMENT547#ifndef __API_DEPRECATED_WITH_REPLACEMENT
...@@ -548,7 +553,7 @@...@@ -548,7 +553,7 @@
548#endif553#endif
549554
550#ifndef __API_DEPRECATED_WITH_REPLACEMENT_END555#ifndef __API_DEPRECATED_WITH_REPLACEMENT_END
551 #define __API_DEPRECATED_WITH_REPLACEMENT_END(...)556 #define __API_DEPRECATED_WITH_REPLACEMENT_END
552#endif557#endif
553558
554#ifndef __API_OBSOLETED559#ifndef __API_OBSOLETED
...@@ -560,7 +565,7 @@...@@ -560,7 +565,7 @@
560#endif565#endif
561566
562#ifndef __API_OBSOLETED_END567#ifndef __API_OBSOLETED_END
563 #define __API_OBSOLETED_END(...)568 #define __API_OBSOLETED_END
564#endif569#endif
565570
566#ifndef __API_OBSOLETED_WITH_REPLACEMENT571#ifndef __API_OBSOLETED_WITH_REPLACEMENT
...@@ -572,7 +577,7 @@...@@ -572,7 +577,7 @@
572#endif577#endif
573578
574#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END579#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END
575 #define __API_OBSOLETED_WITH_REPLACEMENT_END(...)580 #define __API_OBSOLETED_WITH_REPLACEMENT_END
576#endif581#endif
577582
578#ifndef __API_UNAVAILABLE583#ifndef __API_UNAVAILABLE
...@@ -584,7 +589,7 @@...@@ -584,7 +589,7 @@
584#endif589#endif
585590
586#ifndef __API_UNAVAILABLE_END591#ifndef __API_UNAVAILABLE_END
587 #define __API_UNAVAILABLE_END(...)592 #define __API_UNAVAILABLE_END
588#endif593#endif
589594
590/*595/*
...@@ -600,7 +605,7 @@...@@ -600,7 +605,7 @@
600#endif605#endif
601606
602#ifndef __SPI_AVAILABLE_END607#ifndef __SPI_AVAILABLE_END
603 #define __SPI_AVAILABLE_END(...)608 #define __SPI_AVAILABLE_END
604#endif609#endif
605610
606#ifndef __SPI_DEPRECATED611#ifndef __SPI_DEPRECATED
lib/libc/include/any-macos-any/AvailabilityInternal.h+66-54
...@@ -33,81 +33,93 @@...@@ -33,81 +33,93 @@
33#include <AvailabilityVersions.h>33#include <AvailabilityVersions.h>
3434
35#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED35#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED
36 #if defined(__has_builtin) && __has_builtin(__is_target_os)36 #if defined(__has_builtin)
37 #if __is_target_os(macos)37 #if __has_builtin(__is_target_os)
38 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__38 #if __is_target_os(macos)
39 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_539 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
40 #endif40 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
41 #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 41 #endif
42 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__42 #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
43 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_543 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
44 #endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */44 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
45 #endif /* __has_builtin(__is_target_os) */
46 #endif /* defined(__has_builtin) */
45#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */47#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
4648
47#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED49#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
48 #if defined(__has_builtin) && __has_builtin(__is_target_os)50 #if defined(__has_builtin)
49 #if __is_target_os(ios)51 #if __has_builtin(__is_target_os)
50 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__52 #if __is_target_os(ios)
51 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_553 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
52 #endif54 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
53 #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ 55 #endif
54 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__56 #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
55 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_557 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
56 #endif /* __has_builtin(__is_target_os) && __is_target_os(ios) */58 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
59 #endif /* __has_builtin(__is_target_os) */
60 #endif /* defined(__has_builtin) */
57#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */61#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
5862
59#ifndef __WATCH_OS_VERSION_MIN_REQUIRED63#ifndef __WATCH_OS_VERSION_MIN_REQUIRED
60 #if defined(__has_builtin) && __has_builtin(__is_target_os)64 #if defined(__has_builtin)
61 #if __is_target_os(watchos)65 #if __has_builtin(__is_target_os)
62 #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__66 #if __is_target_os(watchos)
63 #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_11_567 #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
68 #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_0
69 /* for compatibility with existing code. New code should use platform specific checks */
70 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
71 #endif
72 #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
73 #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
74 #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_0
64 /* for compatibility with existing code. New code should use platform specific checks */75 /* for compatibility with existing code. New code should use platform specific checks */
65 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_076 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
66 #endif77 #endif /* __has_builtin(__is_target_os) */
67 #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ 78 #endif /* defined(__has_builtin) */
68 #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
69 #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_11_5
70 /* for compatibility with existing code. New code should use platform specific checks */
71 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
72 #endif /* __has_builtin(__is_target_os) && __is_target_os(watchos) */
73#endif /* __WATCH_OS_VERSION_MIN_REQUIRED */79#endif /* __WATCH_OS_VERSION_MIN_REQUIRED */
7480
75#ifndef __TV_OS_VERSION_MIN_REQUIRED81#ifndef __TV_OS_VERSION_MIN_REQUIRED
76 #if defined(__has_builtin) && __has_builtin(__is_target_os)82 #if defined(__has_builtin)
77 #if __is_target_os(tvos)83 #if __has_builtin(__is_target_os)
78 #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__84 #if __is_target_os(tvos)
79 #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_18_585 #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
86 #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_0
87 /* for compatibility with existing code. New code should use platform specific checks */
88 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
89 #endif
90 #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
91 #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
92 #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_0
80 /* for compatibility with existing code. New code should use platform specific checks */93 /* for compatibility with existing code. New code should use platform specific checks */
81 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_094 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
82 #endif95 #endif /* __has_builtin(__is_target_os) */
83 #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ 96 #endif /* defined(__has_builtin) */
84 #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
85 #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_18_5
86 /* for compatibility with existing code. New code should use platform specific checks */
87 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
88 #endif /* __has_builtin(__is_target_os) && __is_target_os(tvos) */
89#endif /* __TV_OS_VERSION_MIN_REQUIRED */97#endif /* __TV_OS_VERSION_MIN_REQUIRED */
9098
9199
92100
93#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED101#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED
94 #if defined(__has_builtin) && __has_builtin(__is_target_os)102 #if defined(__has_builtin)
95 #if __is_target_os(driverkit)103 #if __has_builtin(__is_target_os)
96 #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__104 #if __is_target_os(driverkit)
97 #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_24_5105 #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
98 #endif106 #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_0
99 #endif /* __has_builtin(__is_target_os) && __is_target_os(driverkit) */107 #endif
108 #endif /* __has_builtin(__is_target_os) */
109 #endif /* defined(__has_builtin) */
100#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */110#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */
101111
102#ifndef __VISION_OS_VERSION_MIN_REQUIRED112#ifndef __VISION_OS_VERSION_MIN_REQUIRED
103 #if defined(__has_builtin) && __has_builtin(__is_target_os)113 #if defined(__has_builtin)
104 #if __is_target_os(visionos)114 #if __has_builtin(__is_target_os)
105 #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__115 #if __is_target_os(visionos)
106 #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_2_5116 #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
107 /* for compatibility with existing code. New code should use platform specific checks */117 #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_0
108 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1118 /* for compatibility with existing code. New code should use platform specific checks */
109 #endif119 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
110 #endif /* __has_builtin(__is_target_os) && __is_target_os(visionos) */120 #endif
121 #endif /* __has_builtin(__is_target_os) */
122 #endif /* defined(__has_builtin) */
111#endif /* __VISION_OS_VERSION_MIN_REQUIRED */123#endif /* __VISION_OS_VERSION_MIN_REQUIRED */
112124
113125
lib/libc/include/any-macos-any/AvailabilityVersions.h+22-5
...@@ -74,7 +74,6 @@...@@ -74,7 +74,6 @@
74#define __MAC_12_7 12070074#define __MAC_12_7 120700
75#define __MAC_13_0 13000075#define __MAC_13_0 130000
76#define __MAC_13_1 13010076#define __MAC_13_1 130100
77#define __MAC_13_1 130100
78#define __MAC_13_2 13020077#define __MAC_13_2 130200
79#define __MAC_13_3 13030078#define __MAC_13_3 130300
80#define __MAC_13_4 13040079#define __MAC_13_4 130400
...@@ -95,6 +94,9 @@...@@ -95,6 +94,9 @@
95#define __MAC_15_3 15030094#define __MAC_15_3 150300
96#define __MAC_15_4 15040095#define __MAC_15_4 150400
97#define __MAC_15_5 15050096#define __MAC_15_5 150500
97#define __MAC_15_6 150600
98#define __MAC_16_0 160000
99#define __MAC_26_0 260000
98/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */100/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
99101
100#define __IPHONE_2_0 20000102#define __IPHONE_2_0 20000
...@@ -149,8 +151,6 @@...@@ -149,8 +151,6 @@
149#define __IPHONE_14_2 140200151#define __IPHONE_14_2 140200
150#define __IPHONE_14_3 140300152#define __IPHONE_14_3 140300
151#define __IPHONE_14_5 140500153#define __IPHONE_14_5 140500
152#define __IPHONE_14_4 140400
153#define __IPHONE_14_5 140500
154#define __IPHONE_14_6 140600154#define __IPHONE_14_6 140600
155#define __IPHONE_14_7 140700155#define __IPHONE_14_7 140700
156#define __IPHONE_14_8 140800156#define __IPHONE_14_8 140800
...@@ -185,6 +185,9 @@...@@ -185,6 +185,9 @@
185#define __IPHONE_18_3 180300185#define __IPHONE_18_3 180300
186#define __IPHONE_18_4 180400186#define __IPHONE_18_4 180400
187#define __IPHONE_18_5 180500187#define __IPHONE_18_5 180500
188#define __IPHONE_18_6 180600
189#define __IPHONE_19_0 190000
190#define __IPHONE_26_0 260000
188/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */191/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
189192
190#define __WATCHOS_1_0 10000193#define __WATCHOS_1_0 10000
...@@ -242,6 +245,9 @@...@@ -242,6 +245,9 @@
242#define __WATCHOS_11_3 110300245#define __WATCHOS_11_3 110300
243#define __WATCHOS_11_4 110400246#define __WATCHOS_11_4 110400
244#define __WATCHOS_11_5 110500247#define __WATCHOS_11_5 110500
248#define __WATCHOS_11_6 110600
249#define __WATCHOS_12_0 120000
250#define __WATCHOS_26_0 260000
245/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */251/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
246252
247#define __TVOS_9_0 90000253#define __TVOS_9_0 90000
...@@ -299,6 +305,9 @@...@@ -299,6 +305,9 @@
299#define __TVOS_18_3 180300305#define __TVOS_18_3 180300
300#define __TVOS_18_4 180400306#define __TVOS_18_4 180400
301#define __TVOS_18_5 180500307#define __TVOS_18_5 180500
308#define __TVOS_18_6 180600
309#define __TVOS_19_0 190000
310#define __TVOS_26_0 260000
302/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */311/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
303312
304#define __BRIDGEOS_2_0 20000313#define __BRIDGEOS_2_0 20000
...@@ -317,7 +326,6 @@...@@ -317,7 +326,6 @@
317#define __BRIDGEOS_6_6 60600326#define __BRIDGEOS_6_6 60600
318#define __BRIDGEOS_7_0 70000327#define __BRIDGEOS_7_0 70000
319#define __BRIDGEOS_7_1 70100328#define __BRIDGEOS_7_1 70100
320#define __BRIDGEOS_7_1 70100
321#define __BRIDGEOS_7_2 70200329#define __BRIDGEOS_7_2 70200
322#define __BRIDGEOS_7_3 70300330#define __BRIDGEOS_7_3 70300
323#define __BRIDGEOS_7_4 70400331#define __BRIDGEOS_7_4 70400
...@@ -335,6 +343,8 @@...@@ -335,6 +343,8 @@
335#define __BRIDGEOS_9_3 90300343#define __BRIDGEOS_9_3 90300
336#define __BRIDGEOS_9_4 90400344#define __BRIDGEOS_9_4 90400
337#define __BRIDGEOS_9_5 90500345#define __BRIDGEOS_9_5 90500
346#define __BRIDGEOS_9_6 90600
347#define __BRIDGEOS_10_0 100000
338348
339349
340#define __DRIVERKIT_19_0 190000350#define __DRIVERKIT_19_0 190000
...@@ -357,6 +367,8 @@...@@ -357,6 +367,8 @@
357#define __DRIVERKIT_24_3 240300367#define __DRIVERKIT_24_3 240300
358#define __DRIVERKIT_24_4 240400368#define __DRIVERKIT_24_4 240400
359#define __DRIVERKIT_24_5 240500369#define __DRIVERKIT_24_5 240500
370#define __DRIVERKIT_24_6 240600
371#define __DRIVERKIT_25_0 250000
360/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */372/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
361373
362#define __VISIONOS_1_0 10000374#define __VISIONOS_1_0 10000
...@@ -369,6 +381,9 @@...@@ -369,6 +381,9 @@
369#define __VISIONOS_2_3 20300381#define __VISIONOS_2_3 20300
370#define __VISIONOS_2_4 20400382#define __VISIONOS_2_4 20400
371#define __VISIONOS_2_5 20500383#define __VISIONOS_2_5 20500
384#define __VISIONOS_2_6 20600
385#define __VISIONOS_3_0 30000
386#define __VISIONOS_26_0 260000
372/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */387/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
373388
374389
...@@ -436,7 +451,6 @@...@@ -436,7 +451,6 @@
436#define MAC_OS_VERSION_12_7 __MAC_12_7451#define MAC_OS_VERSION_12_7 __MAC_12_7
437#define MAC_OS_VERSION_13_0 __MAC_13_0452#define MAC_OS_VERSION_13_0 __MAC_13_0
438#define MAC_OS_VERSION_13_1 __MAC_13_1453#define MAC_OS_VERSION_13_1 __MAC_13_1
439#define MAC_OS_VERSION_13_1 __MAC_13_1
440#define MAC_OS_VERSION_13_2 __MAC_13_2454#define MAC_OS_VERSION_13_2 __MAC_13_2
441#define MAC_OS_VERSION_13_3 __MAC_13_3455#define MAC_OS_VERSION_13_3 __MAC_13_3
442#define MAC_OS_VERSION_13_4 __MAC_13_4456#define MAC_OS_VERSION_13_4 __MAC_13_4
...@@ -457,6 +471,9 @@...@@ -457,6 +471,9 @@
457#define MAC_OS_VERSION_15_3 __MAC_15_3471#define MAC_OS_VERSION_15_3 __MAC_15_3
458#define MAC_OS_VERSION_15_4 __MAC_15_4472#define MAC_OS_VERSION_15_4 __MAC_15_4
459#define MAC_OS_VERSION_15_5 __MAC_15_5473#define MAC_OS_VERSION_15_5 __MAC_15_5
474#define MAC_OS_VERSION_15_6 __MAC_15_6
475#define MAC_OS_VERSION_16_0 __MAC_16_0
476#define MAC_OS_VERSION_26_0 __MAC_26_0
460477
461#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */478#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */
462479
lib/libc/include/any-macos-any/_bounds.h+4
...@@ -42,6 +42,8 @@...@@ -42,6 +42,8 @@
42#define _LIBC_SINGLE_BY_DEFAULT() __ptrcheck_abi_assume_single()42#define _LIBC_SINGLE_BY_DEFAULT() __ptrcheck_abi_assume_single()
43#define _LIBC_PTRCHECK_REPLACED(R) __ptrcheck_unavailable_r(R)43#define _LIBC_PTRCHECK_REPLACED(R) __ptrcheck_unavailable_r(R)
4444
45#define _LIBC_FORGE_PTR(P, S) __unsafe_forge_bidi_indexable(__typeof__(*P) *, P, S)
46
45#else /* _LIBC_ANNOTATE_BOUNDS */47#else /* _LIBC_ANNOTATE_BOUNDS */
4648
47#define _LIBC_COUNT(x)49#define _LIBC_COUNT(x)
...@@ -58,6 +60,8 @@...@@ -58,6 +60,8 @@
58#define _LIBC_SINGLE_BY_DEFAULT()60#define _LIBC_SINGLE_BY_DEFAULT()
59#define _LIBC_PTRCHECK_REPLACED(R)61#define _LIBC_PTRCHECK_REPLACED(R)
6062
63#define _LIBC_FORGE_PTR(P, S) (P)
64
61#endif /* _LIBC_ANNOTATE_BOUNDS */65#endif /* _LIBC_ANNOTATE_BOUNDS */
6266
63#endif /* _LIBC_BOUNDS_H_ */67#endif /* _LIBC_BOUNDS_H_ */
lib/libc/include/any-macos-any/_ctermid.h+5-3
...@@ -27,13 +27,15 @@...@@ -27,13 +27,15 @@
27#include <sys/cdefs.h>27#include <sys/cdefs.h>
28#include <_bounds.h>28#include <_bounds.h>
2929
30#ifndef _LIBC_COUNT__L_CTERMID
31#define _LIBC_COUNT__L_CTERMID _LIBC_UNSAFE_INDEXABLE
32#endif /* _LIBC_COUNT__L_CTERMID */
33
30_LIBC_SINGLE_BY_DEFAULT()34_LIBC_SINGLE_BY_DEFAULT()
3135
32__BEGIN_DECLS36__BEGIN_DECLS
3337
34#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */38char *_LIBC_CSTR ctermid(char *_LIBC_COUNT__L_CTERMID);
35
36char *_LIBC_CSTR ctermid(char *_LIBC_COUNT_OR_NULL(L_ctermid));
3739
38__END_DECLS40__END_DECLS
3941
lib/libc/include/any-macos-any/_locale.h+4-25
...@@ -41,6 +41,10 @@...@@ -41,6 +41,10 @@
41#include <_bounds.h>41#include <_bounds.h>
42#include <_types.h>42#include <_types.h>
4343
44#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 200809L
45#include <_locale_posix2008.h>
46#endif
47
44_LIBC_SINGLE_BY_DEFAULT()48_LIBC_SINGLE_BY_DEFAULT()
4549
46struct lconv {50struct lconv {
...@@ -72,33 +76,8 @@ struct lconv {...@@ -72,33 +76,8 @@ struct lconv {
7276
73#include <sys/_types/_null.h>77#include <sys/_types/_null.h>
7478
75#define LC_ALL_MASK ( LC_COLLATE_MASK \
76 | LC_CTYPE_MASK \
77 | LC_MESSAGES_MASK \
78 | LC_MONETARY_MASK \
79 | LC_NUMERIC_MASK \
80 | LC_TIME_MASK )
81#define LC_COLLATE_MASK (1 << 0)
82#define LC_CTYPE_MASK (1 << 1)
83#define LC_MESSAGES_MASK (1 << 2)
84#define LC_MONETARY_MASK (1 << 3)
85#define LC_NUMERIC_MASK (1 << 4)
86#define LC_TIME_MASK (1 << 5)
87
88#define _LC_NUM_MASK 6
89#define _LC_LAST_MASK (1 << (_LC_NUM_MASK - 1))
90
91#define LC_GLOBAL_LOCALE ((locale_t)-1)
92#define LC_C_LOCALE ((locale_t)NULL)
93
94#include <_types/_locale_t.h>
95
96__BEGIN_DECLS79__BEGIN_DECLS
97locale_t duplocale(locale_t);
98int freelocale(locale_t);
99struct lconv *localeconv(void);80struct lconv *localeconv(void);
100locale_t newlocale(int, __const char *, locale_t);
101locale_t uselocale(locale_t);
102__END_DECLS81__END_DECLS
10382
104#endif /* __LOCALE_H_ */83#endif /* __LOCALE_H_ */
lib/libc/include/any-macos-any/_locale_posix2008.h created+65
...@@ -0,0 +1,65 @@
1/*
2 * Copyright (c) 2005 - 2025 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#ifndef __LOCALE_POSIX2008_H_
25#define __LOCALE_POSIX2008_H_
26
27#include <sys/cdefs.h>
28#include <_types.h>
29
30_LIBC_SINGLE_BY_DEFAULT()
31
32/*
33 * These definitions were all historically provided by <xlocale.h>, but they
34 * became standardized in POSIX.1-2008. We make them available via either
35 * <xlocale.h> or <locale.h> at the appropriate conformance level.
36 */
37#define LC_ALL_MASK ( LC_COLLATE_MASK \
38 | LC_CTYPE_MASK \
39 | LC_MESSAGES_MASK \
40 | LC_MONETARY_MASK \
41 | LC_NUMERIC_MASK \
42 | LC_TIME_MASK )
43#define LC_COLLATE_MASK (1 << 0)
44#define LC_CTYPE_MASK (1 << 1)
45#define LC_MESSAGES_MASK (1 << 2)
46#define LC_MONETARY_MASK (1 << 3)
47#define LC_NUMERIC_MASK (1 << 4)
48#define LC_TIME_MASK (1 << 5)
49
50#define _LC_NUM_MASK 6
51#define _LC_LAST_MASK (1 << (_LC_NUM_MASK - 1))
52
53#define LC_GLOBAL_LOCALE ((locale_t)-1)
54#define LC_C_LOCALE ((locale_t)NULL)
55
56#include <_types/_locale_t.h>
57
58__BEGIN_DECLS
59locale_t duplocale(locale_t);
60int freelocale(locale_t);
61locale_t newlocale(int, __const char *, locale_t);
62locale_t uselocale(locale_t);
63__END_DECLS
64
65#endif /* __LOCALE_POSIX2008_H_ */
lib/libc/include/any-macos-any/_stdio.h+4
...@@ -308,6 +308,10 @@ __END_DECLS...@@ -308,6 +308,10 @@ __END_DECLS
308308
309#if __DARWIN_C_LEVEL >= 198808L309#if __DARWIN_C_LEVEL >= 198808L
310310
311#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
312#undef _LIBC_COUNT__L_CTERMID
313#define _LIBC_COUNT__L_CTERMID _LIBC_COUNT_OR_NULL(L_ctermid)
314
311#include <_ctermid.h>315#include <_ctermid.h>
312316
313__BEGIN_DECLS317__BEGIN_DECLS
lib/libc/include/any-macos-any/_stdlib.h+10-5
...@@ -123,18 +123,23 @@ typedef struct {...@@ -123,18 +123,23 @@ typedef struct {
123123
124#define RAND_MAX 0x7fffffff124#define RAND_MAX 0x7fffffff
125125
126// When _USE_EXTENDED_LOCALES_ is enabled (by including xlocale.h),
127// MB_CUR_MAX is defined by xlocale.h.
128#if !defined(MB_CUR_MAX) && !defined(_USE_EXTENDED_LOCALES_)
129#if __has_feature(modules)126#if __has_feature(modules)
130// When clang modules are enabled, there can only be one definition of127// When clang modules are enabled, there can only be one definition of
131// MB_CUR_MAX, and that needs to be the same one used by xlocale.h.128// MB_CUR_MAX, and that needs to be the same one used by xlocale.h.
132#include <_mb_cur_max.h>129#include <_mb_cur_max.h>
133#else130#else /* !__has_feature(modules) */
131#ifndef MB_CUR_MAX
132#ifdef _USE_EXTENDED_LOCALES_
133#define MB_CUR_MAX (___mb_cur_max())
134#ifndef MB_CUR_MAX_L
135#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x))
136#endif /* !MB_CUR_MAX_L */
137#else /* !_USE_EXTENDED_LOCALES_ */
134extern int __mb_cur_max;138extern int __mb_cur_max;
135#define MB_CUR_MAX __mb_cur_max139#define MB_CUR_MAX __mb_cur_max
140#endif /* _USE_EXTENDED_LOCALES_ */
141#endif /* MB_CUR_MAX */
136#endif /* __has_feature(modules) */142#endif /* __has_feature(modules) */
137#endif /* !MB_CUR_MAX && !_USE_EXTENDED_LOCALES_ */
138143
139#include <malloc/_malloc.h>144#include <malloc/_malloc.h>
140#include <_abort.h>145#include <_abort.h>
lib/libc/include/any-macos-any/_string.h+2-2
...@@ -100,7 +100,7 @@ char *_LIBC_CSTR...@@ -100,7 +100,7 @@ char *_LIBC_CSTR
100 _LIBC_PTRCHECK_REPLACED(strlcat);100 _LIBC_PTRCHECK_REPLACED(strlcat);
101int strncmp(const char *_LIBC_UNSAFE_INDEXABLE __s1,101int strncmp(const char *_LIBC_UNSAFE_INDEXABLE __s1,
102 const char *_LIBC_UNSAFE_INDEXABLE __s2, size_t __n);102 const char *_LIBC_UNSAFE_INDEXABLE __s2, size_t __n);
103char *_LIBC_UNSAFE_INDEXABLE103char *_LIBC_COUNT(__n)
104 strncpy(char *_LIBC_COUNT(__n) __dst,104 strncpy(char *_LIBC_COUNT(__n) __dst,
105 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)105 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
106 _LIBC_PTRCHECK_REPLACED(strlcpy);106 _LIBC_PTRCHECK_REPLACED(strlcpy);
...@@ -155,7 +155,7 @@ __END_DECLS...@@ -155,7 +155,7 @@ __END_DECLS
155__BEGIN_DECLS155__BEGIN_DECLS
156char *_LIBC_CSTR156char *_LIBC_CSTR
157 stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy);157 stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy);
158char *_LIBC_CSTR158char *_LIBC_COUNT(__n)
159 stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst,159 stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst,
160 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)160 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
161 __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)161 __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
lib/libc/include/any-macos-any/_xlocale.h+1
...@@ -32,6 +32,7 @@...@@ -32,6 +32,7 @@
32#endif /* _USE_EXTENDED_LOCALES_ */32#endif /* _USE_EXTENDED_LOCALES_ */
3333
34#include <_locale.h>34#include <_locale.h>
35#include <_locale_posix2008.h>
35#include <__xlocale.h>36#include <__xlocale.h>
3637
37_LIBC_SINGLE_BY_DEFAULT()38_LIBC_SINGLE_BY_DEFAULT()
lib/libc/include/any-macos-any/assert.h-3
...@@ -40,9 +40,6 @@...@@ -40,9 +40,6 @@
40 */40 */
4141
42#include <sys/cdefs.h>42#include <sys/cdefs.h>
43#ifdef __cplusplus
44#include <stdlib.h>
45#endif /* __cplusplus */
4643
47/*44/*
48 * Unlike other ANSI header files, <assert.h> may usefully be included45 * Unlike other ANSI header files, <assert.h> may usefully be included
lib/libc/include/any-macos-any/mach/host_info.h+5-4
...@@ -207,11 +207,12 @@ typedef struct vm_purgeable_info *host_purgable_info_t;...@@ -207,11 +207,12 @@ typedef struct vm_purgeable_info *host_purgable_info_t;
207207
208/* size of the latest version of the structure */208/* size of the latest version of the structure */
209#define HOST_VM_INFO64_LATEST_COUNT HOST_VM_INFO64_COUNT209#define HOST_VM_INFO64_LATEST_COUNT HOST_VM_INFO64_COUNT
210#define HOST_VM_INFO64_REV1_COUNT HOST_VM_INFO64_LATEST_COUNT210#define HOST_VM_INFO64_REV2_COUNT HOST_VM_INFO64_COUNT
211#define HOST_VM_INFO64_REV1_COUNT ((mach_msg_type_number_t) \
212 (offsetof(vm_statistics64_data_t, swapped_count) / sizeof(integer_t)))
211/* previous versions: adjust the size according to what was added each time */213/* previous versions: adjust the size according to what was added each time */
212#define HOST_VM_INFO64_REV0_COUNT /* added compression and swapper info (14 ints) */ \214#define HOST_VM_INFO64_REV0_COUNT ((mach_msg_type_number_t) \
213 ((mach_msg_type_number_t) \215 (offsetof(vm_statistics64_data_t, decompressions) / sizeof(integer_t)))
214 (HOST_VM_INFO64_REV1_COUNT - 14))
215216
216/* in <mach/vm_statistics.h> */217/* in <mach/vm_statistics.h> */
217/* vm_extmod_statistics */218/* vm_extmod_statistics */
lib/libc/include/any-macos-any/mach/mach_port.h+4-4
...@@ -501,7 +501,7 @@ kern_return_t mach_port_kobject...@@ -501,7 +501,7 @@ kern_return_t mach_port_kobject
501(501(
502 ipc_space_read_t task,502 ipc_space_read_t task,
503 mach_port_name_t name,503 mach_port_name_t name,
504 natural_t *object_type,504 ipc_info_object_type_t *object_type,
505 mach_vm_address_t *object_addr505 mach_vm_address_t *object_addr
506);506);
507507
...@@ -610,7 +610,7 @@ kern_return_t mach_port_kobject_description...@@ -610,7 +610,7 @@ kern_return_t mach_port_kobject_description
610(610(
611 ipc_space_read_t task,611 ipc_space_read_t task,
612 mach_port_name_t name,612 mach_port_name_t name,
613 natural_t *object_type,613 ipc_info_object_type_t *object_type,
614 mach_vm_address_t *object_addr,614 mach_vm_address_t *object_addr,
615 kobject_description_t description615 kobject_description_t description
616);616);
...@@ -1690,7 +1690,7 @@ union __RequestUnion__mach_port_subsystem {...@@ -1690,7 +1690,7 @@ union __RequestUnion__mach_port_subsystem {
1690 mach_msg_header_t Head;1690 mach_msg_header_t Head;
1691 NDR_record_t NDR;1691 NDR_record_t NDR;
1692 kern_return_t RetCode;1692 kern_return_t RetCode;
1693 natural_t object_type;1693 ipc_info_object_type_t object_type;
1694 mach_vm_address_t object_addr;1694 mach_vm_address_t object_addr;
1695 } __Reply__mach_port_kobject_t __attribute__((unused));1695 } __Reply__mach_port_kobject_t __attribute__((unused));
1696#ifdef __MigPackStructs1696#ifdef __MigPackStructs
...@@ -1790,7 +1790,7 @@ union __RequestUnion__mach_port_subsystem {...@@ -1790,7 +1790,7 @@ union __RequestUnion__mach_port_subsystem {
1790 mach_msg_header_t Head;1790 mach_msg_header_t Head;
1791 NDR_record_t NDR;1791 NDR_record_t NDR;
1792 kern_return_t RetCode;1792 kern_return_t RetCode;
1793 natural_t object_type;1793 ipc_info_object_type_t object_type;
1794 mach_vm_address_t object_addr;1794 mach_vm_address_t object_addr;
1795 mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */1795 mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */
1796 mach_msg_type_number_t descriptionCnt;1796 mach_msg_type_number_t descriptionCnt;
lib/libc/include/any-macos-any/mach/mach_traps.h+5
...@@ -68,6 +68,7 @@...@@ -68,6 +68,7 @@
6868
69#include <stdint.h>69#include <stdint.h>
7070
71#include <mach/error.h>
71#include <mach/std_types.h>72#include <mach/std_types.h>
72#include <mach/mach_types.h>73#include <mach/mach_types.h>
73#include <mach/kern_return.h>74#include <mach/kern_return.h>
...@@ -296,6 +297,10 @@ extern kern_return_t debug_control_port_for_pid(...@@ -296,6 +297,10 @@ extern kern_return_t debug_control_port_for_pid(
296 int pid,297 int pid,
297 mach_port_name_t *t);298 mach_port_name_t *t);
298299
300extern mach_error_t mach_vm_reclaim_update_kernel_accounting_trap(
301 mach_port_name_t target_tport,
302 uint64_t *bytes_reclaimed);
303
299304
300__END_DECLS305__END_DECLS
301306
lib/libc/include/any-macos-any/mach/machine.h+5
...@@ -332,6 +332,9 @@ typedef integer_t cpu_threadtype_t;...@@ -332,6 +332,9 @@ typedef integer_t cpu_threadtype_t;
332#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */332#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */
333#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */333#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */
334#define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */334#define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */
335#define CPU_SUBTYPE_ARM_V8M_MAIN CPU_SUBTYPE_ARM_V8M /* Not meant to be run under xnu */
336#define CPU_SUBTYPE_ARM_V8M_BASE ((cpu_subtype_t) 18) /* Not meant to be run under xnu */
337#define CPU_SUBTYPE_ARM_V8_1M_MAIN ((cpu_subtype_t) 19) /* Not meant to be run under xnu */
335338
336/*339/*
337 * ARM64 subtypes340 * ARM64 subtypes
...@@ -406,6 +409,8 @@ typedef integer_t cpu_threadtype_t;...@@ -406,6 +409,8 @@ typedef integer_t cpu_threadtype_t;
406#define CPUFAMILY_ARM_BRAVA 0x17d5b93a409#define CPUFAMILY_ARM_BRAVA 0x17d5b93a
407#define CPUFAMILY_ARM_TAHITI 0x75d4acb9410#define CPUFAMILY_ARM_TAHITI 0x75d4acb9
408#define CPUFAMILY_ARM_TUPAI 0x204526d0411#define CPUFAMILY_ARM_TUPAI 0x204526d0
412#define CPUFAMILY_ARM_THERA 0xab345f09
413#define CPUFAMILY_ARM_TILOS 0x01d7a72b
409414
410/* Described in rdar://64125549 */415/* Described in rdar://64125549 */
411#define CPUSUBFAMILY_UNKNOWN 0416#define CPUSUBFAMILY_UNKNOWN 0
lib/libc/include/any-macos-any/mach/message.h+1-2
...@@ -839,7 +839,7 @@ typedef kern_return_t mach_msg_return_t;...@@ -839,7 +839,7 @@ typedef kern_return_t mach_msg_return_t;
839#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015839#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015
840/* compatibility: no longer a returned error */840/* compatibility: no longer a returned error */
841#define MACH_SEND_NO_GRANT_DEST 0x10000016841#define MACH_SEND_NO_GRANT_DEST 0x10000016
842/* The destination port doesn't accept ports in body */842/* compatibility: no longer a returned error */
843#define MACH_SEND_MSG_FILTERED 0x10000017843#define MACH_SEND_MSG_FILTERED 0x10000017
844/* Message send was rejected by message filter */844/* Message send was rejected by message filter */
845#define MACH_SEND_AUX_TOO_SMALL 0x10000018845#define MACH_SEND_AUX_TOO_SMALL 0x10000018
...@@ -885,7 +885,6 @@ typedef kern_return_t mach_msg_return_t;...@@ -885,7 +885,6 @@ typedef kern_return_t mach_msg_return_t;
885/* invalid receive arguments, receive has not started */885/* invalid receive arguments, receive has not started */
886886
887887
888
889__BEGIN_DECLS888__BEGIN_DECLS
890889
891/*890/*
lib/libc/include/any-macos-any/mach/port.h+133-49
...@@ -152,28 +152,12 @@ typedef mach_port_t *mach_port_array_t;...@@ -152,28 +152,12 @@ typedef mach_port_t *mach_port_array_t;
152 * and reused too quickly [to catch right/reference counting bugs].152 * and reused too quickly [to catch right/reference counting bugs].
153 * The dividing line between the constituent parts is exposed so153 * The dividing line between the constituent parts is exposed so
154 * that efficient "mach_port_name_t to data structure pointer"154 * that efficient "mach_port_name_t to data structure pointer"
155 * conversion implementation can be made. But it is possible155 * conversion implementation can be made.
156 * for user-level code to assign their own names to Mach ports.
157 * These are not required to participate in this algorithm. So
158 * care should be taken before "assuming" this model.
159 *
160 */156 */
161157
162#ifndef NO_PORT_GEN
163
164#define MACH_PORT_INDEX(name) ((name) >> 8)158#define MACH_PORT_INDEX(name) ((name) >> 8)
165#define MACH_PORT_GEN(name) (((name) & 0xff) << 24)159#define MACH_PORT_GEN(name) (((name) & 0xff) << 24)
166#define MACH_PORT_MAKE(index, gen) \160#define MACH_PORT_MAKE(index, gen) (((index) << 8) | ((gen) >> 24))
167 (((index) << 8) | (gen) >> 24)
168
169#else /* NO_PORT_GEN */
170
171#define MACH_PORT_INDEX(name) (name)
172#define MACH_PORT_GEN(name) (0)
173#define MACH_PORT_MAKE(index, gen) (index)
174
175#endif /* NO_PORT_GEN */
176
177161
178/*162/*
179 * These are the different rights a task may have for a port.163 * These are the different rights a task may have for a port.
...@@ -281,7 +265,7 @@ typedef struct mach_port_limits {...@@ -281,7 +265,7 @@ typedef struct mach_port_limits {
281#define MACH_PORT_STATUS_FLAG_REVIVE 0x10265#define MACH_PORT_STATUS_FLAG_REVIVE 0x10
282#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20266#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20
283#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40267#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40
284#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80268#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80 /* Obsolete */
285269
286typedef struct mach_port_info_ext {270typedef struct mach_port_info_ext {
287 mach_port_status_t mpie_status;271 mach_port_status_t mpie_status;
...@@ -344,36 +328,95 @@ typedef struct mach_service_port_info {...@@ -344,36 +328,95 @@ typedef struct mach_service_port_info {
344328
345typedef struct mach_service_port_info * mach_service_port_info_t;329typedef struct mach_service_port_info * mach_service_port_info_t;
346330
331/*
332 * Platform binaries are not allowed to send OOL port array to any port.
333 *
334 * MACH_MSG_OOL_PORTS_DESCRIPTOR are allowed to be sent ONLY to receive
335 * rights that are explicitly allow to receive that descriptor.
336 *
337 * Such ports have a dedicated port type, and are created using the
338 * MPO_CONNECTION_PORT_WITH_PORT_ARRAY flag.
339 *
340 * Creation of such ports requires the binary to have the following entitlement.
341 */
342#define MACH_PORT_CONNECTION_PORT_WITH_PORT_ARRAY "com.apple.developer.allow-connection-port-with-port-array"
343
344/* Allows 1p process to create provisional reply port (to be rename to weak reply port) */
345#define MACH_PORT_PROVISIONAL_REPLY_ENTITLEMENT "com.apple.private.allow-weak-reply-port"
346
347/*347/*
348 * Flags for mach_port_options (used for348 * Flags for mach_port_options (used for
349 * invocation of mach_port_construct).349 * invocation of mach_port_construct).
350 * Indicates attributes to be set for the newly350 * Indicates attributes to be set for the newly
351 * allocated port.351 * allocated port.
352 */352 */
353#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */
354#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */
355#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */
356#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */
357#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */
358#define MPO_STRICT 0x20 /* Apply strict guarding for port */
359#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */
360#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */
361#define MPO_FILTER_MSG 0x100 /* Allow message filtering */
362#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */
363#define MPO_SERVICE_PORT 0x400 /* Create a service port with the given name; should be used only by launchd */
364#define MPO_CONNECTION_PORT 0x800 /* Derive new peer connection port from a given service port */
365#define MPO_REPLY_PORT 0x1000 /* Designate port as a reply port. */
366#define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/
367#define MPO_PROVISIONAL_REPLY_PORT 0x4000 /* Designate port as a provisional reply port. */
368#define MPO_EXCEPTION_PORT 0x8000 /* Used for hardened exceptions - immovable */
369353
354/* MPO options flags */
355#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */
356#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */
357#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */
358#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */
359#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */
360#define MPO_STRICT 0x20 /* Apply strict guarding for port */
361#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */
362#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */
363#define MPO_FILTER_MSG 0x100 /* Allow message filtering */
364#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */
365#define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/
366/* This service port has requested security hardening */
367#define MPO_STRICT_SERVICE_PORT (MPO_SERVICE_PORT | MPO_ENFORCE_REPLY_PORT_SEMANTICS)
368
369#define MPO_OPTIONS_MASK \
370 (MPO_CONTEXT_AS_GUARD | \
371 MPO_QLIMIT | \
372 MPO_TEMPOWNER | \
373 MPO_IMPORTANCE_RECEIVER | \
374 MPO_INSERT_SEND_RIGHT | \
375 MPO_STRICT | \
376 MPO_DENAP_RECEIVER | \
377 MPO_IMMOVABLE_RECEIVE | \
378 MPO_FILTER_MSG | \
379 MPO_TG_BLOCK_TRACKING | \
380 MPO_ENFORCE_REPLY_PORT_SEMANTICS)
381
382/* MPO port type flags */
383#define MPO_MAKE_PORT_TYPE(a, b) (((a & 0x7) << 14) | ((b & 0x7) << 10))
384#define MPO_PORT_TYPE_MASK MPO_MAKE_PORT_TYPE(0x7, 0x7) /* 0x1dc00 */
385/* These need to be defined for libxpc and other clients who `#ifdef` */
386 #define MPO_PORT MPO_PORT
387 #define MPO_SERVICE_PORT MPO_SERVICE_PORT
388 #define MPO_CONNECTION_PORT MPO_CONNECTION_PORT
389 #define MPO_REPLY_PORT MPO_REPLY_PORT
390 #define MPO_PROVISIONAL_REPLY_PORT MPO_PROVISIONAL_REPLY_PORT
391 #define MPO_EXCEPTION_PORT MPO_EXCEPTION_PORT
392 #define MPO_CONNECTION_PORT_WITH_PORT_ARRAY MPO_CONNECTION_PORT_WITH_PORT_ARRAY
393__options_decl(mpo_flags_t, uint32_t, {
394 /* Your classic IOT_PORT, an uninteresting message queue */
395 MPO_PORT = MPO_MAKE_PORT_TYPE(0, 0), /* 0x0 */
396 /* Create a service port with the given name; should be used only by launchd */
397 MPO_SERVICE_PORT = MPO_MAKE_PORT_TYPE(0, 1), /* 0x400 */
398 /* Derive new peer connection port from a given service port */
399 MPO_CONNECTION_PORT = MPO_MAKE_PORT_TYPE(0, 2), /* 0x800 */
400 /* Designate port as a reply port */
401 MPO_REPLY_PORT = MPO_MAKE_PORT_TYPE(0, 4), /* 0x1000 */
402 /* Designate port as a provisional (fake) reply port */
403 MPO_PROVISIONAL_REPLY_PORT = MPO_MAKE_PORT_TYPE(1, 0), /* 0x4000 */
404 /* Used for hardened exceptions - immovable */
405 MPO_EXCEPTION_PORT = MPO_MAKE_PORT_TYPE(2, 0), /* 0x8000 */
406 /* Can receive OOL port array descriptors */
407 MPO_CONNECTION_PORT_WITH_PORT_ARRAY = MPO_MAKE_PORT_TYPE(4, 0), /* 0x10000 */
408});
409#define MPO_UNUSED_BITS ~(MPO_OPTIONS_MASK | MPO_PORT_TYPE_MASK)
410
411/* Denotes an anonymous service */
412#define MPO_ANONYMOUS_SERVICE (MACH_PORT_DEAD - 1)
370413
371/*414/*
372 * Structure to define optional attributes for a newly415 * Structure to define optional attributes for a newly
373 * constructed port.416 * constructed port.
374 */417 */
375typedef struct mach_port_options {418typedef struct mach_port_options {
376 uint32_t flags; /* Flags defining attributes for port */419 uint32_t flags;
377 mach_port_limits_t mpl; /* Message queue limit for port */420 mach_port_limits_t mpl; /* Message queue limit for port */
378 union {421 union {
379 uint64_t reserved[2]; /* Reserved */422 uint64_t reserved[2]; /* Reserved */
...@@ -405,6 +448,7 @@ typedef mach_port_options_t *mach_port_options_ptr_t;...@@ -405,6 +448,7 @@ typedef mach_port_options_t *mach_port_options_ptr_t;
405 * but are truly an enum, please add new values in the "holes".448 * but are truly an enum, please add new values in the "holes".
406 */449 */
407enum mach_port_guard_exception_codes {450enum mach_port_guard_exception_codes {
451 kGUARD_EXC_NONE = 0, /* never sent */
408 kGUARD_EXC_DESTROY = 1,452 kGUARD_EXC_DESTROY = 1,
409 kGUARD_EXC_MOD_REFS = 2,453 kGUARD_EXC_MOD_REFS = 2,
410 kGUARD_EXC_INVALID_OPTIONS = 3,454 kGUARD_EXC_INVALID_OPTIONS = 3,
...@@ -413,9 +457,14 @@ enum mach_port_guard_exception_codes {...@@ -413,9 +457,14 @@ enum mach_port_guard_exception_codes {
413 kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6,457 kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6,
414 kGUARD_EXC_SERVICE_PORT_VIOLATION_FATAL = 7, /* unused, for future sp defense enablement */458 kGUARD_EXC_SERVICE_PORT_VIOLATION_FATAL = 7, /* unused, for future sp defense enablement */
415 kGUARD_EXC_UNGUARDED = 8,459 kGUARD_EXC_UNGUARDED = 8,
460 kGUARD_EXC_KOBJECT_REPLY_PORT_SEMANTICS = 9,
461 kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 10,
416 kGUARD_EXC_INCORRECT_GUARD = 16,462 kGUARD_EXC_INCORRECT_GUARD = 16,
417 kGUARD_EXC_IMMOVABLE = 32,463 kGUARD_EXC_IMMOVABLE = 32,
418 kGUARD_EXC_STRICT_REPLY = 64,464 kGUARD_EXC_STRICT_REPLY = 64,
465 kGUARD_EXC_INVALID_NOTIFICATION_REQ = 65,
466 kGUARD_EXC_INVALID_MPO_ENTITLEMENT = 66,
467 kGUARD_EXC_DESCRIPTOR_VIOLATION = 67,
419 kGUARD_EXC_MSG_FILTERED = 128,468 kGUARD_EXC_MSG_FILTERED = 128,
420 /* start of [optionally] non-fatal guards */469 /* start of [optionally] non-fatal guards */
421 kGUARD_EXC_INVALID_RIGHT = 256,470 kGUARD_EXC_INVALID_RIGHT = 256,
...@@ -434,40 +483,75 @@ enum mach_port_guard_exception_codes {...@@ -434,40 +483,75 @@ enum mach_port_guard_exception_codes {
434 kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */483 kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */
435 kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused, for future sp defense enablement */484 kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused, for future sp defense enablement */
436 kGUARD_EXC_PROVISIONAL_REPLY_PORT = 0x00100002,485 kGUARD_EXC_PROVISIONAL_REPLY_PORT = 0x00100002,
486 kGUARD_EXC_OOL_PORT_ARRAY_CREATION = 0x00100003, /* unused */
487 kGUARD_EXC_MOVE_PROVISIONAL_REPLY_PORT = 0x00100004,
488 kGUARD_EXC_REPLY_PORT_SINGLE_SO_RIGHT = 0x00100005,
437 kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21,489 kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21,
438 kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22,490 kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22,
439 kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 1u << 23,
440};491};
441492
442#define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED493#define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED
443#define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME494#define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME
444495
496
445/*497/*
446 * Mach port guard flags.498 * Mach port guard flags.
447 */499 */
448#define MPG_FLAGS_NONE (0x00ull)500#define MPG_FLAGS_NONE 0x00
449501
450/*502/*
451 * These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions.503 * These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions.
452 */504 */
453#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56)505#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER 0x04
454#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56)506#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA 0x10
455#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER (0x04ull << 56)
456#define MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR (0x08ull << 56)
457#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA (0x10ull << 56)
458#define MPG_FLAGS_STRICT_REPLY_MASK (0xffull << 56)
459507
460/*508/*
461 * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions.509 * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions.
462 */510 */
463#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56)511#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC 0x01
464#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY (0x02ull << 56)512#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY 0x02
465#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN (0x04ull << 56)513#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN 0x03
514
515/*
516 * These flags are used as bits in the subcode of kGUARD_EXC_INVALID_RIGHT exceptions.
517 */
518#define MPG_FLAGS_INVALID_RIGHT_RECV 0x01 /* does not have receive right */
519#define MPG_FLAGS_INVALID_RIGHT_DELTA 0x02 /* ipc_right_delta() */
520#define MPG_FLAGS_INVALID_RIGHT_DESTRUCT 0x03 /* ipc_right_destruct() */
521#define MPG_FLAGS_INVALID_RIGHT_COPYIN 0x04 /* ipc_right_copyin() */
522#define MPG_FLAGS_INVALID_RIGHT_DEALLOC 0x05 /* ipc_right_dealloc() */
523#define MPG_FLAGS_INVALID_RIGHT_DEALLOC_KERNEL 0x06 /* mach_port_deallocate_kernel() */
524#define MPG_FLAGS_INVALID_RIGHT_TRANSLATE_PORT 0x07 /* port in ipc_object_translate_port_pset() */
525#define MPG_FLAGS_INVALID_RIGHT_TRANSLATE_PSET 0x08 /* pset in ipc_object_translate_port_pset() */
526
527/*
528 * These flags are used as bits in the subcode of kGUARD_EXC_INVALID_VALUE exceptions.
529 */
530#define MPG_FLAGS_INVALID_VALUE_PEEK 0x01 /* mach_port_peek() */
531#define MPG_FLAGS_INVALID_VALUE_DELTA 0x02 /* ipc_right_delta() */
532#define MPG_FLAGS_INVALID_VALUE_DESTRUCT 0x03 /* ipc_right_destruct() */
533
534/*
535 * These flags are used as bits in the subcode of kGUARD_EXC_KERN_FAILURE exceptions.
536 */
537#define MPG_FLAGS_KERN_FAILURE_TASK 0x01 /* task other than launchd arm pd on service ports */
538#define MPG_FLAGS_KERN_FAILURE_NOTIFY_TYPE 0x02 /* not using IOT_NOTIFICATION_PORT for pd notification */
539#define MPG_FLAGS_KERN_FAILURE_NOTIFY_RECV 0x03 /* notification port not owned by launchd */
540#define MPG_FLAGS_KERN_FAILURE_MULTI_NOTI 0x04 /* register multiple pd notification */
541
542/*
543 * These flags are used as bits in the subcode of kGUARD_EXC_SEND_INVALID_RIGHT exceptions.
544 */
545#define MPG_FLAGS_SEND_INVALID_RIGHT_PORT 0x01 /* ipc_kmsg_copyin_port_descriptor() */
546#define MPG_FLAGS_SEND_INVALID_RIGHT_OOL_PORT 0x02 /* ipc_kmsg_copyin_ool_ports_descriptor() */
547#define MPG_FLAGS_SEND_INVALID_RIGHT_GUARDED 0x03 /* ipc_kmsg_copyin_guarded_port_descriptor */
466548
467/*549/*
468 * These flags are used as bits in the subcode of kGUARD_EXC_IMMOVABLE exceptions.550 * These flags are used as bits in the subcode of kGUARD_EXC_INVALID_OPTIONS exceptions.
469 */551 */
470#define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56)552#define MPG_FLAGS_INVALID_OPTIONS_OOL_DISP 0x01 /* ipc_kmsg_copyin_ool_ports_descriptor() */
553#define MPG_FLAGS_INVALID_OPTIONS_OOL_ARRAYS 0x02 /* ipc_validate_kmsg_header_from_user() */
554#define MPG_FLAGS_INVALID_OPTIONS_OOL_RIGHT 0x03 /* ipc_validate_kmsg_header_from_user() */
471555
472/*556/*
473 * Flags for mach_port_guard_with_flags. These flags extend557 * Flags for mach_port_guard_with_flags. These flags extend
lib/libc/include/any-macos-any/mach/task_info.h+10
...@@ -511,6 +511,16 @@ typedef struct task_security_config_info * task_security_config_info_t;...@@ -511,6 +511,16 @@ typedef struct task_security_config_info * task_security_config_info_t;
511#define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \511#define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \
512 (sizeof(struct task_security_config_info) / sizeof(natural_t)))512 (sizeof(struct task_security_config_info) / sizeof(natural_t)))
513513
514
515#define TASK_IPC_SPACE_POLICY_INFO 33 /* Runtime security mitigations configuration for the task */
516struct task_ipc_space_policy_info {
517 uint32_t space_policy; /* Configuration bitmask */
518};
519
520typedef struct task_ipc_space_policy_info * task_ipc_space_policy_info_t;
521#define TASK_IPC_SPACE_POLICY_INFO_COUNT ((mach_msg_type_number_t) \
522 (sizeof(struct task_ipc_space_policy_info) / sizeof(natural_t)))
523
514/*524/*
515 * Type to control EXC_GUARD delivery options for a task525 * Type to control EXC_GUARD delivery options for a task
516 * via task_get/set_exc_guard_behavior interface(s).526 * via task_get/set_exc_guard_behavior interface(s).
lib/libc/include/any-macos-any/mach/task_policy.h+1
...@@ -121,6 +121,7 @@ typedef enum task_role {...@@ -121,6 +121,7 @@ typedef enum task_role {
121 TASK_NONUI_APPLICATION = 6,121 TASK_NONUI_APPLICATION = 6,
122 TASK_DEFAULT_APPLICATION = 7,122 TASK_DEFAULT_APPLICATION = 7,
123 TASK_DARWINBG_APPLICATION = 8,123 TASK_DARWINBG_APPLICATION = 8,
124 TASK_USER_INIT_APPLICATION = 9,
124} task_role_t;125} task_role_t;
125126
126struct task_category_policy {127struct task_category_policy {
lib/libc/include/any-macos-any/mach/thread_info.h-1
...@@ -74,7 +74,6 @@...@@ -74,7 +74,6 @@
74#include <mach/time_value.h>74#include <mach/time_value.h>
75#include <mach/message.h>75#include <mach/message.h>
76#include <mach/machine/vm_types.h>76#include <mach/machine/vm_types.h>
77
78/*77/*
79 * Generic information structure to allow for expansion.78 * Generic information structure to allow for expansion.
80 */79 */
lib/libc/include/any-macos-any/mach/vm_region.h+18
...@@ -228,6 +228,7 @@ typedef struct vm_region_submap_info vm_region_submap_info_data_t;...@@ -228,6 +228,7 @@ typedef struct vm_region_submap_info vm_region_submap_info_data_t;
228 (sizeof(vm_region_submap_info_data_t) / sizeof(natural_t)))228 (sizeof(vm_region_submap_info_data_t) / sizeof(natural_t)))
229229
230struct vm_region_submap_info_64 {230struct vm_region_submap_info_64 {
231 /* v0 fields */
231 vm_prot_t protection; /* present access protection */232 vm_prot_t protection; /* present access protection */
232 vm_prot_t max_protection; /* max avail through vm_prot */233 vm_prot_t max_protection; /* max avail through vm_prot */
233 vm_inherit_t inheritance;/* behavior of map/obj on fork */234 vm_inherit_t inheritance;/* behavior of map/obj on fork */
...@@ -245,18 +246,30 @@ struct vm_region_submap_info_64 {...@@ -245,18 +246,30 @@ struct vm_region_submap_info_64 {
245 vm_behavior_t behavior; /* access behavior hint */246 vm_behavior_t behavior; /* access behavior hint */
246 vm32_object_id_t object_id; /* obj/map name, not a handle */247 vm32_object_id_t object_id; /* obj/map name, not a handle */
247 unsigned short user_wired_count;248 unsigned short user_wired_count;
249 unsigned short flags;
250 /* v1 fields */
248 unsigned int pages_reusable;251 unsigned int pages_reusable;
252 /* v2 fields */
249 vm_object_id_t object_id_full;253 vm_object_id_t object_id_full;
250};254};
251255
252typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t;256typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t;
253typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t;257typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t;
254258
259/*
260 * Note that this size is hard-coded at the MIG boundary in mach_types.defs
261 * so if we ever increase this you'll need to also bump the definition of
262 * vm_region_recurse_info_t.
263 */
255#define VM_REGION_SUBMAP_INFO_V2_SIZE \264#define VM_REGION_SUBMAP_INFO_V2_SIZE \
256 (sizeof (vm_region_submap_info_data_64_t))265 (sizeof (vm_region_submap_info_data_64_t))
266
267/* v1 size is v2 size minus v2's new fields */
257#define VM_REGION_SUBMAP_INFO_V1_SIZE \268#define VM_REGION_SUBMAP_INFO_V1_SIZE \
258 (VM_REGION_SUBMAP_INFO_V2_SIZE - \269 (VM_REGION_SUBMAP_INFO_V2_SIZE - \
259 sizeof (vm_object_id_t) /* object_id_full */ )270 sizeof (vm_object_id_t) /* object_id_full */ )
271
272/* v0 size is v1 size minus v1's new fields */
260#define VM_REGION_SUBMAP_INFO_V0_SIZE \273#define VM_REGION_SUBMAP_INFO_V0_SIZE \
261 (VM_REGION_SUBMAP_INFO_V1_SIZE - \274 (VM_REGION_SUBMAP_INFO_V1_SIZE - \
262 sizeof (unsigned int) /* pages_reusable */ )275 sizeof (unsigned int) /* pages_reusable */ )
...@@ -274,6 +287,10 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t...@@ -274,6 +287,10 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t
274/* set this to the latest version */287/* set this to the latest version */
275#define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V2_COUNT_64288#define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V2_COUNT_64
276289
290#define VM_REGION_FLAG_JIT_ENABLED 0x1
291#define VM_REGION_FLAG_TPRO_ENABLED 0x2
292
293
277struct vm_region_submap_short_info_64 {294struct vm_region_submap_short_info_64 {
278 vm_prot_t protection; /* present access protection */295 vm_prot_t protection; /* present access protection */
279 vm_prot_t max_protection; /* max avail through vm_prot */296 vm_prot_t max_protection; /* max avail through vm_prot */
...@@ -288,6 +305,7 @@ struct vm_region_submap_short_info_64 {...@@ -288,6 +305,7 @@ struct vm_region_submap_short_info_64 {
288 vm_behavior_t behavior; /* access behavior hint */305 vm_behavior_t behavior; /* access behavior hint */
289 vm32_object_id_t object_id; /* obj/map name, not a handle */306 vm32_object_id_t object_id; /* obj/map name, not a handle */
290 unsigned short user_wired_count;307 unsigned short user_wired_count;
308 unsigned short flags;
291};309};
292310
293typedef struct vm_region_submap_short_info_64 *vm_region_submap_short_info_64_t;311typedef struct vm_region_submap_short_info_64 *vm_region_submap_short_info_64_t;
lib/libc/include/any-macos-any/mach/vm_statistics.h+61-12
...@@ -66,6 +66,9 @@...@@ -66,6 +66,9 @@
66#ifndef _MACH_VM_STATISTICS_H_66#ifndef _MACH_VM_STATISTICS_H_
67#define _MACH_VM_STATISTICS_H_67#define _MACH_VM_STATISTICS_H_
6868
69
70#include <Availability.h>
71#include <os/base.h>
69#include <stdbool.h>72#include <stdbool.h>
70#include <sys/cdefs.h>73#include <sys/cdefs.h>
7174
...@@ -74,6 +77,8 @@...@@ -74,6 +77,8 @@
7477
75__BEGIN_DECLS78__BEGIN_DECLS
7679
80#pragma mark VM Statistics
81
77/*82/*
78 * vm_statistics83 * vm_statistics
79 *84 *
...@@ -141,7 +146,7 @@ struct vm_statistics64 {...@@ -141,7 +146,7 @@ struct vm_statistics64 {
141 natural_t wire_count; /* # of pages wired down */146 natural_t wire_count; /* # of pages wired down */
142 uint64_t zero_fill_count; /* # of zero fill pages */147 uint64_t zero_fill_count; /* # of zero fill pages */
143 uint64_t reactivations; /* # of pages reactivated */148 uint64_t reactivations; /* # of pages reactivated */
144 uint64_t pageins; /* # of pageins */149 uint64_t pageins; /* # of pageins (lifetime) */
145 uint64_t pageouts; /* # of pageouts */150 uint64_t pageouts; /* # of pageouts */
146 uint64_t faults; /* # of faults */151 uint64_t faults; /* # of faults */
147 uint64_t cow_faults; /* # of copy-on-writes */152 uint64_t cow_faults; /* # of copy-on-writes */
...@@ -158,15 +163,17 @@ struct vm_statistics64 {...@@ -158,15 +163,17 @@ struct vm_statistics64 {
158 natural_t speculative_count; /* # of pages speculative */163 natural_t speculative_count; /* # of pages speculative */
159164
160 /* added for rev1 */165 /* added for rev1 */
161 uint64_t decompressions; /* # of pages decompressed */166 uint64_t decompressions; /* # of pages decompressed (lifetime) */
162 uint64_t compressions; /* # of pages compressed */167 uint64_t compressions; /* # of pages compressed (lifetime) */
163 uint64_t swapins; /* # of pages swapped in (via compression segments) */168 uint64_t swapins; /* # of pages swapped in via compressor segments (lifetime) */
164 uint64_t swapouts; /* # of pages swapped out (via compression segments) */169 uint64_t swapouts; /* # of pages swapped out via compressor segments (lifetime) */
165 natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */170 natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */
166 natural_t throttled_count; /* # of pages throttled */171 natural_t throttled_count; /* # of pages throttled */
167 natural_t external_page_count; /* # of pages that are file-backed (non-swap) */172 natural_t external_page_count; /* # of pages that are file-backed (non-swap) */
168 natural_t internal_page_count; /* # of pages that are anonymous */173 natural_t internal_page_count; /* # of pages that are anonymous */
169 uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */174 uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */
175 /* added for rev2 */
176 uint64_t swapped_count; /* # of compressor-stored pages currently stored in swap */
170} __attribute__((aligned(8)));177} __attribute__((aligned(8)));
171178
172typedef struct vm_statistics64 *vm_statistics64_t;179typedef struct vm_statistics64 *vm_statistics64_t;
...@@ -232,6 +239,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;...@@ -232,6 +239,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
232#define VM_PAGE_QUERY_PAGE_CS_NX 0x400239#define VM_PAGE_QUERY_PAGE_CS_NX 0x400
233#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800240#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800
234241
242#pragma mark User Flags
243
235/*244/*
236 * VM allocation flags:245 * VM allocation flags:
237 *246 *
...@@ -334,17 +343,27 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;...@@ -334,17 +343,27 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
334__enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {343__enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
335 kGUARD_EXC_DEALLOC_GAP = 1,344 kGUARD_EXC_DEALLOC_GAP = 1,
336 kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2,345 kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2,
337 kGUARD_EXC_SEC_LOOKUP_DENIED = 3,
338 kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4,346 kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4,
339 kGUARD_EXC_SEC_RANGE_DENIED = 6,
340 kGUARD_EXC_SEC_ACCESS_FAULT = 7,
341 kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 8,347 kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 8,
342 kGUARD_EXC_SEC_COPY_DENIED = 16,348 kGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE = 9,
343 kGUARD_EXC_SEC_SHARING_DENIED = 32,349 kGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE = 10,
344 kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT = 64,350 kGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE = 11,
351 kGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION = 12,
352 /*
353 * rdar://151450801 (Remove spurious kGUARD_EXC_SEC_ACCESS_FAULT and kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT once CrashReporter is aligned)
354 */
355 kGUARD_EXC_SEC_ACCESS_FAULT = 98,
356 kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT = 99,
357 /* VM policy decisions */
358 kGUARD_EXC_SEC_COPY_DENIED = 100,
359 kGUARD_EXC_SEC_SHARING_DENIED = 101,
360
345});361});
346362
347363
364
365#pragma mark Ledger Tags
366
348/* current accounting postmark */367/* current accounting postmark */
349#define __VM_LEDGER_ACCOUNTING_POSTMARK 2019032600368#define __VM_LEDGER_ACCOUNTING_POSTMARK 2019032600
350369
...@@ -372,6 +391,14 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -372,6 +391,14 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
372#define VM_LEDGER_FLAGS_USER (VM_LEDGER_FLAG_NO_FOOTPRINT | VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG)391#define VM_LEDGER_FLAGS_USER (VM_LEDGER_FLAG_NO_FOOTPRINT | VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG)
373#define VM_LEDGER_FLAGS_ALL (VM_LEDGER_FLAGS_USER | VM_LEDGER_FLAG_FROM_KERNEL)392#define VM_LEDGER_FLAGS_ALL (VM_LEDGER_FLAGS_USER | VM_LEDGER_FLAG_FROM_KERNEL)
374393
394#pragma mark User Memory Tags
395
396/*
397 * These tags may be used to identify memory regions created with
398 * `mach_vm_map()` or `mach_vm_allocate()` via the top 8 bits of the `flags`
399 * parameter. Users should pass `VM_MAKE_TAG(tag) | flags` (see section
400 * "User Flags").
401 */
375#define VM_MEMORY_MALLOC 1402#define VM_MEMORY_MALLOC 1
376#define VM_MEMORY_MALLOC_SMALL 2403#define VM_MEMORY_MALLOC_SMALL 2
377#define VM_MEMORY_MALLOC_LARGE 3404#define VM_MEMORY_MALLOC_LARGE 3
...@@ -400,6 +427,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -400,6 +427,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
400/* Was a nested pmap (VM_MEMORY_SHARED_PMAP) which has now been unnested */427/* Was a nested pmap (VM_MEMORY_SHARED_PMAP) which has now been unnested */
401#define VM_MEMORY_UNSHARED_PMAP 35428#define VM_MEMORY_UNSHARED_PMAP 35
402429
430/* for libchannel memory, mostly used on visionOS for communication with realtime threads */
431#define VM_MEMORY_LIBCHANNEL 36
403432
404// Placeholders for now -- as we analyze the libraries and find how they433// Placeholders for now -- as we analyze the libraries and find how they
405// use memory, we can make these labels more specific.434// use memory, we can make these labels more specific.
...@@ -411,6 +440,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -411,6 +440,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
411#define VM_MEMORY_JAVA 44440#define VM_MEMORY_JAVA 44
412#define VM_MEMORY_COREDATA 45441#define VM_MEMORY_COREDATA 45
413#define VM_MEMORY_COREDATA_OBJECTIDS 46442#define VM_MEMORY_COREDATA_OBJECTIDS 46
443
414#define VM_MEMORY_ATS 50444#define VM_MEMORY_ATS 50
415#define VM_MEMORY_LAYERKIT 51445#define VM_MEMORY_LAYERKIT 51
416#define VM_MEMORY_CGIMAGE 52446#define VM_MEMORY_CGIMAGE 52
...@@ -506,6 +536,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -506,6 +536,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
506/* DHMM data */536/* DHMM data */
507#define VM_MEMORY_DHMM 84537#define VM_MEMORY_DHMM 84
508538
539/* memory needed for DFR related actions */
540#define VM_MEMORY_DFR 85
509541
510/* memory allocated by SceneKit.framework */542/* memory allocated by SceneKit.framework */
511#define VM_MEMORY_SCENEKIT 86543#define VM_MEMORY_SCENEKIT 86
...@@ -562,6 +594,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -562,6 +594,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
562/* memory allocated by CoreMedia */594/* memory allocated by CoreMedia */
563#define VM_MEMORY_CM_HLS 106595#define VM_MEMORY_CM_HLS 106
564596
597/* memory allocated for CompositorServices */
598#define VM_MEMORY_COMPOSITOR_SERVICES 107
599
565/* Reserve 230-239 for Rosetta */600/* Reserve 230-239 for Rosetta */
566#define VM_MEMORY_ROSETTA 230601#define VM_MEMORY_ROSETTA 230
567#define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231602#define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231
...@@ -573,7 +608,21 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {...@@ -573,7 +608,21 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
573#define VM_MEMORY_ROSETTA_10 239608#define VM_MEMORY_ROSETTA_10 239
574609
575/* Reserve 240-255 for application */610/* Reserve 240-255 for application */
576#define VM_MEMORY_APPLICATION_SPECIFIC_1 240611#define VM_MEMORY_APPLICATION_SPECIFIC_1 240
612#define VM_MEMORY_APPLICATION_SPECIFIC_2 241
613#define VM_MEMORY_APPLICATION_SPECIFIC_3 242
614#define VM_MEMORY_APPLICATION_SPECIFIC_4 243
615#define VM_MEMORY_APPLICATION_SPECIFIC_5 244
616#define VM_MEMORY_APPLICATION_SPECIFIC_6 245
617#define VM_MEMORY_APPLICATION_SPECIFIC_7 246
618#define VM_MEMORY_APPLICATION_SPECIFIC_8 247
619#define VM_MEMORY_APPLICATION_SPECIFIC_9 248
620#define VM_MEMORY_APPLICATION_SPECIFIC_10 249
621#define VM_MEMORY_APPLICATION_SPECIFIC_11 250
622#define VM_MEMORY_APPLICATION_SPECIFIC_12 251
623#define VM_MEMORY_APPLICATION_SPECIFIC_13 252
624#define VM_MEMORY_APPLICATION_SPECIFIC_14 253
625#define VM_MEMORY_APPLICATION_SPECIFIC_15 254
577#define VM_MEMORY_APPLICATION_SPECIFIC_16 255626#define VM_MEMORY_APPLICATION_SPECIFIC_16 255
578627
579#define VM_MEMORY_COUNT 256628#define VM_MEMORY_COUNT 256
lib/libc/include/any-macos-any/mach_debug/ipc_info.h+75
...@@ -70,6 +70,81 @@...@@ -70,6 +70,81 @@
70#include <mach/port.h>70#include <mach/port.h>
71#include <mach/machine/vm_types.h>71#include <mach/machine/vm_types.h>
7272
73/*!
74 * @brief
75 * Type for mach_port_kobject_description() only.
76 *
77 * @discussion
78 * This type preserved the `IOT_*` values that @c ipc_kobject_type_t used
79 * to carry, whose ABI of this type was known to debugging tools of userspace,
80 * by copying XNU's source.
81 *
82 * This provides a guaranteed stable interface now (however no guarantee
83 * is made that values are still in use).
84 *
85 * Values should never be removed to that list, merely abandonned with
86 * a comment.
87 */
88__enum_decl(ipc_info_object_type_t, natural_t, {
89 IPC_OTYPE_NONE = 0,
90 IPC_OTYPE_THREAD_CONTROL = 1,
91 IPC_OTYPE_TASK_CONTROL = 2,
92 IPC_OTYPE_HOST = 3,
93 IPC_OTYPE_HOST_PRIV = 4,
94 IPC_OTYPE_PROCESSOR = 5,
95 IPC_OTYPE_PROCESSOR_SET = 6,
96 IPC_OTYPE_PROCESSOR_SET_NAME = 7,
97 IPC_OTYPE_TIMER = 8,
98 IPC_OTYPE_PORT_SUBST_ONCE = 9, /* obsolete: no instances */
99 IPC_OTYPE_MIG = 10, /* obsolete: no instances */
100 IPC_OTYPE_MEMORY_OBJECT = 11, /* no port instances */
101 IPC_OTYPE_XMM_PAGER = 12, /* obsolete: no instances */
102 IPC_OTYPE_XMM_KERNEL = 13, /* obsolete: no instances */
103 IPC_OTYPE_XMM_REPLY = 14, /* obsolete: no instances */
104 IPC_OTYPE_UND_REPLY = 15,
105 IPC_OTYPE_HOST_NOTIFY = 16, /* obsolete: no instances */
106 IPC_OTYPE_HOST_SECURITY = 17, /* obsolete: no instances */
107 IPC_OTYPE_LEDGER = 18, /* obsolete: no instances */
108 IPC_OTYPE_MAIN_DEVICE = 19,
109 IPC_OTYPE_TASK_NAME = 20,
110 IPC_OTYPE_SUBSYSTEM = 21, /* obsolete: no instances */
111 IPC_OTYPE_IO_DONE_QUEUE = 22, /* obsolete: no instances */
112 IPC_OTYPE_SEMAPHORE = 23,
113 IPC_OTYPE_LOCK_SET = 24, /* obsolete: no instances */
114 IPC_OTYPE_CLOCK = 25,
115 IPC_OTYPE_CLOCK_CTRL = 26, /* obsolete: no instances */
116 IPC_OTYPE_IOKIT_IDENT = 27,
117 IPC_OTYPE_NAMED_ENTRY = 28,
118 IPC_OTYPE_IOKIT_CONNECT = 29,
119 IPC_OTYPE_IOKIT_OBJECT = 30,
120 IPC_OTYPE_UPL = 31, /* obsolete: no instances */
121 IPC_OTYPE_MEM_OBJ_CONTROL = 32, /* obsolete: no instances */
122 IPC_OTYPE_AU_SESSIONPORT = 33,
123 IPC_OTYPE_FILEPORT = 34,
124 IPC_OTYPE_LABELH = 35, /* obsolete: no instances */
125 IPC_OTYPE_TASK_RESUME = 36,
126 IPC_OTYPE_VOUCHER = 37,
127 IPC_OTYPE_VOUCHER_ATTR_CONTROL = 38, /* obsolete: no instances */
128 IPC_OTYPE_WORK_INTERVAL = 39,
129 IPC_OTYPE_UX_HANDLER = 40,
130 IPC_OTYPE_UEXT_OBJECT = 41,
131 IPC_OTYPE_ARCADE_REG = 42,
132 IPC_OTYPE_EVENTLINK = 43,
133 IPC_OTYPE_TASK_INSPECT = 44,
134 IPC_OTYPE_TASK_READ = 45,
135 IPC_OTYPE_THREAD_INSPECT = 46,
136 IPC_OTYPE_THREAD_READ = 47,
137 IPC_OTYPE_SUID_CRED = 48, /* obsolete: no instances */
138 IPC_OTYPE_HYPERVISOR = 49,
139 IPC_OTYPE_TASK_ID_TOKEN = 50,
140 IPC_OTYPE_TASK_FATAL = 51,
141 IPC_OTYPE_KCDATA = 52,
142 IPC_OTYPE_EXCLAVES_RESOURCE = 53,
143
144 /* catchall */
145 IPC_OTYPE_UNKNOWN = ~0u,
146});
147
73/*148/*
74 * Remember to update the mig type definitions149 * Remember to update the mig type definitions
75 * in mach_debug_types.defs when adding/removing fields.150 * in mach_debug_types.defs when adding/removing fields.
lib/libc/include/any-macos-any/malloc/_malloc.h+70-1
...@@ -55,8 +55,8 @@ void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __all...@@ -55,8 +55,8 @@ void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __all
55void * __sized_by_or_null(__count * __size) calloc(size_t __count, size_t __size) __result_use_check __alloc_size(1,2) _MALLOC_TYPED(malloc_type_calloc, 2);55void * __sized_by_or_null(__count * __size) calloc(size_t __count, size_t __size) __result_use_check __alloc_size(1,2) _MALLOC_TYPED(malloc_type_calloc, 2);
56void free(void * __unsafe_indexable);56void free(void * __unsafe_indexable);
57void * __sized_by_or_null(__size) realloc(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2) _MALLOC_TYPED(malloc_type_realloc, 2);57void * __sized_by_or_null(__size) realloc(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2) _MALLOC_TYPED(malloc_type_realloc, 2);
58void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2);
59#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))58#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
59void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2);
60void * __sized_by_or_null(__size) valloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1);60void * __sized_by_or_null(__size) valloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1);
61#endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */61#endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */
62#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \62#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
...@@ -67,6 +67,75 @@ void * __sized_by_or_null(__size) aligned_alloc(size_t __alignment, size_t __siz...@@ -67,6 +67,75 @@ void * __sized_by_or_null(__size) aligned_alloc(size_t __alignment, size_t __siz
67/* rdar://120689514 */67/* rdar://120689514 */
68int posix_memalign(void * __unsafe_indexable *__memptr, size_t __alignment, size_t __size) _MALLOC_TYPED(malloc_type_posix_memalign, 3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);68int posix_memalign(void * __unsafe_indexable *__memptr, size_t __alignment, size_t __size) _MALLOC_TYPED(malloc_type_posix_memalign, 3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
6969
70#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
71static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_malloc_backdeploy(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1) {
72 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
73 __auto_type func = malloc;
74 if (malloc_type_malloc) {
75 return malloc_type_malloc(size, type_id);
76 }
77 return func(size);
78}
79
80static void * __sized_by_or_null(count * size) __attribute__((always_inline)) malloc_type_calloc_backdeploy(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2) {
81 __attribute__((weak_import)) void * __sized_by_or_null(count * size) malloc_type_calloc(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2);
82 __auto_type func = calloc;
83 if (malloc_type_calloc) {
84 return malloc_type_calloc(count, size, type_id);
85 }
86 return func(count, size);
87}
88
89static void __attribute__((always_inline)) malloc_type_free_backdeploy(void * __unsafe_indexable ptr, malloc_type_id_t type_id) {
90 __attribute__((weak_import)) void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
91 __auto_type func = free;
92 if (malloc_type_free) {
93 malloc_type_free(ptr, type_id);
94 } else {
95 func(ptr);
96 }
97}
98
99static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_realloc_backdeploy(void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2) {
100 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_realloc(void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
101 __auto_type func = realloc;
102 if (malloc_type_realloc) {
103 return malloc_type_realloc(ptr, size, type_id);
104 }
105 return func(ptr, size);
106}
107
108static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_valloc_backdeploy(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1) {
109 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_valloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
110 __auto_type func = valloc;
111 if (malloc_type_valloc) {
112 return malloc_type_valloc(size, type_id);
113 }
114 return func(size);
115}
116
117#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
118 (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
119 (defined(__cplusplus) && __cplusplus >= 201703L)
120static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_aligned_alloc_backdeploy(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(1) __alloc_size(2) {
121 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_aligned_alloc(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(1) __alloc_size(2);
122 __auto_type func = aligned_alloc;
123 if (malloc_type_aligned_alloc) {
124 return malloc_type_aligned_alloc(alignment, size, type_id);
125 }
126 return func(alignment, size);
127}
128#endif
129
130static int __attribute__((always_inline)) malloc_type_posix_memalign_backdeploy(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) {
131 __attribute__((weak_import)) int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id);
132 __auto_type func = posix_memalign;
133 if (malloc_type_posix_memalign) {
134 return malloc_type_posix_memalign(memptr, alignment, size, type_id);
135 }
136 return func(memptr, alignment, size);
137}
138#endif
70__END_DECLS139__END_DECLS
71140
72#endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */141#endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */
lib/libc/include/any-macos-any/malloc/_malloc_type.h+82-19
...@@ -39,44 +39,107 @@ typedef unsigned long long malloc_type_id_t;...@@ -39,44 +39,107 @@ typedef unsigned long long malloc_type_id_t;
39#define __need_size_t39#define __need_size_t
40#include <stddef.h>40#include <stddef.h>
41#undef __need_size_t41#undef __need_size_t
42#endif42#endif /* size_t */
43#include <sys/cdefs.h> /* __BEGIN_DECLS */43#include <sys/cdefs.h> /* __BEGIN_DECLS */
4444
45#define _MALLOC_TYPE_AVAILABILITY __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
46
47__BEGIN_DECLS45__BEGIN_DECLS
4846
47#define _MALLOC_TYPE_MALLOC_BACKDEPLOY_PUBLIC 1
48
49
50#if _MALLOC_TYPE_MALLOC_BACKDEPLOY_PUBLIC && defined(__has_feature) && __has_feature(typed_memory_operations) && __has_builtin(__is_target_os) && defined(__LP64__) && !defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING)
51#if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 140000) || \
52 (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 170000) || \
53 (defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 170000) || \
54 (defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 100000)
55 #define _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING 1
56#endif
57#endif
58
59/** If we are in a TMO backdeployment configuration we do not globally declare the
60 * real TMO entry points, so that we error out if someone is trying to use them
61 * when their presence is not guaranteed
62 */
63#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
64
65static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_malloc_backdeploy(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
66static void * __sized_by_or_null(count * size) __attribute__((always_inline)) malloc_type_calloc_backdeploy(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2);
67static void __attribute__((always_inline)) malloc_type_free_backdeploy(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
68static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_realloc_backdeploy(void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
69static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_valloc_backdeploy(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
70#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
71 (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
72 (defined(__cplusplus) && __cplusplus >= 201703L)
73static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_aligned_alloc_backdeploy(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(1) __alloc_size(2);
74#endif
75static int __attribute__((always_inline)) malloc_type_posix_memalign_backdeploy(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) /*__alloc_align(2) __alloc_size(3)*/;
76
77/* <malloc/malloc.h> */
78
79typedef struct _malloc_zone_t malloc_zone_t;
80
81static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_malloc_backdeploy(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
82static void * __sized_by_or_null(count * size) __attribute__((always_inline)) malloc_type_zone_calloc_backdeploy(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3);
83static void __attribute__((always_inline)) malloc_type_zone_free_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
84static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_realloc_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);
85static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_valloc_backdeploy(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
86static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_memalign_backdeploy(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3);
87
88#else
89
49/* <malloc/_malloc.h> */90/* <malloc/_malloc.h> */
5091
51_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);92__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
52_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(count * size) malloc_type_calloc(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2);93void * __sized_by_or_null(size) malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
53_MALLOC_TYPE_AVAILABILITY void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);94__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
54_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_realloc(void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);95void * __sized_by_or_null(count * size) malloc_type_calloc(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2);
55_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_valloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);96__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
56_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_aligned_alloc(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);97void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
98__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
99void * __sized_by_or_null(size) malloc_type_realloc(void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
100__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
101void * __sized_by_or_null(size) malloc_type_valloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
102__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
103void * __sized_by_or_null(size) malloc_type_aligned_alloc(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(1) __alloc_size(2);
57/* rdar://120689514 */104/* rdar://120689514 */
58_MALLOC_TYPE_AVAILABILITY int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) /*__alloc_size(3)*/;105__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
59106int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) /*__alloc_align(2) __alloc_size(3)*/;
60107
61/* <malloc/malloc.h> */108/* <malloc/malloc.h> */
62109
63typedef struct _malloc_zone_t malloc_zone_t;110typedef struct _malloc_zone_t malloc_zone_t;
64111
65_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_zone_malloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);112__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
66_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(count * size) malloc_type_zone_calloc(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3);113void * __sized_by_or_null(size) malloc_type_zone_malloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
67_MALLOC_TYPE_AVAILABILITY void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);114__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
68_MALLOC_TYPE_AVAILABILITY void * __sized_by_or_null(size) malloc_type_zone_realloc(malloc_zone_t *zone, void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);115void * __sized_by_or_null(count * size) malloc_type_zone_calloc(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3);
69_MALLOC_TYPE_AVAILABILITY void *__sized_by_or_null(size) malloc_type_zone_valloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);116__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
70_MALLOC_TYPE_AVAILABILITY void *__sized_by_or_null(size) malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);117void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
118__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
119void * __sized_by_or_null(size) malloc_type_zone_realloc(malloc_zone_t *zone, void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);
120__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
121void *__sized_by_or_null(size) malloc_type_zone_valloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
122__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
123void *__sized_by_or_null(size) malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3);
124
125#endif
71126
72__END_DECLS127__END_DECLS
73128
74/* Rewrite enablement */129/* Rewrite enablement */
130
75#if defined(__has_feature) && __has_feature(typed_memory_operations)131#if defined(__has_feature) && __has_feature(typed_memory_operations)
76#if __has_builtin(__is_target_os) && (__is_target_os(ios) || __is_target_os(driverkit) || __is_target_os(macos) || __is_target_os(xros) || __is_target_os(watchos) || __is_target_os(tvos) || (__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore))))132
133#if (__has_builtin(__is_target_os) && __is_target_os(darwin) && !__is_target_os(bridgeos)) ||\
134 (__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore)))
135#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
136#define _MALLOC_TYPE_ENABLED 1
137#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override##_backdeploy, type_param_pos)))
138#else
77#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos)))139#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos)))
78#define _MALLOC_TYPE_ENABLED 1140#define _MALLOC_TYPE_ENABLED 1
79#endif 141#endif
142#endif
80#endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */143#endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */
81144
82#endif /* MALLOC_TARGET_64BIT */145#endif /* MALLOC_TARGET_64BIT */
lib/libc/include/any-macos-any/malloc/malloc.h+157-18
...@@ -2,14 +2,14 @@...@@ -2,14 +2,14 @@
2 * Copyright (c) 1999-2023 Apple Computer, Inc. All rights reserved.2 * Copyright (c) 1999-2023 Apple Computer, Inc. All rights reserved.
3 *3 *
4 * @APPLE_LICENSE_HEADER_START@4 * @APPLE_LICENSE_HEADER_START@
5 * 5 *
6 * This file contains Original Code and/or Modifications of Original Code6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.11 * file.
12 * 12 *
13 * The Original Code and all software distributed under the License are13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
...@@ -17,7 +17,7 @@...@@ -17,7 +17,7 @@
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and18 * Please see the License for the specific language governing rights and
19 * limitations under the License.19 * limitations under the License.
20 * 20 *
21 * @APPLE_LICENSE_HEADER_END@21 * @APPLE_LICENSE_HEADER_END@
22 */22 */
2323
...@@ -62,6 +62,57 @@ __ptrcheck_abi_assume_single()...@@ -62,6 +62,57 @@ __ptrcheck_abi_assume_single()
62#endif // MALLOC_ZONE_FN_PTR62#endif // MALLOC_ZONE_FN_PTR
6363
64__BEGIN_DECLS64__BEGIN_DECLS
65
66/********* Typed zone functions ************/
67
68#if defined(__has_attribute) && __has_attribute(swift_name)
69#define MALLOC_SWIFT_NAME(x) __attribute__((swift_name(#x)))
70#else
71#define MALLOC_SWIFT_NAME(x)
72#endif // defined(__has_attribute) && __has_attribute(swift_name)
73
74/*!
75 * @constant MALLOC_ZONE_MALLOC_DEFAULT_ALIGN
76 * Default alignment for malloc_type_zone_malloc_with_options
77 */
78#define MALLOC_ZONE_MALLOC_DEFAULT_ALIGN __SIZEOF_POINTER__
79
80/*!
81 * @enum malloc_zone_malloc_options_t
82 *
83 * @constant MALLOC_ZONE_MALLOC_OPTION_NONE
84 * Empty placeholder option.
85 *
86 * @constant MALLOC_ZONE_MALLOC_OPTION_CLEAR
87 * Zero out the allocated memory, similar to calloc().
88 *
89 */
90/*!
91 * @constant MALLOC_ZONE_MALLOC_OPTION_CANONICAL_TAG
92 * Under MTE, use a tag of zero (canonical) instead of a random value.
93 */
94typedef enum __enum_options : uint64_t {
95 MALLOC_ZONE_MALLOC_OPTION_NONE = 0u,
96 MALLOC_ZONE_MALLOC_OPTION_CLEAR MALLOC_SWIFT_NAME(clear) = 1u << 0,
97 MALLOC_ZONE_MALLOC_OPTION_CANONICAL_TAG MALLOC_SWIFT_NAME(canonicalTag) = 1u << 1,
98} malloc_zone_malloc_options_t;
99
100/*!
101 * @function malloc_type_zone_malloc_with_options
102 *
103 * Like the other functions declared in malloc/_malloc_type.h, this function
104 * is not intended to be called directly, but is rather the rewrite target for
105 * calls to malloc_zone_malloc_with_options when typed memory operations are
106 * enabled.
107 */
108#if defined(__LP64__)
109__API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0), driverkit(25.0))
110void * __sized_by_or_null(size) malloc_type_zone_malloc_with_options(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id, malloc_zone_malloc_options_t opts) __result_use_check __alloc_align(2) __alloc_size(3);
111#endif /* __LP64__ */
112
113// The remainder of these functions are declared in malloc/_malloc_type.h, and
114// the backdeployment variant definitions are at the bottom of this file.
115
65/********* Type definitions ************/116/********* Type definitions ************/
66117
67/*118/*
...@@ -160,8 +211,7 @@ typedef struct _malloc_zone_t {...@@ -160,8 +211,7 @@ typedef struct _malloc_zone_t {
160 void * __unsafe_indexable ptr);211 void * __unsafe_indexable ptr);
161212
162 /*213 /*
163 * Memory allocation with an extensible binary flags option. Currently for214 * Memory allocation with an extensible binary flags option.
164 * libmalloc-internal zone implementations only - should be NULL otherwise.
165 * Added in version >= 15.215 * Added in version >= 15.
166 */216 */
167 void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_with_options))(217 void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_with_options))(
...@@ -188,10 +238,9 @@ typedef struct _malloc_zone_t {...@@ -188,10 +238,9 @@ typedef struct _malloc_zone_t {
188 struct _malloc_zone_t *zone, size_t alignment, size_t size,238 struct _malloc_zone_t *zone, size_t alignment, size_t size,
189 malloc_type_id_t type_id);239 malloc_type_id_t type_id);
190240
191 /* Must be NULL for non-libmalloc zone implementations */
192 void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_type_malloc_with_options))(241 void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_type_malloc_with_options))(
193 struct _malloc_zone_t *zone, size_t align, size_t size, uint64_t options,242 struct _malloc_zone_t *zone, size_t align, size_t size,
194 malloc_type_id_t type_id);243 uint64_t options, malloc_type_id_t type_id);
195} malloc_zone_t;244} malloc_zone_t;
196245
197/*!246/*!
...@@ -352,6 +401,38 @@ extern void malloc_destroy_zone(malloc_zone_t *zone);...@@ -352,6 +401,38 @@ extern void malloc_destroy_zone(malloc_zone_t *zone);
352extern void * __sized_by_or_null(size) malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2) _MALLOC_TYPED(malloc_type_zone_malloc, 2);401extern void * __sized_by_or_null(size) malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2) _MALLOC_TYPED(malloc_type_zone_malloc, 2);
353 /* Allocates a new pointer of size size; zone must be non-NULL */402 /* Allocates a new pointer of size size; zone must be non-NULL */
354403
404/*!
405 * @function malloc_zone_malloc_with_options
406 *
407 * @param zone
408 * The malloc zone that should be used to used to serve the allocation. This
409 * parameter may be NULL, in which case the default zone will be used.
410 *
411 * @param align
412 * The minimum alignment of the requested allocation. This parameter must be
413 * MALLOC_ZONE_MALLOC_DEFAULT_ALIGN to request default alignment, or a power
414 * of 2 >= sizeof(void *).
415 *
416 * @param size
417 * The size, in bytes, of the requested allocation. Must be an integral
418 * multiple of align if align is non-zero.
419 *
420 * @param options
421 * A bitmask of options defining how the memory should be allocated. See the
422 * available bit values in the malloc_zone_malloc_options_t enum definition.
423 *
424 * @result
425 * A pointer to the newly allocated block of memory, or NULL if the allocation
426 * failed.
427 *
428 * @discussion
429 * This API does not use errno to signal information about the reason for its
430 * success or failure, and makes no guarantees about preserving or settings its
431 * value in any case.
432 */
433__API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0), driverkit(25.0))
434extern void * __sized_by_or_null(size) malloc_zone_malloc_with_options(malloc_zone_t *zone, size_t align, size_t size, malloc_zone_malloc_options_t opts) __alloc_align(2) __alloc_size(3) _MALLOC_TYPED(malloc_type_zone_malloc_with_options, 3);
435
355extern void * __sized_by_or_null(num_items * size) malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3) _MALLOC_TYPED(malloc_type_zone_calloc, 3);436extern void * __sized_by_or_null(num_items * size) malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3) _MALLOC_TYPED(malloc_type_zone_calloc, 3);
356 /* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */437 /* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */
357438
...@@ -590,22 +671,80 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void...@@ -590,22 +671,80 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void
590// Version 13:671// Version 13:
591// - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for672// - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for
592// setting errno to ENOMEM on failure673// setting errno to ENOMEM on failure
593// - malloc_zone_t::try_free_default674// - malloc_zone_t::try_free_default (libmalloc only, NULL otherwise)
594// Version 14:675// Version 14:
595// malloc_introspection_t::zone_type676// malloc_introspection_t::zone_type (mandatory, should be 0)
596// Version 15:677// Version 15:
597// malloc_zone_t::malloc_with_options678// malloc_zone_t::malloc_with_options (optional)
598// Version 16:679// Version 16:
599// malloc_zone_t::malloc_type_malloc680// malloc_zone_t::malloc_type_malloc (mandatory)
600// malloc_zone_t::malloc_type_calloc681// malloc_zone_t::malloc_type_calloc (mandatory)
601// malloc_zone_t::malloc_type_realloc682// malloc_zone_t::malloc_type_realloc (mandatory)
602// malloc_zone_t::malloc_type_memalign683// malloc_zone_t::malloc_type_memalign (mandatory)
603// malloc_zone_t::malloc_type_malloc_with_options684// malloc_zone_t::malloc_type_malloc_with_options (optional)
604685
605// These functions are optional and calling them requires two checks:686// Zone functions are optional unless specified otherwise above. Calling a zone
687// function requires two checks:
606// * Check zone version to ensure zone struct is large enough to include the member.688// * Check zone version to ensure zone struct is large enough to include the member.
607// * Check that the function pointer is not null.689// * Check that the function pointer is not null.
608690
691#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
692static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_malloc_backdeploy(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2) {
693 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_zone_malloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
694 __auto_type func = malloc_zone_malloc;
695 if (malloc_type_zone_malloc) {
696 return malloc_type_zone_malloc(zone, size, type_id);
697 }
698 return func(zone, size);
699}
700
701static void * __sized_by_or_null(count * size) __attribute__((always_inline)) malloc_type_zone_calloc_backdeploy(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3) {
702 __attribute__((weak_import)) void * __sized_by_or_null(count * size) malloc_type_zone_calloc(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3);
703 __auto_type func = malloc_zone_calloc;
704 if (malloc_type_zone_calloc) {
705 return malloc_type_zone_calloc(zone, count, size, type_id);
706 }
707 return func(zone, count, size);
708}
709
710static void __attribute__((always_inline)) malloc_type_zone_free_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id) {
711 __attribute__((weak_import)) void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
712 __auto_type func = malloc_zone_free;
713 if (malloc_type_zone_free) {
714 malloc_type_zone_free(zone, ptr, type_id);
715 } else {
716 func(zone, ptr);
717 }
718}
719
720static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_realloc_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3) {
721 __auto_type func = malloc_zone_realloc;
722 __attribute__((weak_import)) void * __sized_by_or_null(size) malloc_type_zone_realloc(malloc_zone_t *zone, void * __unsafe_indexable ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);
723 if (malloc_type_zone_realloc) {
724 return malloc_type_zone_realloc(zone, ptr, size, type_id);
725 }
726 return func(zone, ptr, size);
727}
728
729static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_valloc_backdeploy(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2) {
730 __attribute__((weak_import)) void *__sized_by_or_null(size) malloc_type_zone_valloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2);
731 __auto_type func = malloc_zone_valloc;
732 if (malloc_type_zone_valloc) {
733 return malloc_type_zone_valloc(zone, size, type_id);
734 }
735 return func(zone, size);
736}
737
738static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_memalign_backdeploy(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3) {
739 __attribute__((weak_import)) void *__sized_by_or_null(size) malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3);
740 __auto_type func = malloc_zone_memalign;
741 if (malloc_type_zone_memalign) {
742 return malloc_type_zone_memalign(zone, alignment, size, type_id);
743 }
744 return func(zone, alignment, size);
745}
746#endif // defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
747
609__END_DECLS748__END_DECLS
610749
611#endif /* _MALLOC_MALLOC_H_ */750#endif /* _MALLOC_MALLOC_H_ */
lib/libc/include/any-macos-any/math.h+27-1
...@@ -129,10 +129,18 @@ extern int __math_errhandling(void);...@@ -129,10 +129,18 @@ extern int __math_errhandling(void);
129 * *129 * *
130 ******************************************************************************/130 ******************************************************************************/
131131
132#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
133/* libc++'s math.h comes before this header in the search order. It
134 * will include this header first and then undef several of these
135 * macros. That doesn't work when the two headers are in different
136 * clang modules. The only way to make that work is to not declare
137 * the macros here, and let libc++ handle the declarations.
138 */
132#define fpclassify(x) \139#define fpclassify(x) \
133 ( sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) \140 ( sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) \
134 : sizeof(x) == sizeof(double) ? __fpclassifyd((double)(x)) \141 : sizeof(x) == sizeof(double) ? __fpclassifyd((double)(x)) \
135 : __fpclassifyl((long double)(x)))142 : __fpclassifyl((long double)(x)))
143#endif /* !defined(__cplusplus) && !__has_feature(modules) */
136144
137extern int __fpclassifyf(float);145extern int __fpclassifyf(float);
138extern int __fpclassifyd(double);146extern int __fpclassifyd(double);
...@@ -152,6 +160,7 @@ extern int __fpclassifyl(long double);...@@ -152,6 +160,7 @@ extern int __fpclassifyl(long double);
152 Thus, if you compile with -ffast-math, actual function calls are160 Thus, if you compile with -ffast-math, actual function calls are
153 generated for these utilities. */161 generated for these utilities. */
154 162
163#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
155#define isnormal(x) \164#define isnormal(x) \
156 ( sizeof(x) == sizeof(float) ? __inline_isnormalf((float)(x)) \165 ( sizeof(x) == sizeof(float) ? __inline_isnormalf((float)(x)) \
157 : sizeof(x) == sizeof(double) ? __inline_isnormald((double)(x)) \166 : sizeof(x) == sizeof(double) ? __inline_isnormald((double)(x)) \
...@@ -176,6 +185,7 @@ extern int __fpclassifyl(long double);...@@ -176,6 +185,7 @@ extern int __fpclassifyl(long double);
176 ( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x)) \185 ( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x)) \
177 : sizeof(x) == sizeof(double) ? __inline_signbitd((double)(x)) \186 : sizeof(x) == sizeof(double) ? __inline_signbitd((double)(x)) \
178 : __inline_signbitl((long double)(x)))187 : __inline_signbitl((long double)(x)))
188#endif /* !defined(__cplusplus) && !__has_feature(modules) */
179189
180__header_always_inline int __inline_isfinitef(float);190__header_always_inline int __inline_isfinitef(float);
181__header_always_inline int __inline_isfinited(double);191__header_always_inline int __inline_isfinited(double);
...@@ -262,6 +272,13 @@ __header_always_inline int __inline_isnormall(long double __x) {...@@ -262,6 +272,13 @@ __header_always_inline int __inline_isnormall(long double __x) {
262 or similar is specified. These are not available in iOS versions prior272 or similar is specified. These are not available in iOS versions prior
263 to 6.0. If you need them, you must target that version or later. */273 to 6.0. If you need them, you must target that version or later. */
264 274
275#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
276/* libc++'s math.h comes before this header in the search order. It
277 * will include this header first and then undef several of these
278 * macros. That doesn't work when the two headers are in different
279 * clang modules. The only way to make that work is to not declare
280 * the macros here, and let libc++ handle the declarations.
281 */
265#define isnormal(x) \282#define isnormal(x) \
266 ( sizeof(x) == sizeof(float) ? __isnormalf((float)(x)) \283 ( sizeof(x) == sizeof(float) ? __isnormalf((float)(x)) \
267 : sizeof(x) == sizeof(double) ? __isnormald((double)(x)) \284 : sizeof(x) == sizeof(double) ? __isnormald((double)(x)) \
...@@ -286,7 +303,8 @@ __header_always_inline int __inline_isnormall(long double __x) {...@@ -286,7 +303,8 @@ __header_always_inline int __inline_isnormall(long double __x) {
286 ( sizeof(x) == sizeof(float) ? __signbitf((float)(x)) \303 ( sizeof(x) == sizeof(float) ? __signbitf((float)(x)) \
287 : sizeof(x) == sizeof(double) ? __signbitd((double)(x)) \304 : sizeof(x) == sizeof(double) ? __signbitd((double)(x)) \
288 : __signbitl((long double)(x)))305 : __signbitl((long double)(x)))
289 306#endif /* !defined(__cplusplus) && !__has_feature(modules) */
307
290extern int __isnormalf(float);308extern int __isnormalf(float);
291extern int __isnormald(double);309extern int __isnormald(double);
292extern int __isnormall(long double);310extern int __isnormall(long double);
...@@ -546,12 +564,20 @@ extern float fmaf(float, float, float);...@@ -546,12 +564,20 @@ extern float fmaf(float, float, float);
546extern double fma(double, double, double);564extern double fma(double, double, double);
547extern long double fmal(long double, long double, long double);565extern long double fmal(long double, long double, long double);
548566
567#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
568/* libc++'s math.h comes before this header in the search order. It
569 * will include this header first and then undef several of these
570 * macros. That doesn't work when the two headers are in different
571 * clang modules. The only way to make that work is to not declare
572 * the macros here, and let libc++ handle the declarations.
573 */
549#define isgreater(x, y) __builtin_isgreater((x),(y))574#define isgreater(x, y) __builtin_isgreater((x),(y))
550#define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y))575#define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y))
551#define isless(x, y) __builtin_isless((x),(y))576#define isless(x, y) __builtin_isless((x),(y))
552#define islessequal(x, y) __builtin_islessequal((x),(y))577#define islessequal(x, y) __builtin_islessequal((x),(y))
553#define islessgreater(x, y) __builtin_islessgreater((x),(y))578#define islessgreater(x, y) __builtin_islessgreater((x),(y))
554#define isunordered(x, y) __builtin_isunordered((x),(y))579#define isunordered(x, y) __builtin_isunordered((x),(y))
580#endif /* !defined(__cplusplus) && !__has_feature(modules) */
555581
556#if defined __i386__ || defined __x86_64__582#if defined __i386__ || defined __x86_64__
557/* Deprecated functions; use the INFINITY and NAN macros instead. */583/* Deprecated functions; use the INFINITY and NAN macros instead. */
lib/libc/include/any-macos-any/net/if.h+1-10
...@@ -154,16 +154,6 @@ struct if_clonereq {...@@ -154,16 +154,6 @@ struct if_clonereq {
154154
155#define IFQ_MAXLEN 128155#define IFQ_MAXLEN 128
156#define IFNET_SLOWHZ 1 /* granularity is 1 second */156#define IFNET_SLOWHZ 1 /* granularity is 1 second */
157#define IFQ_DEF_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */
158#define IFQ_DEF_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
159#define IFQ_DEF_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */
160#define IFQ_DEF_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */
161#define IFQ_DEF_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
162#define IFQ_LL_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */
163#define IFQ_LL_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
164#define IFQ_LL_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */
165#define IFQ_LL_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */
166#define IFQ_LL_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
167/*157/*
168 * Message format for use in obtaining information about interfaces158 * Message format for use in obtaining information about interfaces
169 * from sysctl and the routing socket159 * from sysctl and the routing socket
...@@ -332,6 +322,7 @@ struct ifreq {...@@ -332,6 +322,7 @@ struct ifreq {
332#define IFRTYPE_FUNCTIONAL_LAST 8322#define IFRTYPE_FUNCTIONAL_LAST 8
333 u_int8_t ifru_is_directlink;323 u_int8_t ifru_is_directlink;
334 u_int8_t ifru_is_vpn;324 u_int8_t ifru_is_vpn;
325 u_int8_t ifru_is_companionlink;
335 } ifr_ifru;326 } ifr_ifru;
336#define ifr_addr ifr_ifru.ifru_addr /* address */327#define ifr_addr ifr_ifru.ifru_addr /* address */
337#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */328#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
lib/libc/include/any-macos-any/netinet/tcp.h+5-2
...@@ -118,14 +118,17 @@ struct tcphdr {...@@ -118,14 +118,17 @@ struct tcphdr {
118};118};
119119
120#define TCPOPT_EOL 0120#define TCPOPT_EOL 0
121#define TCPOLEN_EOL 1
121#define TCPOPT_NOP 1122#define TCPOPT_NOP 1
123#define TCPOLEN_NOP 1
122#define TCPOPT_MAXSEG 2124#define TCPOPT_MAXSEG 2
123#define TCPOLEN_MAXSEG 4125#define TCPOLEN_MAXSEG 4
124#define TCPOPT_WINDOW 3126#define TCPOPT_WINDOW 3
125#define TCPOLEN_WINDOW 3127#define TCPOLEN_WINDOW 3
126#define TCPOPT_SACK_PERMITTED 4 /* Experimental */128#define TCPOPT_SACK_PERMITTED 4 /* SACK capability in SYN */
127#define TCPOLEN_SACK_PERMITTED 2129#define TCPOLEN_SACK_PERMITTED 2
128#define TCPOPT_SACK 5 /* Experimental */130#define TCPOPT_SACK 5
131#define TCPOLEN_SACKHDR 2
129#define TCPOLEN_SACK 8 /* len of sack block */132#define TCPOLEN_SACK 8 /* len of sack block */
130#define TCPOPT_TIMESTAMP 8133#define TCPOPT_TIMESTAMP 8
131#define TCPOLEN_TIMESTAMP 10134#define TCPOLEN_TIMESTAMP 10
lib/libc/include/any-macos-any/netinet6/in6.h+1
...@@ -101,6 +101,7 @@...@@ -101,6 +101,7 @@
101101
102#include <sys/_types.h>102#include <sys/_types.h>
103#include <sys/_types/_sa_family_t.h>103#include <sys/_types/_sa_family_t.h>
104#include <sys/_types/_in_port_t.h>
104105
105/*106/*
106 * Identification of the network protocol stack107 * Identification of the network protocol stack
lib/libc/include/any-macos-any/os/availability.h+15-7
...@@ -115,6 +115,9 @@...@@ -115,6 +115,9 @@
115 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,115 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
116 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension116 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
117 *117 *
118 * Within each platform a tuple of versions will represent the version the API was
119 * introduced in, followed by the version it was deperecated in.
120 *
118 * Examples:121 * Examples:
119 *122 *
120 * API_DEPRECATED("Deprecated", macos(10.4, 10.8))123 * API_DEPRECATED("Deprecated", macos(10.4, 10.8))
...@@ -143,6 +146,10 @@...@@ -143,6 +146,10 @@
143 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,146 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
144 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension147 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
145 *148 *
149 * Within each platform a tuple of versions will represent the version the API was
150 * introduced in, followed by the version it was deperecated in, and finally the version it
151 * was removed in.
152 *
146 * Examples:153 * Examples:
147 *154 *
148 * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0))155 * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0))
...@@ -151,6 +158,7 @@...@@ -151,6 +158,7 @@
151 * API_OBSOLETED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4, 12.0), ios(9.0, 10.0, 11.0))158 * API_OBSOLETED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4, 12.0), ios(9.0, 10.0, 11.0))
152 * API_OBSOLETED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6, 11.0), watchos(2.0, 3.0, 4.0))159 * API_OBSOLETED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6, 11.0), watchos(2.0, 3.0, 4.0))
153 */160 */
161
154 #define API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__)162 #define API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__)
155 #define API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__)163 #define API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__)
156164
...@@ -189,7 +197,7 @@...@@ -189,7 +197,7 @@
189#endif197#endif
190198
191#ifndef API_AVAILABLE_END199#ifndef API_AVAILABLE_END
192 #define API_AVAILABLE_END(...)200 #define API_AVAILABLE_END
193#endif201#endif
194202
195#ifndef API_DEPRECATED203#ifndef API_DEPRECATED
...@@ -201,7 +209,7 @@...@@ -201,7 +209,7 @@
201#endif209#endif
202210
203#ifndef API_DEPRECATED_END211#ifndef API_DEPRECATED_END
204 #define API_DEPRECATED_END(...)212 #define API_DEPRECATED_END
205#endif213#endif
206214
207#ifndef API_DEPRECATED_WITH_REPLACEMENT215#ifndef API_DEPRECATED_WITH_REPLACEMENT
...@@ -213,7 +221,7 @@...@@ -213,7 +221,7 @@
213#endif221#endif
214222
215#ifndef API_DEPRECATED_WITH_REPLACEMENT_END223#ifndef API_DEPRECATED_WITH_REPLACEMENT_END
216 #define API_DEPRECATED_WITH_REPLACEMENT_END(...)224 #define API_DEPRECATED_WITH_REPLACEMENT_END
217#endif225#endif
218226
219#ifndef API_OBSOLETED227#ifndef API_OBSOLETED
...@@ -225,7 +233,7 @@...@@ -225,7 +233,7 @@
225#endif233#endif
226234
227#ifndef API_OBSOLETED_END235#ifndef API_OBSOLETED_END
228 #define API_OBSOLETED_END(...)236 #define API_OBSOLETED_END
229#endif237#endif
230238
231#ifndef API_OBSOLETED_WITH_REPLACEMENT239#ifndef API_OBSOLETED_WITH_REPLACEMENT
...@@ -237,7 +245,7 @@...@@ -237,7 +245,7 @@
237#endif245#endif
238246
239#ifndef API_OBSOLETED_WITH_REPLACEMENT_END247#ifndef API_OBSOLETED_WITH_REPLACEMENT_END
240 #define API_OBSOLETED_WITH_REPLACEMENT_END(...)248 #define API_OBSOLETED_WITH_REPLACEMENT_END
241#endif249#endif
242250
243#ifndef API_UNAVAILABLE251#ifndef API_UNAVAILABLE
...@@ -249,7 +257,7 @@...@@ -249,7 +257,7 @@
249#endif257#endif
250258
251#ifndef API_UNAVAILABLE_END259#ifndef API_UNAVAILABLE_END
252 #define API_UNAVAILABLE_END(...)260 #define API_UNAVAILABLE_END
253#endif261#endif
254262
255#if __has_include(<AvailabilityProhibitedInternal.h>)263#if __has_include(<AvailabilityProhibitedInternal.h>)
...@@ -269,7 +277,7 @@...@@ -269,7 +277,7 @@
269#endif277#endif
270278
271#ifndef SPI_AVAILABLE_END279#ifndef SPI_AVAILABLE_END
272 #define SPI_AVAILABLE_END(...)280 #define SPI_AVAILABLE_END
273#endif281#endif
274282
275#ifndef SPI_DEPRECATED283#ifndef SPI_DEPRECATED
lib/libc/include/any-macos-any/os/base.h+5
...@@ -71,7 +71,11 @@...@@ -71,7 +71,11 @@
71#define OS_WEAK __attribute__((__weak__))71#define OS_WEAK __attribute__((__weak__))
72#define OS_WEAK_IMPORT __attribute__((__weak_import__))72#define OS_WEAK_IMPORT __attribute__((__weak_import__))
73#define OS_NOINLINE __attribute__((__noinline__))73#define OS_NOINLINE __attribute__((__noinline__))
74#ifndef __BUILDING_XNU_LIBRARY__
74#define OS_ALWAYS_INLINE __attribute__((__always_inline__))75#define OS_ALWAYS_INLINE __attribute__((__always_inline__))
76#else /* __BUILDING_XNU_LIBRARY__ */
77#define OS_ALWAYS_INLINE
78#endif /* __BUILDING_XNU_LIBRARY__ */
75#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__))79#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__))
76#define OS_ALIGNED(n) __attribute__((__aligned__((n))))80#define OS_ALIGNED(n) __attribute__((__aligned__((n))))
77#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y)))81#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y)))
...@@ -343,4 +347,5 @@ typedef void (^os_block_t)(void);...@@ -343,4 +347,5 @@ typedef void (^os_block_t)(void);
343#define OS_COUNTED_BY(N) __counted_by(N)347#define OS_COUNTED_BY(N) __counted_by(N)
344#define OS_SIZED_BY(N) __sized_by(N)348#define OS_SIZED_BY(N) __sized_by(N)
345349
350
346#endif // __OS_BASE__351#endif // __OS_BASE__
lib/libc/include/any-macos-any/os/workgroup_base.h+6
...@@ -26,6 +26,12 @@...@@ -26,6 +26,12 @@
26#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN26#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN
27#define OS_WORKGROUP_ASSUME_NONNULL_END27#define OS_WORKGROUP_ASSUME_NONNULL_END
28#endif28#endif
29#if __has_feature(enumerator_attributes)
30#define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) \
31 API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__)
32#else
33#define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...)
34#endif
29#define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__))35#define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__))
30#define OS_WORKGROUP_EXPORT OS_EXPORT36#define OS_WORKGROUP_EXPORT OS_EXPORT
31#define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED37#define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED
lib/libc/include/any-macos-any/secure/_common.h+2
...@@ -39,5 +39,7 @@...@@ -39,5 +39,7 @@
3939
40#define __darwin_obsz0(object) __builtin_object_size (object, 0)40#define __darwin_obsz0(object) __builtin_object_size (object, 0)
41#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)41#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
42#define __darwin_pass_obsz0 __attribute__((__pass_object_size__(0)))
43#define __darwin_pass_obsz __attribute__((__pass_object_size__(_USE_FORTIFY_LEVEL > 1 ? 1 : 0)))
4244
43#endif45#endif
lib/libc/include/any-macos-any/secure/_stdio.h+72-31
...@@ -35,54 +35,95 @@ _LIBC_SINGLE_BY_DEFAULT()...@@ -35,54 +35,95 @@ _LIBC_SINGLE_BY_DEFAULT()
3535
36#if _USE_FORTIFY_LEVEL > 036#if _USE_FORTIFY_LEVEL > 0
3737
38#ifndef __has_builtin38extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
39#define _undef__has_builtin39 const char * __restrict, ...);
40#define __has_builtin(x) 040extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
41#endif41 const char * __restrict, va_list);
4242
43/* sprintf, vsprintf, snprintf, vsnprintf */
44#if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__)
45extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,43extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
46 const char * __restrict, ...);44 const char * __restrict, ...);
45extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
46 const char * __restrict, va_list);
4747
48#undef sprintf48#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
49#define sprintf(str, ...) \49
50 __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)50/* verify that there are at least __n characters at __str */
51static inline char *_LIBC_COUNT(__n)
52__libc_ptrchk_strbuf_chk(char *_LIBC_COUNT(__n) __str, size_t __n) { return __str; }
53
54#undef __sprintf_chk_func /* sprintf is unavailable */
55#undef __vsprintf_chk_func /* vsprintf is unavailable */
56
57#define __vsnprintf_chk_func(str, len, flag, format, ap) ({ \
58 size_t __len = (len); \
59 __builtin___vsnprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), format, ap); \
60})
61
62#define __snprintf_chk_func(str, len, flag, ...) ({ \
63 size_t __len = (len); \
64 __builtin___snprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), __VA_ARGS__); \
65})
66
67#else
68
69#ifndef __has_builtin
70#define __undef__has_builtin
71#define __has_builtin(x) defined(__GNUC__)
51#endif72#endif
5273
53#if __DARWIN_C_LEVEL >= 200112L74#if __has_builtin(__builtin___snprintf_chk)
54#if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__)75#define __snprintf_chk_func(str, len, flag, ...) \
55extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,76 __builtin___snprintf_chk (str, len, flag, __darwin_obsz(str), __VA_ARGS__)
56 const char * __restrict, ...);77#endif
5778
58#undef snprintf79#if __has_builtin(__builtin___vsnprintf_chk)
59#define snprintf(str, len, ...) \80#define __vsnprintf_chk_func(str, len, flag, format, ap) \
60 __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)81 __builtin___vsnprintf_chk (str, len, flag, __darwin_obsz(str), format, ap)
61#endif82#endif
6283
63#if __has_builtin(__builtin___vsprintf_chk) || defined(__GNUC__)
64extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
65 const char * __restrict, va_list);
6684
85#if __has_builtin(__builtin___sprintf_chk)
86#define __sprintf_chk_func(str, flag, ...) \
87 __builtin___sprintf_chk (str, flag, __darwin_obsz(str), __VA_ARGS__)
88#endif
89
90#if __has_builtin(__builtin___vsprintf_chk)
91#define __vsprintf_chk_func(str, flag, format, ap) \
92 __builtin___vsprintf_chk (str, flag, __darwin_obsz(str), format, ap)
93#endif
94
95
96#ifdef __undef__has_builtin
97#undef __undef__has_builtin
98#undef __has_builtin
99#endif
100
101#endif
102
103/* sprintf, vsprintf, snprintf, vsnprintf */
104
105#ifdef __sprintf_chk_func
106#undef sprintf
107#define sprintf(str, ...) __sprintf_chk_func (str, 0, __VA_ARGS__)
108#endif
109
110#if __DARWIN_C_LEVEL >= 200112L
111
112#ifdef __vsprintf_chk_func
67#undef vsprintf113#undef vsprintf
68#define vsprintf(str, format, ap) \114#define vsprintf(str, ...) __vsprintf_chk_func (str, 0, __VA_ARGS__)
69 __builtin___vsprintf_chk (str, 0, __darwin_obsz(str), format, ap)
70#endif115#endif
71116
72#if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__)117#ifdef __snprintf_chk_func
73extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,118#undef snprintf
74 const char * __restrict, va_list);119#define snprintf(str, len, ...) __snprintf_chk_func (str, len, 0, __VA_ARGS__)
120#endif
75121
122#ifdef __vsnprintf_chk_func
76#undef vsnprintf123#undef vsnprintf
77#define vsnprintf(str, len, format, ap) \124#define vsnprintf(str, len, ...) __vsnprintf_chk_func (str, len, 0, __VA_ARGS__)
78 __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
79#endif125#endif
80126
81#endif /* __DARWIN_C_LEVEL >= 200112L */
82
83#ifdef _undef__has_builtin
84#undef _undef__has_builtin
85#undef __has_builtin
86#endif127#endif
87128
88#endif /* _USE_FORTIFY_LEVEL > 0 */129#endif /* _USE_FORTIFY_LEVEL > 0 */
lib/libc/include/any-macos-any/secure/_string.h+220-75
...@@ -34,117 +34,262 @@...@@ -34,117 +34,262 @@
3434
35#if _USE_FORTIFY_LEVEL > 035#if _USE_FORTIFY_LEVEL > 0
3636
37/* <rdar://problem/12622659> */37#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
38#if defined(__clang__) && \38
39 ((defined(__apple_build_version__) && __apple_build_version__ >= 4260006) || \39#if __has_builtin(__builtin___memcpy_chk)
40 (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))40static inline void *_LIBC_SIZE(__n)
41#define __HAS_FIXED_CHK_PROTOTYPES 141__memcpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, size_t __n) {
42#else42 return _LIBC_FORGE_PTR(__builtin___memcpy_chk(__dst, __src, __n, __darwin_obsz0(__dst)), __n);
43#define __HAS_FIXED_CHK_PROTOTYPES 043}
44#define __memcpy_chk_func __memcpy_ptrchk
44#endif45#endif
4546
46/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,47#if __has_builtin(__builtin___memmove_chk)
47 strncpy, stpncpy, strcat, strlcat, and strncat */48static inline void *_LIBC_SIZE(__n)
49__memmove_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, size_t __n) {
50 return _LIBC_FORGE_PTR(__builtin___memmove_chk(__dst, __src, __n, __darwin_obsz0(__dst)), __n);
51}
52#define __memmove_chk_func __memmove_ptrchk
53#endif
4854
49#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 || \55#if __has_builtin(__builtin___memset_chk)
50 defined(__DRIVERKIT_VERSION_MIN_REQUIRED)56static inline void *_LIBC_SIZE(__n)
51#if __has_builtin(__builtin___memccpy_chk) && __HAS_FIXED_CHK_PROTOTYPES57__memset_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, int __c, size_t __n) {
52#undef memccpy58 return _LIBC_FORGE_PTR(__builtin___memset_chk(__dst, __c, __n, __darwin_obsz0(__dst)), __n);
53/* void *memccpy(void *dst, const void *src, int c, size_t n) */59}
54#define memccpy(dest, ...) \60#define __memset_chk_func __memset_ptrchk
55 __builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
56#endif61#endif
62
63#undef __stpncpy_chk_func /* stpncpy unavailable */
64#undef __strncpy_chk_func /* strncpy unavailable */
65
66#if __has_builtin(__builtin___strlcpy_chk)
67static inline size_t
68__strlcpy_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) {
69 return __builtin___strlcpy_chk(__dst, __src, __n, __darwin_obsz(__dst));
70}
71#define __strlcpy_chk_func __strlcpy_ptrchk
57#endif72#endif
5873
59#if __has_builtin(__builtin___memcpy_chk) || defined(__GNUC__)74#if __has_builtin(__builtin___strlcat_chk)
60#undef memcpy75static inline size_t
61/* void *memcpy(void *dst, const void *src, size_t n) */76__strlcat_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) {
62#define memcpy(dest, ...) \77 return __builtin___strlcat_chk(__dst, __src, __n, __darwin_obsz(__dst));
78}
79#define __strlcat_chk_func __strlcat_ptrchk
80#endif
81
82#if __has_builtin(__builtin___memccpy_chk)
83static inline void *_LIBC_SIZE(__n)
84__memccpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, int __c, size_t __n) {
85 return _LIBC_FORGE_PTR(__builtin___memccpy_chk(__dst, __src, __c, __n, __darwin_obsz0(__dst)), __n);
86}
87#define __memccpy_chk_func __memccpy_ptrchk
88#endif
89
90#undef __strcpy_chk_func /* strcpy unavailable */
91#undef __stpcpy_chk_func /* stpcpy unavailable */
92#undef __strcat_chk_func /* strcat unavailable */
93#undef __strncat_chk_func /* strncat unavailable */
94
95#else /* __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES */
96
97#define __is_modern_darwin(ios, macos) \
98 (__IPHONE_OS_VERSION_MIN_REQUIRED >= (ios) || \
99 __MAC_OS_X_VERSION_MIN_REQUIRED >= (macos) || \
100 defined(__DRIVERKIT_VERSION_MIN_REQUIRED))
101
102/* __is_gcc(gcc_major, gcc_minor)
103 * Special values:
104 * 10.0 means "test should always fail when __has_builtin isn't supported"
105 (because gcc got __has_builtin in version 10.0); this is used for builtins
106 that gcc did not support yet at the time __has_builtin was introduced, so
107 there is no point checking the compiler version.
108 * 0.0 means that we did not research when gcc started supporting this builtin,
109 but it's believed to have been the case at least since gcc 4.0, which came
110 out in 2005. (Hello from 2025! What year is it now? Can't believe we're still
111 using C!)
112 */
113#define __is_gcc(major, minor) \
114 (__GNUC__ > (gcc_major) || \
115 (__GNUC__ == (gcc_major) && __GNUC_MINOR__ >= (gcc_minor)))
116
117#ifdef __has_builtin
118#define __supports_builtin(builtin, gcc_major, gcc_minor) \
119 __has_builtin(builtin)
120#else
121#define __supports_builtin(builtin, gcc_major, gcc_minor) __is_gcc(gcc_major, gcc_minor)
122#endif
123
124
125#if __supports_builtin(__builtin___memcpy_chk, 0, 0)
126#define __memcpy_chk_func(dest, ...) \
63 __builtin___memcpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))127 __builtin___memcpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
64#endif128#endif
65129
66#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)130#if __supports_builtin(__builtin___memmove_chk, 0, 0)
67#undef memmove131#define __memmove_chk_func(dest, ...) \
68/* void *memmove(void *dst, const void *src, size_t len) */
69#define memmove(dest, ...) \
70 __builtin___memmove_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))132 __builtin___memmove_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
71#endif133#endif
72134
73#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)135#if __supports_builtin(__builtin___memset_chk, 0, 0)
74#undef memset136#define __memset_chk_func(dest, ...) \
75/* void *memset(void *b, int c, size_t len) */
76#define memset(dest, ...) \
77 __builtin___memset_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))137 __builtin___memset_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
78#endif138#endif
79139
80#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__)140#if __supports_builtin(__builtin___stpncpy_chk, 4, 7)
81#undef strcpy141#define __stpncpy_chk_func(dest, ...) \
82/* char *strcpy(char *dst, const char *src) */142 __builtin___stpncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
83#define strcpy(dest, ...) \
84 __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
85#endif143#endif
86144
87#if __DARWIN_C_LEVEL >= 200809L145#if __supports_builtin(__builtin___strncpy_chk, 0, 0)
88#if __has_builtin(__builtin___stpcpy_chk) || defined(__GNUC__)146#define __strncpy_chk_func(dest, ...) \
89#undef stpcpy147 __builtin___strncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
90/* char *stpcpy(char *dst, const char *src) */
91#define stpcpy(dest, ...) \
92 __builtin___stpcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
93#endif148#endif
94#endif /* __DARWIN_C_LEVEL >= 200809L */
95149
96#if __DARWIN_C_LEVEL >= 200809L150#if __is_modern_darwin(70000, 1090)
97#if __has_builtin(__builtin___stpncpy_chk) || __APPLE_CC__ >= 5666 || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)
98#undef stpncpy
99/* char *stpncpy(char *dst, const char *src, size_t n) */
100#define stpncpy(dest, ...) \
101 __builtin___stpncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
102#endif
103#endif /* _DARWIN_C_LEVEL >= 200809L */
104151
105#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL152#if __supports_builtin(__builtin___strlcpy_chk, 0, 0)
106#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 || \153#define __strlcpy_chk_func(dest, ...) \
107 defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
108#if __has_builtin(__builtin___strlcpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
109#undef strlcpy
110/* size_t strlcpy(char *dst, const char *source, size_t size) */
111#define strlcpy(dest, ...) \
112 __builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))154 __builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
113#endif155#endif
114156
115#if __has_builtin(__builtin___strlcat_chk) && __HAS_FIXED_CHK_PROTOTYPES157#if __supports_builtin(__builtin___strlcat_chk, 0, 0)
116#undef strlcat158#define __strlcat_chk_func(dest, ...) \
117/* size_t strlcat(char *dst, const char *source, size_t size) */
118#define strlcat(dest, ...) \
119 __builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))159 __builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
120#endif160#endif
121#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 */
122#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
123161
124#if __has_builtin(__builtin___strncpy_chk) || defined(__GNUC__)162#if __supports_builtin(__builtin___memccpy_chk, 10, 0)
125#undef strncpy163#define __memccpy_chk_func(dest, ...) \
126/* char *strncpy(char *dst, const char *src, size_t n) */164 __builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
127#define strncpy(dest, ...) \
128 __builtin___strncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
129#endif165#endif
130166
131#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__)167#endif /* __is_modern_darwin(70000, 1090) */
132#undef strcat168
133/* char *strcat(char *s1, const char *s2) */169
134#define strcat(dest, ...) \170#if __supports_builtin(__builtin___strcpy_chk, 0, 0)
171#define __strcpy_chk_func(dest, ...) \
172 __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
173#endif
174
175#if __supports_builtin(__builtin___stpcpy_chk, 0, 0)
176#define __stpcpy_chk_func(dest, ...) \
177 __builtin___stpcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
178#endif
179
180#if __supports_builtin(__builtin___strcat_chk, 0, 0)
181#define __strcat_chk_func(dest, ...) \
135 __builtin___strcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))182 __builtin___strcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
136#endif183#endif
137184
138#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)185#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)
139#if __has_builtin(__builtin___strncat_chk) || defined(__GNUC__)186#if __supports_builtin(__builtin___strncat_chk, 0, 0)
140#undef strncat187#define __strncat_chk_func(dest, ...) \
141/* char *strncat(char *s1, const char *s2, size_t n) */
142#define strncat(dest, ...) \
143 __builtin___strncat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))188 __builtin___strncat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
144#endif189#endif
145#endif190#endif
146191
147#undef __HAS_FIXED_CHK_PROTOTYPES192
193#undef __supports_builtin
194#undef __is_gcc
195
196#endif /* defined(__has_ptrcheck) && __has_ptrcheck */
197
198#undef __is_modern_darwin
199
200/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
201 strncpy, stpncpy, strcat, strlcat, and strncat */
202
203/* The use of .../__VA_ARGS__ is load-bearing. If the macros take fixed
204 * arguments, they are unable to themselves accept macros that expand to
205 * multiple arguments, like this:
206 * #define memcpy(a, b, c) ...
207 * #define FOO(data) get_bytes(data), get_length(data)
208 * memcpy(bar, FOO(d));
209 * This will fail because the preprocessor only sees two arguments on the first
210 * expansion of memcpy, when 3 are required.
211 * This is also required to support syntaxes that embed commas. The preprocessor
212 * recognizes parentheses for the isolation of arguments but not brackets. This
213 * expands to 3 arguments:
214 * strcpy(destination, [NSString stringWithFormat:@"%i", 4].UTF8String);
215 * ^ ^ ^
216 * |destination | |
217 * |[NSString stringWithFormat:@"%i" |
218 * |4].UTF8String
219 * This expands to 4 arguments:
220 * memcpy(destination, (uint8_t[]) { 1, 2 }, 2);
221 * ^ ^ ^ ^
222 * To work correctly under these hostile circumstances, chk_func macros
223 * need to expand to a bare identifier (like #define memcpy_chk_func __memcpy)
224 * or to a macro that also takes variadic arguments.
225 */
226
227#ifdef __memccpy_chk_func
228#undef memccpy
229#define memccpy(...) __memccpy_chk_func (__VA_ARGS__)
230#endif
231
232#ifdef __memcpy_chk_func
233#undef memcpy
234#define memcpy(...) __memcpy_chk_func (__VA_ARGS__)
235#endif
236
237#ifdef __memmove_chk_func
238#undef memmove
239#define memmove(...) __memmove_chk_func (__VA_ARGS__)
240#endif
241
242#ifdef __memset_chk_func
243#undef memset
244#define memset(...) __memset_chk_func (__VA_ARGS__)
245#endif
246
247#if defined(__strcpy_chk_func)
248#undef strcpy
249#define strcpy(...) __strcpy_chk_func (__VA_ARGS__)
250#endif
251
252#if defined(__strcat_chk_func)
253#undef strcat
254#define strcat(...) __strcat_chk_func (__VA_ARGS__)
255#endif
256
257#if defined(__strncpy_chk_func)
258#undef strncpy
259#define strncpy(...) __strncpy_chk_func (__VA_ARGS__)
260#endif
261
262#if defined(__strncat_chk_func)
263#undef strncat
264#define strncat(...) __strncat_chk_func (__VA_ARGS__)
265#endif
266
267#if __DARWIN_C_LEVEL >= 200809L
268
269#if defined(__stpcpy_chk_func)
270#undef stpcpy
271#define stpcpy(...) __stpcpy_chk_func (__VA_ARGS__)
272#endif
273
274#if defined(__stpncpy_chk_func)
275#undef stpncpy
276#define stpncpy(...) __stpncpy_chk_func (__VA_ARGS__)
277#endif
278
279#endif /* __DARWIN_C_LEVEL >= 200809L */
280
281#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
282#if defined(__strlcpy_chk_func)
283#undef strlcpy
284#define strlcpy(...) __strlcpy_chk_func (__VA_ARGS__)
285#endif
286
287#if defined(__strlcat_chk_func)
288#undef strlcat
289#define strlcat(...) __strlcat_chk_func (__VA_ARGS__)
290#endif
291#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
148292
149#endif /* _USE_FORTIFY_LEVEL > 0 */293#endif /* _USE_FORTIFY_LEVEL > 0 */
294
150#endif /* _SECURE__STRING_H_ */295#endif /* _SECURE__STRING_H_ */
lib/libc/include/any-macos-any/secure/_strings.h+43-6
...@@ -39,18 +39,55 @@...@@ -39,18 +39,55 @@
39/* Removed in Issue 7 */39/* Removed in Issue 7 */
40#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L40#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
4141
42#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)42#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
43
44static inline void
45__bcopy_ptrcheck(const void *_LIBC_SIZE(__n) __src, void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, size_t __n) {
46 memmove(__dst, __src, __n);
47}
48
49static inline void
50__bzero_ptrcheck(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, size_t __n) {
51 memset(__dst, 0, __n);
52}
53
54#define __bcopy_chk_func __bcopy_ptrcheck
55#define __bzero_chk_func __bzero_ptrcheck
56
57#else
58
59#ifndef __has_builtin
60#define __undef__has_builtin
61#define __has_builtin(x) defined(__GNUC__)
62#endif
63
64#if __has_builtin(__builtin___memmove_chk)
65#define __bcopy_chk_func(src, dst, ...) \
66 __builtin___memmove_chk(dst, src, __VA_ARGS__, __darwin_obsz0 (dst))
67#endif
68
69#if __has_builtin(__builtin___memset_chk)
70#define __bzero_chk_func(dst, ...) \
71 __builtin___memset_chk(dst, 0, __VA_ARGS__, __darwin_obsz0 (dst))
72#endif
73
74#ifdef __undef__has_builtin
75#undef __undef__has_builtin
76#undef __has_builtin
77#endif
78
79#endif
80
81#ifdef __bcopy_chk_func
43#undef bcopy82#undef bcopy
44/* void bcopy(const void *src, void *dst, size_t len) */83/* void bcopy(const void *src, void *dst, size_t len) */
45#define bcopy(src, dest, ...) \84#define bcopy(...) __bcopy_chk_func (__VA_ARGS__)
46 __builtin___memmove_chk (dest, src, __VA_ARGS__, __darwin_obsz0 (dest))
47#endif85#endif
4886
49#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)87#ifdef __bzero_chk_func
50#undef bzero88#undef bzero
51/* void bzero(void *s, size_t n) */89/* void bzero(void *s, size_t n) */
52#define bzero(dest, ...) \90#define bzero(...) __bzero_chk_func (__VA_ARGS__)
53 __builtin___memset_chk (dest, 0, __VA_ARGS__, __darwin_obsz0 (dest))
54#endif91#endif
5592
56#endif93#endif
lib/libc/include/any-macos-any/setjmp.h-3
...@@ -51,9 +51,6 @@ typedef int jmp_buf[_JBLEN];...@@ -51,9 +51,6 @@ typedef int jmp_buf[_JBLEN];
51typedef int sigjmp_buf[_JBLEN + 1];51typedef int sigjmp_buf[_JBLEN + 1];
5252
53#elif defined(__arm__) && !defined(__ARM_ARCH_7K__)53#elif defined(__arm__) && !defined(__ARM_ARCH_7K__)
54
55#include <machine/signal.h>
56
57/*54/*
58 * _JBLEN is number of ints required to save the following:55 * _JBLEN is number of ints required to save the following:
59 * r4-r8, r10, fp, sp, lr, sig == 10 register_t sized56 * r4-r8, r10, fp, sp, lr, sig == 10 register_t sized
lib/libc/include/any-macos-any/spawn.h+8-2
...@@ -69,6 +69,12 @@ int posix_spawnp(pid_t * __restrict, const char * __restrict,...@@ -69,6 +69,12 @@ int posix_spawnp(pid_t * __restrict, const char * __restrict,
69 char *const __argv[__restrict],69 char *const __argv[__restrict],
70 char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0));70 char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0));
7171
72int posix_spawn_file_actions_addchdir(posix_spawn_file_actions_t *,
73 const char * __restrict) __API_AVAILABLE(macos(26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
74
75int posix_spawn_file_actions_addfchdir(posix_spawn_file_actions_t *,
76 int) __API_AVAILABLE(macos(26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
77
72int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos);78int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos);
7379
74int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int,80int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int,
...@@ -174,10 +180,10 @@ int posix_spawn_file_actions_addinherit_np(posix_spawn_file_actions_t *,...@@ -174,10 +180,10 @@ int posix_spawn_file_actions_addinherit_np(posix_spawn_file_actions_t *,
174 int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos);180 int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos);
175181
176int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *,182int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *,
177 const char * __restrict) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos);183 const char * __restrict) __API_DEPRECATED("posix_spawn_file_actions_addchdir(3) has replaced posix_spawn_file_actions_addchdir_np(3)", macos(10.15, 26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
178184
179int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *,185int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *,
180 int) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos);186 int) __API_DEPRECATED("posix_spawn_file_actions_addfchdir(3) has replaced posix_spawn_file_actions_addfchdir_np(3)", macos(10.15, 26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
181187
182__END_DECLS188__END_DECLS
183189
lib/libc/include/any-macos-any/sys/_symbol_aliasing.h+36-18
...@@ -341,18 +341,6 @@...@@ -341,18 +341,6 @@
341#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)341#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)
342#endif342#endif
343343
344#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140400
345#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) x
346#else
347#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x)
348#endif
349
350#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500
351#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x
352#else
353#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)
354#endif
355
356#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600344#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600
357#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x345#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x
358#else346#else
...@@ -557,6 +545,24 @@...@@ -557,6 +545,24 @@
557#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x)545#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x)
558#endif546#endif
559547
548#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180600
549#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x) x
550#else
551#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x)
552#endif
553
554#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 190000
555#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x) x
556#else
557#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x)
558#endif
559
560#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260000
561#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x) x
562#else
563#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x)
564#endif
565
560#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000566#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000
561#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x567#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x
562#else568#else
...@@ -857,12 +863,6 @@...@@ -857,12 +863,6 @@
857#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)863#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)
858#endif864#endif
859865
860#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130100
861#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) x
862#else
863#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)
864#endif
865
866#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200866#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200
867#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x867#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x
868#else868#else
...@@ -983,3 +983,21 @@...@@ -983,3 +983,21 @@
983#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x)983#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x)
984#endif984#endif
985985
986#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150600
987#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x) x
988#else
989#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x)
990#endif
991
992#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 160000
993#define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x) x
994#else
995#define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x)
996#endif
997
998#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260000
999#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x) x
1000#else
1001#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x)
1002#endif
1003
lib/libc/include/any-macos-any/sys/_types/_graftdmg_un.h+3
...@@ -43,6 +43,9 @@...@@ -43,6 +43,9 @@
43#define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */43#define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */
44#define SBC_PRESERVE_GRAFT 0x0020 /* Preserve graft itself until unmount */44#define SBC_PRESERVE_GRAFT 0x0020 /* Preserve graft itself until unmount */
4545
46/* Flag values for ungraftdmg */
47#define UNGRAFTDMG_NOFORCE 0x0000000000000002ULL /* Disallow ungraft if a non-dir vnode inside the graft is in use */
48
46typedef struct secure_boot_cryptex_args {49typedef struct secure_boot_cryptex_args {
47 u_int32_t sbc_version;50 u_int32_t sbc_version;
48 u_int32_t sbc_4cc;51 u_int32_t sbc_4cc;
lib/libc/include/any-macos-any/sys/attr.h+6-1
...@@ -50,9 +50,10 @@...@@ -50,9 +50,10 @@
50#define FSOPT_PACK_INVAL_ATTRS 0x0000000850#define FSOPT_PACK_INVAL_ATTRS 0x00000008
5151
5252
53#define FSOPT_ATTR_CMN_EXTENDED 0x0000002053#define FSOPT_ATTR_CMN_EXTENDED 0x00000020
54#define FSOPT_RETURN_REALDEV 0x0000020054#define FSOPT_RETURN_REALDEV 0x00000200
55#define FSOPT_NOFOLLOW_ANY 0x0000080055#define FSOPT_NOFOLLOW_ANY 0x00000800
56#define FSOPT_RESOLVE_BENEATH 0x00001000
5657
57/* we currently aren't anywhere near this amount for a valid58/* we currently aren't anywhere near this amount for a valid
58 * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams259 * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2
...@@ -369,6 +370,9 @@ typedef struct vol_capabilities_attr {...@@ -369,6 +370,9 @@ typedef struct vol_capabilities_attr {
369 *370 *
370 * VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE371 * VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE
371 * fcntl.372 * fcntl.
373 *
374 * VOL_CAP_INT_BARRIERFSYNC: When set, the volume supports the F_BARRIERFSYNC
375 * fcntl.
372 */376 */
373#define VOL_CAP_INT_SEARCHFS 0x00000001377#define VOL_CAP_INT_SEARCHFS 0x00000001
374#define VOL_CAP_INT_ATTRLIST 0x00000002378#define VOL_CAP_INT_ATTRLIST 0x00000002
...@@ -393,6 +397,7 @@ typedef struct vol_capabilities_attr {...@@ -393,6 +397,7 @@ typedef struct vol_capabilities_attr {
393#define VOL_CAP_INT_RENAME_SECLUDE 0x00200000397#define VOL_CAP_INT_RENAME_SECLUDE 0x00200000
394#define VOL_CAP_INT_ATTRIBUTION_TAG 0x00400000398#define VOL_CAP_INT_ATTRIBUTION_TAG 0x00400000
395#define VOL_CAP_INT_PUNCHHOLE 0x00800000399#define VOL_CAP_INT_PUNCHHOLE 0x00800000
400#define VOL_CAP_INT_BARRIERFSYNC 0x01000000
396401
397typedef struct vol_attributes_attr {402typedef struct vol_attributes_attr {
398 attribute_set_t validattr;403 attribute_set_t validattr;
lib/libc/include/any-macos-any/sys/cdefs.h+40-14
...@@ -199,7 +199,16 @@...@@ -199,7 +199,16 @@
199 */199 */
200#define __exported __attribute__((__visibility__("default")))200#define __exported __attribute__((__visibility__("default")))
201#define __exported_push _Pragma("GCC visibility push(default)")201#define __exported_push _Pragma("GCC visibility push(default)")
202#ifndef __BUILDING_XNU_LIBRARY__
203#define __exported_push_hidden _Pragma("GCC visibility push(hidden)")
202#define __exported_pop _Pragma("GCC visibility pop")204#define __exported_pop _Pragma("GCC visibility pop")
205#define __exported_hidden __private_extern__
206#else /* __BUILDING_XNU_LIBRARY__ */
207/* Don't hide symbols that the might be need to be used from outside */
208#define __exported_push_hidden
209#define __exported_pop
210#define __exported_hidden
211#endif /* __BUILDING_XNU_LIBRARY__ */
203212
204/* __deprecated causes the compiler to produce a warning when encountering213/* __deprecated causes the compiler to produce a warning when encountering
205 * code using the deprecated functionality.214 * code using the deprecated functionality.
...@@ -509,12 +518,14 @@...@@ -509,12 +518,14 @@
509 * for plain C (see also <ptrcheck.h>).518 * for plain C (see also <ptrcheck.h>).
510 *519 *
511 * Attribute __unsafe_buffer_usage can be used to label functions that should be520 * Attribute __unsafe_buffer_usage can be used to label functions that should be
512 * avoided as they may perform or otherwise introduce unsafe buffer521 * avoided as they may perform or otherwise introduce unsafe buffer manipulation
513 * manipulation operations.522 * operations. The attribute can also be attached to class/struct fields that
523 * are used in unsafe buffer manipulations.
514 *524 *
515 * Calls to such functions are flagged by -Wunsafe-buffer-usage, similarly to525 * Calls to attribute annotated functions are flagged by -Wunsafe-buffer-usage, similar to
516 * how unchecked buffer manipulation operations are flagged when observed526 * how unchecked buffer manipulation operations are flagged when observed
517 * by the compiler directly:527 * by the compiler directly. Similarly, use of and assignment to the struct/class fields
528 * that have the attribute also get flagged by the compiler.
518 *529 *
519 * // An unsafe function that needs to be avoided.530 * // An unsafe function that needs to be avoided.
520 * __unsafe_buffer_usage531 * __unsafe_buffer_usage
...@@ -527,14 +538,30 @@...@@ -527,14 +538,30 @@
527 * int array[5];538 * int array[5];
528 *539 *
529 * // Direct unsafe buffer manipulation through subscript operator:540 * // Direct unsafe buffer manipulation through subscript operator:
530 * array[idx] = 3; // warning [-Wunsafe-buffer-usage]541 * array[idx] = 3; // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage]
531 * // Unsafe buffer manipulation through function foo():542 * // Unsafe buffer manipulation through function foo():
532 * foo(array, 5); // warning [-Wunsafe-buffer-usage]543 * foo(array, 5); // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage]
533 * // Checked buffer manipulation, with bounds information automatically544 * // Checked buffer manipulation, with bounds information automatically
534 * // preserved for the purposes of runtime checks in standard library:545 * // preserved for the purposes of runtime checks in standard library:
535 * foo(array); // no warning546 * foo(array); // no warning
536 * }547 * }
537 *548 *
549 * struct Reader {
550 * // Field involved in unsafe buffer manipulation
551 * __unsafe_buffer_usage
552 * void *ptr;
553 *
554 * __unsafe_buffer_usage
555 * size_t sz, count;
556 * };
557 *
558 * void add_element(Reader rdr, int value) {
559 * if(rdr.count < rdr.sz) { // warning: unsafe buffer access [-Wunsafe-buffer-usage]
560 * rdr.ptr[rdr.count] = value; // warning: unsafe buffer access [-Wunsafe-buffer-usage]
561 * rdr.count++; // warning: unsafe buffer access [-Wunsafe-buffer-usage]
562 * }
563 * }
564 *
538 * While annotating a function as __unsafe_buffer_usage has an effect similar565 * While annotating a function as __unsafe_buffer_usage has an effect similar
539 * to annotating it as __deprecated, the __unsafe_buffer_usage attribute566 * to annotating it as __deprecated, the __unsafe_buffer_usage attribute
540 * should be used whenever the resulting warning needs to be controlled567 * should be used whenever the resulting warning needs to be controlled
...@@ -542,11 +569,12 @@...@@ -542,11 +569,12 @@
542 * don't attempt to achieve bounds safety this way) as opposed to -Wdeprecated569 * don't attempt to achieve bounds safety this way) as opposed to -Wdeprecated
543 * (enabled in most codebases).570 * (enabled in most codebases).
544 *571 *
545 * The attribute does NOT suppress -Wunsafe-buffer-usage warnings inside572 * The attribute suppresses all -Wunsafe-buffer-usage warnings inside the
546 * the function's body; it simply introduces new warnings at each call site573 * function's body as it is explictly marked as unsafe by the user and
547 * to help the developers avoid the function entirely. Most of the time574 * introduces new warnings at each call site to help the developers avoid the
548 * it does not make sense to annotate a function as __unsafe_buffer_usage575 * function entirely. Most of the time it does not make sense to annotate a
549 * without providing the users with a safe alternative.576 * function as __unsafe_buffer_usage without providing the users with a safe
577 * alternative.
550 *578 *
551 * Pragmas __unsafe_buffer_usage_begin and __unsafe_buffer_usage_end579 * Pragmas __unsafe_buffer_usage_begin and __unsafe_buffer_usage_end
552 * annotate a range of code as intentionally containing unsafe buffer580 * annotate a range of code as intentionally containing unsafe buffer
...@@ -560,9 +588,7 @@...@@ -560,9 +588,7 @@
560 *588 *
561 * These pragmas are NOT a way to mass-annotate functions with the attribute589 * These pragmas are NOT a way to mass-annotate functions with the attribute
562 * __unsafe_buffer_usage. Functions declared within the pragma range590 * __unsafe_buffer_usage. Functions declared within the pragma range
563 * do NOT get annotated automatically. In some rare situations it makes sense591 * do NOT get annotated automatically.
564 * to do all three: put the attribute on the function, put pragmas inside
565 * the body of the function, and put pragmas around some call sites.
566 */592 */
567#if __has_cpp_attribute(clang::unsafe_buffer_usage)593#if __has_cpp_attribute(clang::unsafe_buffer_usage)
568#define __has_safe_buffers 1594#define __has_safe_buffers 1
lib/libc/include/any-macos-any/sys/clonefile.h+5-4
...@@ -30,10 +30,11 @@...@@ -30,10 +30,11 @@
30#define _SYS_CLONEFILE_H_30#define _SYS_CLONEFILE_H_
3131
32/* Options for clonefile calls */32/* Options for clonefile calls */
33#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */33#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */
34#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */34#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */
35#define CLONE_ACL 0x0004 /* Copy access control lists from source */35#define CLONE_ACL 0x0004 /* Copy access control lists from source */
36#define CLONE_NOFOLLOW_ANY 0x0008 /* Don't follow any symbolic links in the path */36#define CLONE_NOFOLLOW_ANY 0x0008 /* Don't follow any symbolic links in the path */
37#define CLONE_RESOLVE_BENEATH 0x0010 /* path must reside in the hierarchy beneath the starting directory */
3738
3839
39#include <sys/cdefs.h>40#include <sys/cdefs.h>
lib/libc/include/any-macos-any/sys/errno.h+6-1
...@@ -260,7 +260,12 @@ __END_DECLS...@@ -260,7 +260,12 @@ __END_DECLS
260260
261#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL261#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
262#define EQFULL 106 /* Interface output queue is full */262#define EQFULL 106 /* Interface output queue is full */
263#define ELAST 106 /* Must be equal largest errno */263#endif
264
265#define ENOTCAPABLE 107 /* Capabilities insufficient */
266
267#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
268#define ELAST 107 /* Must be equal largest errno */
264#endif269#endif
265270
266#endif /* _SYS_ERRNO_H_ */271#endif /* _SYS_ERRNO_H_ */
lib/libc/include/any-macos-any/sys/fcntl.h+7-11
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2000-2022 Apple Inc. All rights reserved.2 * Copyright (c) 2000-2025 Apple Inc. All rights reserved.
3 *3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *5 *
...@@ -126,6 +126,7 @@...@@ -126,6 +126,7 @@
126#define O_TRUNC 0x00000400 /* truncate to zero length */126#define O_TRUNC 0x00000400 /* truncate to zero length */
127#define O_EXCL 0x00000800 /* error if already exists */127#define O_EXCL 0x00000800 /* error if already exists */
128#define O_RESOLVE_BENEATH 0x00001000 /* only for open(2), same value as FMARK */128#define O_RESOLVE_BENEATH 0x00001000 /* only for open(2), same value as FMARK */
129#define O_UNIQUE 0x00002000 /* only for open(2), same value as FDEFER */
129130
130131
131#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)132#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
...@@ -181,6 +182,8 @@...@@ -181,6 +182,8 @@
181#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */182#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */
182#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */183#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */
183#define AT_SYMLINK_NOFOLLOW_ANY 0x0800 /* Path should not contain any symlinks */184#define AT_SYMLINK_NOFOLLOW_ANY 0x0800 /* Path should not contain any symlinks */
185#define AT_RESOLVE_BENEATH 0x2000 /* Path must reside in the hierarchy beneath the starting directory */
186#define AT_NODELETEBUSY 0x4000 /* Don't delete busy files */
184#endif187#endif
185#endif188#endif
186189
...@@ -258,10 +261,8 @@...@@ -258,10 +261,8 @@
258#define F_THAW_FS 54 /* "thaw" all fs operations */261#define F_THAW_FS 54 /* "thaw" all fs operations */
259#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */262#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */
260263
261
262#define F_ADDSIGS 59 /* add detached signatures */264#define F_ADDSIGS 59 /* add detached signatures */
263265
264
265#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */266#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */
266267
267#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */268#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */
...@@ -282,7 +283,6 @@...@@ -282,7 +283,6 @@
282283
283/* See F_DUPFD_CLOEXEC below for 67 */284/* See F_DUPFD_CLOEXEC below for 67 */
284285
285
286#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */286#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */
287#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */287#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */
288288
...@@ -300,10 +300,8 @@...@@ -300,10 +300,8 @@
300300
301#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */301#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */
302302
303
304#define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */303#define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */
305304
306
307#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */305#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */
308306
309#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL307#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
...@@ -314,7 +312,6 @@...@@ -314,7 +312,6 @@
314#define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */312#define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */
315#endif313#endif
316314
317
318#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */315#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */
319#define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */316#define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */
320317
...@@ -335,10 +332,10 @@...@@ -335,10 +332,10 @@
335332
336#define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2))333#define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2))
337334
338
339#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */335#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */
340336
341#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */337#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */
338#define F_NOCACHE_EXT 112 /* turn data caching off/on for this fd and relax size and alignment restrictions for write */
342339
343#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */340#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */
344341
...@@ -359,7 +356,6 @@...@@ -359,7 +356,6 @@
359#define F_UNLCK 2 /* unlock */356#define F_UNLCK 2 /* unlock */
360#define F_WRLCK 3 /* exclusive or write lock */357#define F_WRLCK 3 /* exclusive or write lock */
361358
362
363/*359/*
364 * [XSI] The values used for l_whence shall be defined as described360 * [XSI] The values used for l_whence shall be defined as described
365 * in <unistd.h>361 * in <unistd.h>
...@@ -409,6 +405,7 @@ struct flocktimeout {...@@ -409,6 +405,7 @@ struct flocktimeout {
409 struct flock fl; /* flock passed for file locking */405 struct flock fl; /* flock passed for file locking */
410 struct timespec timeout; /* timespec struct for timeout */406 struct timespec timeout; /* timespec struct for timeout */
411};407};
408
412#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */409#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
413410
414#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)411#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
...@@ -521,7 +518,6 @@ typedef struct fspecread {...@@ -521,7 +518,6 @@ typedef struct fspecread {
521 off_t fsr_length; /* IN: size of the region */518 off_t fsr_length; /* IN: size of the region */
522} fspecread_t;519} fspecread_t;
523520
524
525/* fattributiontag_t used by F_ATTRIBUTION_TAG */521/* fattributiontag_t used by F_ATTRIBUTION_TAG */
526#define ATTRIBUTION_NAME_MAX 255522#define ATTRIBUTION_NAME_MAX 255
527typedef struct fattributiontag {523typedef struct fattributiontag {
...@@ -573,7 +569,6 @@ struct log2phys {...@@ -573,7 +569,6 @@ struct log2phys {
573#define O_POPUP 0x80000000 /* force window to popup on open */569#define O_POPUP 0x80000000 /* force window to popup on open */
574#define O_ALERT 0x20000000 /* small, clean popup window */570#define O_ALERT 0x20000000 /* small, clean popup window */
575571
576
577#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */572#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
578573
579574
...@@ -628,4 +623,5 @@ int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_ST...@@ -628,4 +623,5 @@ int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_ST
628#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */623#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
629__END_DECLS624__END_DECLS
630625
626
631#endif /* !_SYS_FCNTL_H_ */627#endif /* !_SYS_FCNTL_H_ */
lib/libc/include/any-macos-any/sys/kern_control.h+1-1
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2000-2004, 2012-2016 Apple Inc. All rights reserved.2 * Copyright (c) 2000-2004, 2012-2025 Apple Inc. All rights reserved.
3 *3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *5 *
lib/libc/include/any-macos-any/sys/mount.h+4-2
...@@ -384,7 +384,8 @@ struct netfs_status {...@@ -384,7 +384,8 @@ struct netfs_status {
384#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */384#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */
385#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */385#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */
386#define VQ_PURGEABLE_SPACE_CHANGE 0x10000 /* purgeable disk space has significantly changed */386#define VQ_PURGEABLE_SPACE_CHANGE 0x10000 /* purgeable disk space has significantly changed */
387#define VQ_FLAG20000 0x20000 /* placeholder */387#define VQ_IDLE_PURGE_NOTIFY 0x20000 /* Above nearlowdisk and below desired disk space */
388#define VQ_FLAG40000 0x40000 /* placeholder */
388389
389390
390391
...@@ -413,7 +414,7 @@ OS_ENUM(graftdmg_type, uint32_t,...@@ -413,7 +414,7 @@ OS_ENUM(graftdmg_type, uint32_t,
413 GRAFTDMG_CRYPTEX_BOOT = 1,414 GRAFTDMG_CRYPTEX_BOOT = 1,
414 GRAFTDMG_CRYPTEX_PREBOOT = 2,415 GRAFTDMG_CRYPTEX_PREBOOT = 2,
415 GRAFTDMG_CRYPTEX_DOWNLEVEL = 3,416 GRAFTDMG_CRYPTEX_DOWNLEVEL = 3,
416 // Reserved: CRYPTEX1_AUTH_ENV_GENERIC = 4,417 GRAFTDMG_CRYPTEX_AUTH_ENV_GENERIC = 4,
417 // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5,418 // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5,
418 GRAFTDMG_CRYPTEX_PDI_NONCE = 6,419 GRAFTDMG_CRYPTEX_PDI_NONCE = 6,
419 GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,420 GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,
...@@ -459,6 +460,7 @@ int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs);...@@ -459,6 +460,7 @@ int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs);
459int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA);460int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA);
460#endif /* !__DARWIN_ONLY_64_BIT_INO_T */461#endif /* !__DARWIN_ONLY_64_BIT_INO_T */
461int unmount(const char *, int);462int unmount(const char *, int);
463int funmount(int, int) __OSX_AVAILABLE(16.0) __IOS_AVAILABLE(19.0) __TVOS_AVAILABLE(19.0) __WATCHOS_AVAILABLE(12.0);
462int getvfsbyname(const char *, struct vfsconf *);464int getvfsbyname(const char *, struct vfsconf *);
463__END_DECLS465__END_DECLS
464466
lib/libc/include/any-macos-any/sys/paths.h+11
...@@ -40,5 +40,16 @@...@@ -40,5 +40,16 @@
40#define _PATH_RSRCNAME "rsrc"40#define _PATH_RSRCNAME "rsrc"
41#define _PATH_RSRCFORKSPEC "/..namedfork/rsrc"41#define _PATH_RSRCFORKSPEC "/..namedfork/rsrc"
4242
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
53
43#endif /* __APPLE_API_PRIVATE */54#endif /* __APPLE_API_PRIVATE */
44#endif /* !_SYS_PATHS_H_ */55#endif /* !_SYS_PATHS_H_ */
lib/libc/include/any-macos-any/sys/proc.h+1
...@@ -86,6 +86,7 @@...@@ -86,6 +86,7 @@
86struct session;86struct session;
87struct pgrp;87struct pgrp;
88struct proc;88struct proc;
89struct proc_ident;
8990
90/* Exported fields for kern sysctls */91/* Exported fields for kern sysctls */
91struct extern_proc {92struct extern_proc {
lib/libc/include/any-macos-any/sys/proc_info.h+8
...@@ -349,6 +349,11 @@ struct proc_threadwithpathinfo {...@@ -349,6 +349,11 @@ struct proc_threadwithpathinfo {
349 struct vnode_info_path pvip;349 struct vnode_info_path pvip;
350};350};
351351
352struct proc_archinfo {
353 cpu_type_t p_cputype;
354 cpu_subtype_t p_cpusubtype;
355};
356
352/*357/*
353 * Socket358 * Socket
354 */359 */
...@@ -758,6 +763,9 @@ struct channel_fdinfo {...@@ -758,6 +763,9 @@ struct channel_fdinfo {
758#define PROC_PID_RUSAGE 16763#define PROC_PID_RUSAGE 16
759#define PROC_PID_RUSAGE_SIZE 0764#define PROC_PID_RUSAGE_SIZE 0
760765
766#define PROC_PIDARCHINFO 19
767#define PROC_PIDARCHINFO_SIZE (sizeof(struct proc_archinfo))
768
761/* Flavors for proc_pidfdinfo */769/* Flavors for proc_pidfdinfo */
762770
763#define PROC_PIDFDVNODEINFO 1771#define PROC_PIDFDVNODEINFO 1
lib/libc/include/any-macos-any/sys/resource.h+4
...@@ -514,6 +514,7 @@ struct proc_rlimit_control_wakeupmon {...@@ -514,6 +514,7 @@ struct proc_rlimit_control_wakeupmon {
514#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8514#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8
515#define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9515#define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9
516#define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10516#define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10
517#define IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS 14
517518
518/* scope */519/* scope */
519#define IOPOL_SCOPE_PROCESS 0520#define IOPOL_SCOPE_PROCESS 0
...@@ -564,6 +565,9 @@ struct proc_rlimit_control_wakeupmon {...@@ -564,6 +565,9 @@ struct proc_rlimit_control_wakeupmon {
564#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0565#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0
565#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON 1566#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON 1
566567
568#define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_OFF 0
569#define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_ON 1
570
567#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */571#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
568572
569573
lib/libc/include/any-macos-any/sys/signal.h+1
...@@ -164,6 +164,7 @@ union sigval {...@@ -164,6 +164,7 @@ union sigval {
164#define SIGEV_NONE 0 /* No async notification */164#define SIGEV_NONE 0 /* No async notification */
165#define SIGEV_SIGNAL 1 /* aio - completion notification */165#define SIGEV_SIGNAL 1 /* aio - completion notification */
166#define SIGEV_THREAD 3 /* [NOTIMP] [RTS] call notification function */166#define SIGEV_THREAD 3 /* [NOTIMP] [RTS] call notification function */
167#define SIGEV_KEVENT 4 /* Generate a kevent */
167168
168struct sigevent {169struct sigevent {
169 int sigev_notify; /* Notification type */170 int sigev_notify; /* Notification type */
lib/libc/include/any-macos-any/sys/stdio.h+1
...@@ -37,6 +37,7 @@...@@ -37,6 +37,7 @@
37#define RENAME_EXCL 0x0000000437#define RENAME_EXCL 0x00000004
38#define RENAME_RESERVED1 0x0000000838#define RENAME_RESERVED1 0x00000008
39#define RENAME_NOFOLLOW_ANY 0x0000001039#define RENAME_NOFOLLOW_ANY 0x00000010
40#define RENAME_RESOLVE_BENEATH 0x00000020
40#endif41#endif
4142
42#if __DARWIN_C_LEVEL >= 200809L43#if __DARWIN_C_LEVEL >= 200809L
lib/libc/include/any-macos-any/sys/sysctl.h+2-1
...@@ -154,7 +154,8 @@ struct ctlname {...@@ -154,7 +154,8 @@ struct ctlname {
154#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */154#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */
155#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */155#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */
156#define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */156#define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */
157#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows writing w/ the trial experiment entitlement. */157#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows read/write w/ the trial experiment entitlement. */
158#define CTLFLAG_LEGACY_EXPERIMENT 0x00080000 /* Allows writing w/ the legacy trial experiment entitlement. */
158159
159/*160/*
160 * USE THIS instead of a hardwired number from the categories below161 * USE THIS instead of a hardwired number from the categories below
lib/libc/include/any-macos-any/unistd.h+14-4
...@@ -72,7 +72,15 @@...@@ -72,7 +72,15 @@
72#include <_types.h>72#include <_types.h>
73#include <sys/unistd.h>73#include <sys/unistd.h>
74#include <Availability.h>74#include <Availability.h>
75#define _LIBC_COUNT__PATH_MAX _LIBC_UNSAFE_INDEXABLE
76#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
77#if defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck
78/* required for bounds annotations, but pollutes namespace */
75#include <sys/syslimits.h>79#include <sys/syslimits.h>
80#undef _LIBC_COUNT__PATH_MAX
81#define _LIBC_COUNT__PATH_MAX _LIBC_COUNT_OR_NULL(PATH_MAX)
82#endif /* defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck */
83#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
76#include <sys/_types/_gid_t.h>84#include <sys/_types/_gid_t.h>
77#include <sys/_types/_intptr_t.h>85#include <sys/_types/_intptr_t.h>
78#include <sys/_types/_off_t.h>86#include <sys/_types/_off_t.h>
...@@ -517,8 +525,6 @@ extern int optind, opterr, optopt;...@@ -517,8 +525,6 @@ extern int optind, opterr, optopt;
517__END_DECLS525__END_DECLS
518#endif /* __DARWIN_C_LEVEL >= 199209L */526#endif /* __DARWIN_C_LEVEL >= 199209L */
519527
520
521
522/* Additional functionality provided by:528/* Additional functionality provided by:
523 * POSIX.1c-1995,529 * POSIX.1c-1995,
524 * POSIX.1i-1995,530 * POSIX.1i-1995,
...@@ -526,7 +532,6 @@ __END_DECLS...@@ -526,7 +532,6 @@ __END_DECLS
526 */532 */
527533
528#if __DARWIN_C_LEVEL >= 199506L534#if __DARWIN_C_LEVEL >= 199506L
529#include <_ctermid.h>
530 /* These F_* are really XSI or Issue 6 */535 /* These F_* are really XSI or Issue 6 */
531#define F_ULOCK 0 /* unlock locked section */536#define F_ULOCK 0 /* unlock locked section */
532#define F_LOCK 1 /* lock a section for exclusive use */537#define F_LOCK 1 /* lock a section for exclusive use */
...@@ -536,6 +541,11 @@ __END_DECLS...@@ -536,6 +541,11 @@ __END_DECLS
536 __BEGIN_DECLS541 __BEGIN_DECLS
537542
538/* Begin XSI */543/* Begin XSI */
544/* Removed in Issue 7 */
545#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
546#include <_ctermid.h>
547#endif
548
539/* Removed in Issue 6 */549/* Removed in Issue 6 */
540#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L550#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
541#if !defined(_POSIX_C_SOURCE)551#if !defined(_POSIX_C_SOURCE)
...@@ -565,7 +575,7 @@ char *_LIBC_CSTR getpass(const char *) __POSIX_C_DEPRECATED(199506L);...@@ -565,7 +575,7 @@ char *_LIBC_CSTR getpass(const char *) __POSIX_C_DEPRECATED(199506L);
565575
566/* Removed in Issue 7 */576/* Removed in Issue 7 */
567#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L577#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
568char *_LIBC_CSTR getwd(char *_LIBC_COUNT_OR_NULL(PATH_MAX)) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */578char *_LIBC_CSTR getwd(char *_LIBC_COUNT__PATH_MAX) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
569#endif579#endif
570580
571int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);581int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);
lib/libc/include/any-macos-any/xpc/base.h+4
...@@ -93,8 +93,10 @@ __BEGIN_DECLS...@@ -93,8 +93,10 @@ __BEGIN_DECLS
93#if defined(__XPC_TEST__) && __XPC_TEST__93#if defined(__XPC_TEST__) && __XPC_TEST__
94#define XPC_TESTSTATIC94#define XPC_TESTSTATIC
95#define XPC_TESTEXTERN extern95#define XPC_TESTEXTERN extern
96#define XPC_TESTNORETURN
96#else // defined(__XPC_TEST__) && __XPC_TEST__97#else // defined(__XPC_TEST__) && __XPC_TEST__
97#define XPC_TESTSTATIC static98#define XPC_TESTSTATIC static
99#define XPC_TESTNORETURN XPC_NORETURN
98#endif // defined(__XPC_TEST__) && __XPC_TEST__100#endif // defined(__XPC_TEST__) && __XPC_TEST__
99101
100#if __has_feature(objc_arc)102#if __has_feature(objc_arc)
...@@ -242,6 +244,8 @@ __BEGIN_DECLS...@@ -242,6 +244,8 @@ __BEGIN_DECLS
242#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg)244#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg)
243#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module")245#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module")
244246
247#define XPC_SWIFT_SENDABLE __attribute__((__swift_attr__("@Sendable")))
248
245__END_DECLS249__END_DECLS
246250
247#endif // __XPC_BASE_H__ 251#endif // __XPC_BASE_H__
lib/libc/include/any-macos-any/xpc/connection.h+37-13
...@@ -141,8 +141,8 @@ typedef void (*xpc_finalizer_t)(void * _Nullable value);...@@ -141,8 +141,8 @@ typedef void (*xpc_finalizer_t)(void * _Nullable value);
141 * The GCD queue to which the event handler block will be submitted. This141 * The GCD queue to which the event handler block will be submitted. This
142 * parameter may be NULL, in which case the connection's target queue will be142 * parameter may be NULL, in which case the connection's target queue will be
143 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.143 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
144 * The target queue may be changed later with a call to144 * The target queue may be changed prior to the connection being activated with
145 * xpc_connection_set_target_queue().145 * a call to xpc_connection_set_target_queue().
146 *146 *
147 * @result147 * @result
148 * A new connection object. The caller is responsible for disposing of the148 * A new connection object. The caller is responsible for disposing of the
...@@ -178,8 +178,8 @@ xpc_connection_create(const char * _Nullable name,...@@ -178,8 +178,8 @@ xpc_connection_create(const char * _Nullable name,
178 * The GCD queue to which the event handler block will be submitted. This178 * The GCD queue to which the event handler block will be submitted. This
179 * parameter may be NULL, in which case the connection's target queue will be179 * parameter may be NULL, in which case the connection's target queue will be
180 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.180 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
181 * The target queue may be changed later with a call to181 * The target queue may be changed prior to the connection being activated with
182 * xpc_connection_set_target_queue().182 * a call to xpc_connection_set_target_queue().
183 *183 *
184 * @param flags184 * @param flags
185 * Additional attributes with which to create the connection.185 * Additional attributes with which to create the connection.
...@@ -240,14 +240,11 @@ xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint);...@@ -240,14 +240,11 @@ xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint);
240 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.240 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
241 *241 *
242 * @discussion242 * @discussion
243 * Setting the target queue is asynchronous and non-preemptive and therefore243 * Once a connection is activated, this method may no longer be called and the
244 * this method will not interrupt the execution of an already-running event244 * target queue may no longer be updated.
245 * handler block. Setting the target queue may be likened to issuing a barrier
246 * to the connection which does the actual work of changing the target queue.
247 *245 *
248 * The XPC runtime guarantees this non-preemptiveness even for concurrent target246 * Even if the target queue is a concurrent queue, XPC still guarantees that
249 * queues. If the target queue is a concurrent queue, then XPC still guarantees247 * there will never be more than one invocation of the connection's event
250 * that there will never be more than one invocation of the connection's event
251 * handler block executing concurrently. If you wish to process events248 * handler block executing concurrently. If you wish to process events
252 * concurrently, you can dispatch_async(3) to a concurrent queue from within249 * concurrently, you can dispatch_async(3) to a concurrent queue from within
253 * the event handler.250 * the event handler.
...@@ -330,7 +327,7 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)...@@ -330,7 +327,7 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
330XPC_EXPORT XPC_NONNULL_ALL327XPC_EXPORT XPC_NONNULL_ALL
331void328void
332xpc_connection_set_event_handler(xpc_connection_t connection,329xpc_connection_set_event_handler(xpc_connection_t connection,
333 xpc_handler_t handler);330 XPC_SWIFT_SENDABLE xpc_handler_t handler);
334331
335/*!332/*!
336 * @function xpc_connection_activate333 * @function xpc_connection_activate
...@@ -534,7 +531,7 @@ XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4...@@ -534,7 +531,7 @@ XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4
534void531void
535xpc_connection_send_message_with_reply(xpc_connection_t connection,532xpc_connection_send_message_with_reply(xpc_connection_t connection,
536 xpc_object_t message, dispatch_queue_t _Nullable replyq,533 xpc_object_t message, dispatch_queue_t _Nullable replyq,
537 xpc_handler_t handler);534 XPC_SWIFT_SENDABLE xpc_handler_t handler);
538535
539/*!536/*!
540 * @function xpc_connection_send_message_with_reply_sync537 * @function xpc_connection_send_message_with_reply_sync
...@@ -983,6 +980,33 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT...@@ -983,6 +980,33 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
983int980int
984xpc_connection_set_peer_lightweight_code_requirement(xpc_connection_t connection, xpc_object_t lwcr);981xpc_connection_set_peer_lightweight_code_requirement(xpc_connection_t connection, xpc_object_t lwcr);
985982
983/*!
984 * @function xpc_connection_set_peer_requirement
985 * Requires that the connection peer has the specified requirement
986 *
987 * @param connection
988 * The connection object which is to be modified
989 *
990 * @param peer_requirement
991 * The requirement the peer must have
992 * It is safe to deallocate the peer requirement after calling `xpc_connection_set_peer_requirement`
993 *
994 * @discussion
995 * It is a programming error to call multiple of the `xpc_connection_set_peer_*_requirement` family of functions on the same
996 * connection. If more complex combinations of requirements are required, use lightweight code requirement.
997 *
998 * All messages received on this connection will be checked to ensure that they come from a peer who satisfies the
999 * requirement. For a listener connection, requests that do not satisfy the requirement are dropped. When a reply
1000 * is expected on the connection and the peer does not satisfy the requirement `XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT`
1001 * will be delivered instead of the reply.
1002 */
1003API_AVAILABLE(macos(26.0), ios(26.0))
1004API_UNAVAILABLE(tvos, watchos)
1005XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
1006void
1007xpc_connection_set_peer_requirement(xpc_connection_t connection,
1008 xpc_peer_requirement_t peer_requirement);
1009
986/*!1010/*!
987 * @function xpc_connection_copy_invalidation_reason1011 * @function xpc_connection_copy_invalidation_reason
988 * Returns a description of why the connection was invalidated.1012 * Returns a description of why the connection was invalidated.
lib/libc/include/any-macos-any/xpc/listener.h+36-7
...@@ -24,7 +24,7 @@ __BEGIN_DECLS...@@ -24,7 +24,7 @@ __BEGIN_DECLS
24 * connect to the server24 * connect to the server
25 *25 *
26 */26 */
27OS_OBJECT_DECL_CLASS(xpc_listener);27OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener);
2828
29#pragma mark Constants29#pragma mark Constants
30/*!30/*!
...@@ -202,19 +202,22 @@ xpc_listener_reject_peer(xpc_session_t peer, const char *reason);...@@ -202,19 +202,22 @@ xpc_listener_reject_peer(xpc_session_t peer, const char *reason);
202 * The listener object which is to be modified.202 * The listener object which is to be modified.
203 *203 *
204 * @param requirement204 * @param requirement
205 * The code signing requirement to be satisfied by the peer205 * The code signing requirement to be satisfied by the peer. It is safe to
206 * It is safe to deallocate the requirement string after calling `xpc_listener_set_peer_code_signing_requirement`206 * deallocate the requirement string after calling this function.
207 *207 *
208 * @result208 * @result
209 * 0 on success, non-zero on error209 * 0 on success, non-zero on error
210 *210 *
211 * @discussion211 * @discussion
212 * This function will return an error promptly if the code signing requirement string is invalid.212 * This function will return an error promptly if the code signing requirement
213 * string is invalid.
213 *214 *
214 * It is a programming error to call `xpc_listener_set_peer_code_signing_requirement` more than once per listener.215 * It is a programming error to call `xpc_listener_set_peer_*requirement` more
216 * than once per listener.
215 *217 *
216 * All messages received on this listener will be checked to ensure they come from a peer who satisfies218 * All messages received on this listener will be checked to ensure they come
217 * the code signing requirement. Requests that do not satisfy the requirement are dropped.219 * from a peer who satisfies the code signing requirement. Requests that do not
220 * satisfy the requirement are dropped.
218 *221 *
219 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements222 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
220 */223 */
...@@ -224,6 +227,32 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT...@@ -224,6 +227,32 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
224int227int
225xpc_listener_set_peer_code_signing_requirement(xpc_listener_t listener, const char *requirement);228xpc_listener_set_peer_code_signing_requirement(xpc_listener_t listener, const char *requirement);
226229
230/*!
231 * @function xpc_listener_set_peer_requirement
232 * Requires that the listener peer satisfies a requirement.
233 *
234 * @param listener
235 * The listener object which is to be modified. Must be inactive.
236 *
237 * @param requirement
238 * The requirement to be satisfied by the peer. It will be retained by XPC.
239 *
240 * @discussion
241 * It is a programming error to call `xpc_listener_set_peer_*requirement` more
242 * than once per listener.
243 *
244 * All messages received on this listener will be checked to ensure they come
245 * from a peer who satisfies the code signing requirement. Requests that do not
246 * satisfy the requirement are dropped.
247 *
248 * Peer sessions created from the listener do not inherit the requirement.
249 */
250API_AVAILABLE(macos(26.0), ios(26.0))
251API_UNAVAILABLE(tvos, watchos)
252XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
253void
254xpc_listener_set_peer_requirement(xpc_listener_t listener, xpc_peer_requirement_t requirement);
255
227__END_DECLS256__END_DECLS
228XPC_ASSUME_NONNULL_END257XPC_ASSUME_NONNULL_END
229258
lib/libc/include/any-macos-any/xpc/peer_requirement.h created+242
...@@ -0,0 +1,242 @@
1#ifndef __XPC_PEER_REQ_H__
2#define __XPC_PEER_REQ_H__
3
4#ifndef __XPC_INDIRECT__
5#error "Please #include <xpc/xpc.h> instead of this file directly."
6// For HeaderDoc.
7#include <xpc/base.h>
8#endif // __XPC_INDIRECT__
9
10XPC_ASSUME_NONNULL_BEGIN
11__BEGIN_DECLS
12
13XPC_SWIFT_NOEXPORT
14/*!
15 * @typedef xpc_peer_requirement_t
16 *
17 * @abstract
18 * XPC peer requirement is an abstract type that represents a validated
19 * requirement on peers.
20 *
21 * @discussion
22 * Users can specify a requirement via `xpc_peer_requirement_create_*` API.
23 * These constructors will return a non-null xpc_peer_requirement_t if the
24 * requirement is valid. Users can set a xpc_peer_requirement_t on connections,
25 * sessions or listeners using one of `xpc_*_set_peer_requirement` API.
26 *
27 * xpc_peer_requirement_t is reference counted and concurrency-safe. One
28 * xpc_peer_requirement_t can be shared among multiple connections, sessions
29 * or listeners.
30 */
31OS_OBJECT_DECL_CLASS(xpc_peer_requirement);
32
33#pragma mark Constructors
34
35/*!
36 * @function xpc_peer_requirement_create_entitlement_exists
37 * Create a requirement that the peer has the specified entitlement
38 *
39 * @param entitlement
40 * The entitlement the peer must have. It is safe to deallocate the entitlement
41 * string after calling this function.
42 *
43 * @param error_out
44 * An out-parameter that, if set and in the event of an error, will point to an
45 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
46 *
47 * @result
48 * On success this returns a new peer requirement object. On failure this will
49 * return NULL and if set, error_out will be set to an error describing the
50 * failure.
51 *
52 * @discussion
53 * This function will return NULL promptly if the entitlement requirement is
54 * invalid.
55 */
56API_AVAILABLE(macos(26.0), ios(26.0))
57API_UNAVAILABLE(tvos, watchos)
58XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
59xpc_peer_requirement_t _Nullable
60xpc_peer_requirement_create_entitlement_exists(const char *entitlement,
61 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
62
63/*!
64 * @function xpc_peer_requirement_create_entitlement_matches_value
65 * Create a requirement that the peer has the entitlement with matching value
66 *
67 * @param entitlement
68 * The entitlement the peer must have. It is safe to deallocate the entitlement
69 * string after calling this function.
70 *
71 * @param value
72 * The value that the entitlement must match. It is safe to deallocate the value
73 * object after calling this function. Valid xpc types for this object are
74 * `XPC_TYPE_BOOL`, `XPC_TYPE_STRING` and `XPC_TYPE_INT64`.
75 *
76 * @param error_out
77 * An out-parameter that, if set and in the event of an error, will point to an
78 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
79 *
80 * @result
81 * On success this returns a new peer requirement object. On failure this will
82 * return NULL and if set, error_out will be set to an error describing the
83 * failure.
84 *
85 * @discussion
86 * This function will return NULL promptly if the entitlement requirement is
87 * invalid.
88 */
89API_AVAILABLE(macos(26.0), ios(26.0))
90API_UNAVAILABLE(tvos, watchos)
91XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
92xpc_peer_requirement_t _Nullable
93xpc_peer_requirement_create_entitlement_matches_value(const char *entitlement,
94 xpc_object_t value,
95 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
96
97/*!
98 * @function xpc_peer_requirement_create_team_identity
99 * Create a requirement that the peer has the specified identity and is signed
100 * with the same team identifier as the current process
101 *
102 * @param signing_identifier
103 * The optional signing identifier the peer must have. It is safe to deallocate
104 * the signing identifier string after calling this function.
105 *
106 * @param error_out
107 * An out-parameter that, if set and in the event of an error, will point to an
108 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
109 *
110 * @result
111 * On success this returns a new peer requirement object. On failure this will
112 * return NULL and if set, error_out will be set to an error describing the
113 * failure.
114 *
115 * @discussion
116 * This function will return NULL promptly if the identity requirement is
117 * invalid.
118 *
119 * The peer process must be signed as either a Testflight app or an App store
120 * app, or be signed by an apple issued development certificate, an enterprise
121 * distributed certificate (embedded only), or a Developer ID certificate (macOS
122 * only)
123 */
124API_AVAILABLE(macos(26.0), ios(26.0))
125API_UNAVAILABLE(tvos, watchos)
126XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
127xpc_peer_requirement_t _Nullable
128xpc_peer_requirement_create_team_identity(
129 const char * _Nullable signing_identifier,
130 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
131
132/*!
133 * @function xpc_peer_requirement_create_platform_identity
134 * Create a requirement that the peer has the specified identity and is from
135 * platform binary.
136 *
137 * @param signing_identifier
138 * The optional signing identifier the peer must have. If not specified, this
139 * function ensures that the peer process' executable is a platform binary. It
140 * is safe to deallocate the signing identifier string after calling this
141 * function.
142 *
143 * @param error_out
144 * An out-parameter that, if set and in the event of an error, will point to an
145 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
146 *
147 * @result
148 * On success this returns a new peer requirement object. On failure this will
149 * return NULL and if set, error_out will be set to an error describing the
150 * failure.
151 *
152 * @discussion
153 * This function will return NULL promptly if the identity requirement is
154 * invalid.
155 */
156API_AVAILABLE(macos(26.0), ios(26.0))
157API_UNAVAILABLE(tvos, watchos)
158XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
159xpc_peer_requirement_t _Nullable
160xpc_peer_requirement_create_platform_identity(
161 const char * _Nullable signing_identifier,
162 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
163
164/*!
165 * @function xpc_peer_requirement_create_lwcr
166 * Create a requirement that the peer has the specified lightweight code requirement
167 *
168 * @param lwcr
169 * The lightweight code requirement the peer must have. It is safe to deallocate
170 * the lightweight code requirement object after calling this function.
171 *
172 * @param error_out
173 * An out-parameter that, if set and in the event of an error, will point to an
174 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
175 *
176 * @result
177 * On success this returns a new peer requirement object. On failure this will
178 * return NULL and if set, error_out will be set to an error describing the
179 * failure.
180 *
181 * @discussion
182 * This function will return NULL promptly if the lightweight code requirement
183 * is invalid.
184 *
185 * The lightweight code requirement must be an `xpc_dictionary_t` equivalent of
186 * an LWCR constraint (see
187 * https://developer.apple.com/documentation/security/defining_launch_environment_and_library_constraints
188 * for details on the contents of the dictionary)
189 *
190 * The lightweight code requirement in the example below uses the $or operator
191 * to require that an executable’s either signed with the Team ID 8XCUU22SN2, or
192 * is an operating system executable:
193 * ```c
194 * xpc_object_t or_val = xpc_dictionary_create_empty();
195 * xpc_dictionary_set_string(or_val, "team-identifier", "8XCUU22SN2");
196 * xpc_dictionary_set_int64(or_val, "validation-category", 1);
197 *
198 * xpc_object_t lwcr = xpc_dictionary_create_empty();
199 * xpc_dictionary_set_value(lwcr, "$or", or_val);
200 *
201 * xpc_peer_requirement_t req = xpc_peer_requirement_create_lwcr(lwcr, NULL);
202 * ```
203 */
204API_AVAILABLE(macos(26.0), ios(26.0))
205API_UNAVAILABLE(tvos, watchos)
206XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
207xpc_peer_requirement_t _Nullable
208xpc_peer_requirement_create_lwcr(xpc_object_t lwcr,
209 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
210
211#pragma mark Matching Peer Requirement on Received Messages
212
213/*!
214 * @function xpc_peer_requirement_match_received_message
215 * Check the specified requirement against a received message from the peer.
216 *
217 * @param peer_requirement
218 * The requirement the peer must have
219 *
220 * @param message
221 * The received dictionary to be checked
222 *
223 * @param error_out
224 * An out-parameter that, if set and in the event of an error, will point to an
225 * {@link xpc_rich_error_t} describing the details of any errors that occurred.
226 *
227 * @result
228 * On match this returns true. On mismatch or failure this will return false and
229 * if set, error_out will be set to an error describing the failure.
230 */
231API_AVAILABLE(macos(26.0), ios(26.0))
232API_UNAVAILABLE(tvos, watchos)
233XPC_EXPORT XPC_SWIFT_NOEXPORT
234bool
235xpc_peer_requirement_match_received_message(xpc_peer_requirement_t peer_requirement,
236 xpc_object_t message,
237 xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
238
239__END_DECLS
240XPC_ASSUME_NONNULL_END
241
242#endif
lib/libc/include/any-macos-any/xpc/session.h+50-12
...@@ -25,8 +25,11 @@ __BEGIN_DECLS...@@ -25,8 +25,11 @@ __BEGIN_DECLS
25 * Clients can initiate a session with a service that accepts xpc_connection_t connections but session25 * Clients can initiate a session with a service that accepts xpc_connection_t connections but session
26 * semantics will be maintained.26 * semantics will be maintained.
27 *27 *
28 * Sessions can be created in an active or inactive state. They must be
29 * activated and subsequently cancelled before they can be released.
30 *
28 */31 */
29OS_OBJECT_DECL_CLASS(xpc_session);32OS_OBJECT_DECL_SENDABLE_CLASS(xpc_session);
3033
31#pragma mark Constants34#pragma mark Constants
32/*!35/*!
...@@ -244,8 +247,8 @@ xpc_session_set_target_queue(xpc_session_t session,...@@ -244,8 +247,8 @@ xpc_session_set_target_queue(xpc_session_t session,
244 *247 *
245 * @discussion248 * @discussion
246 * xpc_session_activate must not be called on a session that has been already249 * xpc_session_activate must not be called on a session that has been already
247 * activated. Releasing the last reference on an inactive session that was250 * activated. Releasing the last reference on an inactive session or an
248 * created with an xpc_session_create*() will trigger an API misuse crash.251 * active session that has not been cancelled will trigger an API misuse crash.
249 *252 *
250 * If activation fails, the session is automatically cancelled. 253 * If activation fails, the session is automatically cancelled.
251 */254 */
...@@ -266,8 +269,9 @@ xpc_session_activate(xpc_session_t session,...@@ -266,8 +269,9 @@ xpc_session_activate(xpc_session_t session,
266 * The session object to cancel.269 * The session object to cancel.
267 *270 *
268 * @discussion271 * @discussion
269 * Session must have been activated to be canceled. Cancellation is asynchronous272 * Session must have been activated to be cancelled and must be cancelled
270 * and non-preemptive.273 * before the last reference can be released. Cancellation is asynchronous and
274 * non-preemptive.
271 */275 */
272API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0))276API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0))
273XPC_EXPORT XPC_SWIFT_NOEXPORT277XPC_EXPORT XPC_SWIFT_NOEXPORT
...@@ -388,20 +392,26 @@ xpc_session_send_message_with_reply_async(xpc_session_t session,...@@ -388,20 +392,26 @@ xpc_session_send_message_with_reply_async(xpc_session_t session,
388 * The session object which is to be modified.392 * The session object which is to be modified.
389 *393 *
390 * @param requirement394 * @param requirement
391 * The code signing requirement to be satisfied by the peer395 * The code signing requirement to be satisfied by the peer. It is safe to
392 * It is safe to deallocate the requirement string after calling `xpc_session_set_peer_code_signing_requirement`396 * deallocate the requirement string after calling this function.
393 *397 *
394 * @result398 * @result
395 * 0 on success, non-zero on error399 * 0 on success, non-zero on error
396 *400 *
397 * @discussion401 * @discussion
398 * This function will return an error promptly if the code signing requirement string is invalid.402 * This function will return an error promptly if the code signing requirement
403 * string is invalid.
399 *404 *
400 * It is a programming error to call `xpc_session_set_peer_code_signing_requirement` more than once per session.405 * It is a programming error to call `xpc_session_set_peer_*requirement` more
406 * than once per session.
401 *407 *
402 * All messages received on this session will be checked to ensure they come from a peer who satisfies408 * All messages received on this session will be checked to ensure they come
403 * the code signing requirement. When message or a reply is received on the session and the peer does409 * from a peer who satisfies the code signing requirement. When message or a
404 * not satisfy the requirement the session will be cancelled.410 * reply is received on the session and the peer does not satisfy the
411 * requirement the session will be cancelled. A rich error describing the peer
412 * code signing error will be passed to the cancellation handler. For
413 * `xpc_session_send_message_with_reply_*` NULL will be returned instead of
414 * reply, with `error_out` pointing to that rich error.
405 *415 *
406 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements416 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
407 */417 */
...@@ -411,6 +421,34 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT...@@ -411,6 +421,34 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
411int421int
412xpc_session_set_peer_code_signing_requirement(xpc_session_t session, const char *requirement);422xpc_session_set_peer_code_signing_requirement(xpc_session_t session, const char *requirement);
413423
424/*!
425 * @function xpc_session_set_peer_requirement
426 * Requires that the session peer satisfies a requirement.
427 *
428 * @param session
429 * The session object which is to be modified. Must be inactive.
430 *
431 * @param requirement
432 * The requirement to be satisfied by the peer. It will be retained by XPC.
433 *
434 * @discussion
435 * It is a programming error to call `xpc_session_set_peer_*requirement` more
436 * than once per session.
437 *
438 * All messages received on this session will be checked to ensure they come
439 * from a peer who satisfies the requirement. When a reply is expected on the
440 * session and the peer does not satisfy the requirement, the session will be
441 * canceled with cancellation handler called with a rich error describing the
442 * peer code signing error. For `xpc_session_send_message_with_reply_sync` NULL
443 * will be returned instead of reply, with `error_out` (if set) pointing to the
444 * rich error describing the peer code signing error.
445 */
446API_AVAILABLE(macos(26.0), ios(26.0))
447API_UNAVAILABLE(tvos, watchos)
448XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
449void
450xpc_session_set_peer_requirement(xpc_session_t session, xpc_peer_requirement_t requirement);
451
414/* This is included for compatibility and should not be used in new code */452/* This is included for compatibility and should not be used in new code */
415#define XPC_TYPE_SESSION (&_xpc_type_session)453#define XPC_TYPE_SESSION (&_xpc_type_session)
416XPC_EXPORT454XPC_EXPORT
lib/libc/include/any-macos-any/xpc/xpc.h+2-1
...@@ -344,6 +344,7 @@ XPC_ASSUME_NONNULL_END...@@ -344,6 +344,7 @@ XPC_ASSUME_NONNULL_END
344#include <xpc/debug.h>344#include <xpc/debug.h>
345#if __BLOCKS__345#if __BLOCKS__
346#include <xpc/activity.h>346#include <xpc/activity.h>
347#include <xpc/peer_requirement.h>
347#include <xpc/connection.h>348#include <xpc/connection.h>
348#include <xpc/rich_error.h>349#include <xpc/rich_error.h>
349#include <xpc/session.h>350#include <xpc/session.h>
...@@ -2771,7 +2772,7 @@ API_UNAVAILABLE(ios)...@@ -2771,7 +2772,7 @@ API_UNAVAILABLE(ios)
2771XPC_EXPORT XPC_NONNULL1 XPC_NONNULL32772XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3
2772void2773void
2773xpc_set_event_stream_handler(const char *stream,2774xpc_set_event_stream_handler(const char *stream,
2774 dispatch_queue_t _Nullable targetq, xpc_handler_t handler);2775 dispatch_queue_t _Nullable targetq, XPC_SWIFT_SENDABLE xpc_handler_t handler);
2775#endif // __BLOCKS__ 2776#endif // __BLOCKS__
27762777
2777__END_DECLS2778__END_DECLS