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{"MinimalDisplayName":"15.5"}
1{"MinimalDisplayName":"26.0"}
lib/libc/darwin/libSystem.tbd+511-405
......@@ -3,7 +3,7 @@ tbd-version: 4
33targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
44 arm64e-macos, arm64e-maccatalyst ]
55install-name: '/usr/lib/libSystem.B.dylib'
6current-version: 1351
6current-version: 1356
77reexported-libraries:
88 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
99 arm64e-macos, arm64e-maccatalyst ]
......@@ -25,7 +25,8 @@ reexported-libraries:
2525 '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib',
2626 '/usr/lib/system/libsystem_sanitizers.dylib', '/usr/lib/system/libsystem_secinit.dylib',
2727 '/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' ]
2930exports:
3031 - targets: [ x86_64-macos, x86_64-maccatalyst ]
3132 symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist',
......@@ -399,7 +400,7 @@ tbd-version: 4
399400targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
400401 arm64e-macos, arm64e-maccatalyst ]
401402install-name: '/usr/lib/system/libcorecrypto.dylib'
402current-version: 1736.120.5
403current-version: 1922.0.25
403404parent-umbrella:
404405 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
405406 arm64e-macos, arm64e-maccatalyst ]
......@@ -450,18 +451,18 @@ exports:
450451 _cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad,
451452 _ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt,
452453 _ccccm_encrypt, _ccccm_finalize, _ccccm_finalize_and_generate_tag,
453 _ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_one_shot,
454 _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, _ccccm_reset,
455 _ccccm_set_iv, _ccccm_update, _cccfb8_block_size, _cccfb8_context_size,
456 _cccfb8_init, _cccfb8_one_shot, _cccfb8_update, _cccfb_block_size,
457 _cccfb_context_size, _cccfb_init, _cccfb_one_shot, _cccfb_update,
458 _ccchacha20, _ccchacha20_final, _ccchacha20_init, _ccchacha20_reset,
459 _ccchacha20_setcounter, _ccchacha20_setnonce, _ccchacha20_update,
460 _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot,
461 _ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot,
462 _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce,
463 _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset,
464 _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify,
454 _ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_nonce_size,
455 _ccccm_one_shot, _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt,
456 _ccccm_reset, _ccccm_set_iv, _ccccm_update, _cccfb8_block_size,
457 _cccfb8_context_size, _cccfb8_init, _cccfb8_one_shot, _cccfb8_update,
458 _cccfb_block_size, _cccfb_context_size, _cccfb_init, _cccfb_one_shot,
459 _cccfb_update, _ccchacha20, _ccchacha20_final, _ccchacha20_init,
460 _ccchacha20_reset, _ccchacha20_setcounter, _ccchacha20_setnonce,
461 _ccchacha20_update, _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt,
462 _ccchacha20poly1305_decrypt_oneshot, _ccchacha20poly1305_encrypt,
463 _ccchacha20poly1305_encrypt_oneshot, _ccchacha20poly1305_finalize,
464 _ccchacha20poly1305_incnonce, _ccchacha20poly1305_info, _ccchacha20poly1305_init,
465 _ccchacha20poly1305_reset, _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify,
465466 _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp,
466467 _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share,
467468 _ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment,
......@@ -530,14 +531,15 @@ exports:
530531 _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224,
531532 _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full,
532533 _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes,
533 _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update,
534 _ccdrbg_context_size, _ccdrbg_df_bc_init, _ccdrbg_done, _ccdrbg_factory_nistctr,
535 _ccdrbg_factory_nisthmac, _ccdrbg_generate, _ccdrbg_init,
536 _ccdrbg_must_reseed, _ccdrbg_reseed, _ccec_affinify, _ccec_blind,
537 _ccec_compact_export, _ccec_compact_export_pub, _ccec_compact_generate_key,
538 _ccec_compact_generate_key_init, _ccec_compact_generate_key_step,
539 _ccec_compact_import_priv, _ccec_compact_import_priv_size,
540 _ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key,
534 _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_parallel,
535 _ccdigest_update, _ccdrbg_context_size, _ccdrbg_df_bc_init,
536 _ccdrbg_done, _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac,
537 _ccdrbg_generate, _ccdrbg_init, _ccdrbg_must_reseed, _ccdrbg_reseed,
538 _ccec_affinify, _ccec_blind, _ccec_compact_export, _ccec_compact_export_pub,
539 _ccec_compact_generate_key, _ccec_compact_generate_key_init,
540 _ccec_compact_generate_key_step, _ccec_compact_import_priv,
541 _ccec_compact_import_priv_size, _ccec_compact_import_pub,
542 _ccec_compact_import_pub_size, _ccec_compact_transform_key,
541543 _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size,
542544 _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192,
543545 _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup,
......@@ -623,29 +625,44 @@ exports:
623625 _cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk,
624626 _cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret,
625627 _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256,
628 _cchpke_params_x25519_AESGCM256_HKDF_SHA256, _cchpke_params_xwing_AESGCM128_HKDF_SHA256,
626629 _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open,
627630 _cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed,
628631 _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info,
629632 _cckem_export_privkey, _cckem_export_pubkey, _cckem_full_ctx_init,
630 _cckem_generate_key, _cckem_import_privkey, _cckem_import_pubkey,
631 _cckem_kyber1024, _cckem_kyber768, _cckem_privkey_nbytes_ctx,
632 _cckem_privkey_nbytes_info, _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx,
633 _cckem_pubkey_nbytes_info, _cckem_public_ctx, _cckem_shared_key_nbytes_ctx,
634 _cckem_shared_key_nbytes_info, _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx,
633 _cckem_generate_key, _cckem_generate_key_with_seed, _cckem_import_privkey,
634 _cckem_import_pubkey, _cckem_kyber1024, _cckem_kyber768, _cckem_mlkem1024,
635 _cckem_mlkem768, _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info,
636 _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info,
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,
635640 _cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block,
636641 _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf,
637 _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt,
638 _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt,
639 _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt,
640 _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt,
641 _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt,
642 _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt,
643 _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt,
644 _ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint,
645 _ccn_print, _ccn_read_uint, _ccn_set_bit, _ccn_seti, _ccn_sub,
646 _ccn_swap, _ccn_write_int, _ccn_write_int_size, _ccn_write_uint,
647 _ccn_write_uint_padded, _ccn_write_uint_padded_ct, _ccn_write_uint_size,
648 _ccn_xor, _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed,
642 _ccmldsa65, _ccmldsa87, _ccmldsa_derive_key_from_seed, _ccmldsa_export_privkey,
643 _ccmldsa_export_pubkey, _ccmldsa_full_ctx_init, _ccmldsa_generate_key,
644 _ccmldsa_generate_key_with_seed, _ccmldsa_hash_nbytes_ctx,
645 _ccmldsa_hash_nbytes_params, _ccmldsa_import_privkey, _ccmldsa_import_pubkey,
646 _ccmldsa_prehash, _ccmldsa_prehash_with_context, _ccmldsa_privkey_nbytes_ctx,
647 _ccmldsa_privkey_nbytes_params, _ccmldsa_pub_ctx_init, _ccmldsa_pubkey_nbytes_ctx,
648 _ccmldsa_pubkey_nbytes_params, _ccmldsa_public_ctx, _ccmldsa_seed_nbytes_ctx,
649 _ccmldsa_seed_nbytes_params, _ccmldsa_sign, _ccmldsa_sign_prehashed,
650 _ccmldsa_sign_with_context, _ccmldsa_signature_nbytes_ctx,
651 _ccmldsa_signature_nbytes_params, _ccmldsa_sizeof_full_ctx,
652 _ccmldsa_sizeof_pub_ctx, _ccmldsa_verify, _ccmldsa_verify_prehashed,
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,
649666 _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size,
650667 _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update,
651668 _ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt,
......@@ -692,35 +709,36 @@ exports:
692709 _ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment,
693710 _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck,
694711 _ccsae_sizeof_kck_h2c, _ccsae_sizeof_pt, _ccsae_verify_commitment,
695 _ccsae_verify_confirmation, _ccscrypt, _ccscrypt_storage_size,
696 _ccsha1_di, _ccsha1_eay_di, _ccsha1_ltc_di, _ccsha224_di,
697 _ccsha224_ltc_di, _ccsha256_di, _ccsha256_ltc_di, _ccsha384_di,
698 _ccsha384_ltc_di, _ccsha3_224_di, _ccsha3_256_di, _ccsha3_384_di,
699 _ccsha3_512_di, _ccsha512_256_di, _ccsha512_256_ltc_di, _ccsha512_di,
700 _ccsha512_ltc_di, _ccsigma_clear, _ccsigma_clear_key, _ccsigma_compute_mac,
701 _ccsigma_derive_session_keys, _ccsigma_export_key_share, _ccsigma_import_peer_key_share,
702 _ccsigma_import_peer_verification_key, _ccsigma_import_signing_key,
703 _ccsigma_init, _ccsigma_kex_init_ctx, _ccsigma_kex_resp_ctx,
704 _ccsigma_mfi_info, _ccsigma_mfi_nvm_info, _ccsigma_open, _ccsigma_peer_role,
705 _ccsigma_seal, _ccsigma_set_signing_function, _ccsigma_sign,
706 _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size, _ccsiv_ciphertext_size,
707 _ccsiv_context_size, _ccsiv_crypt, _ccsiv_hmac_aad, _ccsiv_hmac_block_size,
708 _ccsiv_hmac_ciphertext_size, _ccsiv_hmac_context_size, _ccsiv_hmac_crypt,
709 _ccsiv_hmac_init, _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size,
710 _ccsiv_hmac_reset, _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot,
711 _ccsiv_plaintext_size, _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256,
712 _ccspake_cp_256_rfc, _ccspake_cp_384, _ccspake_cp_384_rfc,
713 _ccspake_cp_521, _ccspake_cp_521_rfc, _ccspake_generate_L,
714 _ccspake_kex_generate, _ccspake_kex_process, _ccspake_mac_compute,
715 _ccspake_mac_hkdf_cmac_aes128_sha256, _ccspake_mac_hkdf_hmac_sha256,
716 _ccspake_mac_hkdf_hmac_sha512, _ccspake_mac_verify_and_get_session_key,
717 _ccspake_prover_init, _ccspake_prover_initialize, _ccspake_reduce_w,
718 _ccspake_reduce_w_RFC9383, _ccspake_sizeof_ctx, _ccspake_sizeof_point,
719 _ccspake_sizeof_w, _ccspake_verifier_init, _ccspake_verifier_initialize,
720 _ccsrp_client_process_challenge, _ccsrp_client_set_noUsernameInX,
721 _ccsrp_client_start_authentication, _ccsrp_client_verify_session,
722 _ccsrp_ctx_init, _ccsrp_ctx_init_option, _ccsrp_ctx_init_with_size_option,
723 _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification,
712 _ccsae_verify_commitment_with_rejected_groups, _ccsae_verify_confirmation,
713 _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di,
714 _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di,
715 _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_di,
716 _ccsha3_256_di, _ccsha3_384_di, _ccsha3_512_di, _ccsha512_256_di,
717 _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsigma_clear,
718 _ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys,
719 _ccsigma_exclave_pairing_info, _ccsigma_export_key_share,
720 _ccsigma_import_peer_key_share, _ccsigma_import_peer_verification_key,
721 _ccsigma_import_signing_key, _ccsigma_init, _ccsigma_kex_init_ctx,
722 _ccsigma_kex_resp_ctx, _ccsigma_mfi_info, _ccsigma_mfi_nvm_info,
723 _ccsigma_open, _ccsigma_peer_role, _ccsigma_seal, _ccsigma_set_signing_function,
724 _ccsigma_sign, _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size,
725 _ccsiv_ciphertext_size, _ccsiv_context_size, _ccsiv_crypt,
726 _ccsiv_hmac_aad, _ccsiv_hmac_block_size, _ccsiv_hmac_ciphertext_size,
727 _ccsiv_hmac_context_size, _ccsiv_hmac_crypt, _ccsiv_hmac_init,
728 _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, _ccsiv_hmac_reset,
729 _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, _ccsiv_plaintext_size,
730 _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, _ccspake_cp_256_rfc,
731 _ccspake_cp_384, _ccspake_cp_384_rfc, _ccspake_cp_521, _ccspake_cp_521_rfc,
732 _ccspake_generate_L, _ccspake_get_session_key, _ccspake_kex_generate,
733 _ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256,
734 _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512,
735 _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init,
736 _ccspake_prover_initialize, _ccspake_reduce_w, _ccspake_reduce_w_RFC9383,
737 _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w,
738 _ccspake_verifier_init, _ccspake_verifier_initialize, _ccsrp_client_process_challenge,
739 _ccsrp_client_set_noUsernameInX, _ccsrp_client_start_authentication,
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,
724742 _ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key,
725743 _ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048,
726744 _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192,
......@@ -770,7 +788,7 @@ tbd-version: 4
770788targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
771789 arm64e-macos, arm64e-maccatalyst ]
772790install-name: '/usr/lib/system/libdispatch.dylib'
773current-version: 1521.120.4
791current-version: 1542.0.4
774792parent-umbrella:
775793 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
776794 arm64e-macos, arm64e-maccatalyst ]
......@@ -870,7 +888,8 @@ exports:
870888 _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher,
871889 _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2',
872890 _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,
874893 _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read,
875894 _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain,
876895 _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait,
......@@ -887,8 +906,8 @@ exports:
887906 _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f,
888907 _dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self,
889908 _dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec,
890 _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_walltime,
891 _dispatch_workloop_copy_current, _dispatch_workloop_create,
909 _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_verify_current_queue_4swiftonly,
910 _dispatch_walltime, _dispatch_workloop_copy_current, _dispatch_workloop_create,
892911 _dispatch_workloop_create_inactive, _dispatch_workloop_is_current,
893912 _dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent,
894913 _dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class,
......@@ -907,18 +926,20 @@ exports:
907926 _os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup,
908927 _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox,
909928 _os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id,
910 _os_workgroup_interval_data_set_flags, _os_workgroup_interval_data_set_telemetry,
911 _os_workgroup_interval_finish, _os_workgroup_interval_start,
912 _os_workgroup_interval_update, _os_workgroup_join, _os_workgroup_join_self,
913 _os_workgroup_leave, _os_workgroup_leave_self, _os_workgroup_max_parallel_threads,
929 _os_workgroup_interval_data_set_complexity, _os_workgroup_interval_data_set_flags,
930 _os_workgroup_interval_data_set_telemetry, _os_workgroup_interval_finish,
931 _os_workgroup_interval_start, _os_workgroup_interval_update,
932 _os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave,
933 _os_workgroup_leave_self, _os_workgroup_max_parallel_threads,
914934 _os_workgroup_parallel_create, _os_workgroup_set_working_arena,
915935 _os_workgroup_testcancel, _voucher_activity_create_with_data,
916936 _voucher_activity_create_with_data_2, _voucher_activity_create_with_location,
917937 _voucher_activity_flush, _voucher_activity_get_logging_preferences,
918 _voucher_activity_get_metadata_buffer, _voucher_activity_id_allocate,
919 _voucher_activity_initialize_4libtrace, _voucher_activity_should_send_strings,
920 _voucher_activity_trace, _voucher_activity_trace_v, _voucher_activity_trace_v_2,
921 _voucher_adopt, _voucher_copy, _voucher_copy_with_persona_mach_voucher,
938 _voucher_activity_get_logging_preferences_with_port, _voucher_activity_get_metadata_buffer,
939 _voucher_activity_id_allocate, _voucher_activity_initialize_4libtrace,
940 _voucher_activity_should_send_strings, _voucher_activity_trace,
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,
922943 _voucher_copy_without_importance, _voucher_create_with_mach_msg,
923944 _voucher_decrement_importance_count4CF, _voucher_get_activity_id,
924945 _voucher_get_activity_id_and_creator, _voucher_get_current_persona,
......@@ -938,6 +959,8 @@ tbd-version: 4
938959targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
939960 arm64e-macos, arm64e-maccatalyst ]
940961install-name: '/usr/lib/system/libdyld.dylib'
962current-version: 0
963compatibility-version: 0
941964parent-umbrella:
942965 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
943966 arm64e-macos, arm64e-maccatalyst ]
......@@ -947,8 +970,9 @@ exports:
947970 arm64e-macos, arm64e-maccatalyst ]
948971 symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc,
949972 _NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent,
950 __dyld_atfork_prepare, __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent,
951 __dyld_dlopen_atfork_prepare, __dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance,
973 __dyld_atfork_prepare, __dyld_call_with_writable_tpro_memory,
974 __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, __dyld_dlopen_atfork_prepare,
975 __dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance,
952976 __dyld_find_foreign_type_protocol_conformance_on_disk, __dyld_find_pointer_hash_table_entry,
953977 __dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk,
954978 __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol,
......@@ -1011,8 +1035,8 @@ exports:
10111035 _macho_cpu_type_for_arch_name, _macho_dylib_install_name,
10121036 _macho_for_each_defined_rpath, _macho_for_each_dependent_dylib,
10131037 _macho_for_each_exported_symbol, _macho_for_each_imported_symbol,
1014 _macho_for_each_slice, _macho_for_each_slice_in_fd, _macho_source_version,
1015 dyld_stub_binder ]
1038 _macho_for_each_runnable_arch_name, _macho_for_each_slice,
1039 _macho_for_each_slice_in_fd, _macho_source_version, dyld_stub_binder ]
10161040 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
10171041 symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol,
10181042 _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory,
......@@ -1052,7 +1076,7 @@ exports:
10521076tbd-version: 4
10531077targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
10541078install-name: '/usr/lib/system/libmacho.dylib'
1055current-version: 1024.3
1079current-version: 1030.6.3
10561080parent-umbrella:
10571081 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
10581082 umbrella: System
......@@ -1092,7 +1116,7 @@ tbd-version: 4
10921116targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
10931117 arm64e-macos, arm64e-maccatalyst ]
10941118install-name: '/usr/lib/system/libquarantine.dylib'
1095current-version: 181.120.2
1119current-version: 196.0.1
10961120parent-umbrella:
10971121 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
10981122 arm64e-macos, arm64e-maccatalyst ]
......@@ -1104,7 +1128,8 @@ exports:
11041128 __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free,
11051129 __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata,
11061130 __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,
11081133 __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier,
11091134 __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data,
11101135 __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid,
......@@ -1138,7 +1163,7 @@ tbd-version: 4
11381163targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
11391164 arm64e-macos, arm64e-maccatalyst ]
11401165install-name: '/usr/lib/system/libremovefile.dylib'
1141current-version: 81
1166current-version: 84
11421167parent-umbrella:
11431168 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
11441169 arm64e-macos, arm64e-maccatalyst ]
......@@ -1156,7 +1181,7 @@ tbd-version: 4
11561181targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
11571182 arm64e-macos, arm64e-maccatalyst ]
11581183install-name: '/usr/lib/system/libsystem_asl.dylib'
1159current-version: 402
1184current-version: 404
11601185parent-umbrella:
11611186 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
11621187 arm64e-macos, arm64e-maccatalyst ]
......@@ -1256,7 +1281,7 @@ tbd-version: 4
12561281targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
12571282 arm64e-macos, arm64e-maccatalyst ]
12581283install-name: '/usr/lib/system/libsystem_c.dylib'
1259current-version: 1698.100.8
1284current-version: 1725.0.11
12601285parent-umbrella:
12611286 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
12621287 arm64e-macos, arm64e-maccatalyst ]
......@@ -1398,36 +1423,37 @@ exports:
13981423 _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize,
13991424 _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd,
14001425 _getdate, _getdate_err, _getdelim, _getdiskbyname, _getenv,
1401 '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname, _getipv4sourcefilter,
1402 _getlastlogx, _getlastlogxbyname, _getline, _getloadavg, _getlogin,
1403 _getlogin_r, _getmntinfo, _getmntinfo_r_np, _getmode, _getopt,
1404 _getopt_long, _getopt_long_only, _getpagesize, _getpass, _getpeereid,
1405 _getprogname, _gets, _getsourcefilter, _getsubopt, _gettimeofday,
1406 _getttyent, _getttynam, _getusershell, _getutmp, _getutmpx,
1407 _getutxent, _getutxent_wtmp, _getutxid, _getutxline, _getvfsbyname,
1408 _getw, _getwc, _getwc_l, _getwchar, _getwchar_l, _getwd, _glob,
1409 _glob_b, _globfree, _gmtime, _gmtime_r, _grantpt, _hash_create,
1410 _hash_destroy, _hash_purge, _hash_search, _hash_stats, _hash_traverse,
1411 _hcreate, _hdestroy, _heapsort, _heapsort_b, _hsearch, _imaxabs,
1412 _imaxdiv, _inet_addr, _inet_aton, _inet_lnaof, _inet_makeaddr,
1413 _inet_net_ntop, _inet_net_pton, _inet_neta, _inet_netof, _inet_network,
1414 _inet_nsap_addr, _inet_nsap_ntoa, _inet_ntoa, _inet_ntop,
1415 _inet_ntop4, _inet_ntop6, _inet_pton, _initstate, _insque,
1416 _isalnum, _isalnum_l, _isalpha, _isalpha_l, _isascii, _isatty,
1417 _isblank, _isblank_l, _iscntrl, _iscntrl_l, _isdigit, _isdigit_l,
1418 _isgraph, _isgraph_l, _ishexnumber, _ishexnumber_l, _isideogram,
1419 _isideogram_l, _islower, _islower_l, _isnumber, _isnumber_l,
1420 _isphonogram, _isphonogram_l, _isprint, _isprint_l, _ispunct,
1421 _ispunct_l, _isrune, _isrune_l, _isspace, _isspace_l, _isspecial,
1422 _isspecial_l, _isupper, _isupper_l, _iswalnum, _iswalnum_l,
1423 _iswalpha, _iswalpha_l, _iswascii, _iswblank, _iswblank_l,
1424 _iswcntrl, _iswcntrl_l, _iswctype, _iswctype_l, _iswdigit,
1425 _iswdigit_l, _iswgraph, _iswgraph_l, _iswhexnumber, _iswhexnumber_l,
1426 _iswideogram, _iswideogram_l, _iswlower, _iswlower_l, _iswnumber,
1427 _iswnumber_l, _iswphonogram, _iswphonogram_l, _iswprint, _iswprint_l,
1428 _iswpunct, _iswpunct_l, _iswrune, _iswrune_l, _iswspace, _iswspace_l,
1429 _iswspecial, _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit,
1430 _iswxdigit_l, _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName,
1426 _getenv_copy_np, '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname,
1427 _getipv4sourcefilter, _getlastlogx, _getlastlogxbyname, _getline,
1428 _getloadavg, _getlogin, _getlogin_r, _getmntinfo, _getmntinfo_r_np,
1429 _getmode, _getopt, _getopt_long, _getopt_long_only, _getpagesize,
1430 _getpass, _getpeereid, _getprogname, _gets, _getsourcefilter,
1431 _getsubopt, _gettimeofday, _getttyent, _getttynam, _getusershell,
1432 _getutmp, _getutmpx, _getutxent, _getutxent_wtmp, _getutxid,
1433 _getutxline, _getvfsbyname, _getw, _getwc, _getwc_l, _getwchar,
1434 _getwchar_l, _getwd, _glob, _glob_b, _globfree, _gmtime, _gmtime_r,
1435 _grantpt, _hash_create, _hash_destroy, _hash_purge, _hash_search,
1436 _hash_stats, _hash_traverse, _hcreate, _hdestroy, _heapsort,
1437 _heapsort_b, _hsearch, _imaxabs, _imaxdiv, _inet_addr, _inet_aton,
1438 _inet_lnaof, _inet_makeaddr, _inet_net_ntop, _inet_net_pton,
1439 _inet_neta, _inet_netof, _inet_network, _inet_nsap_addr, _inet_nsap_ntoa,
1440 _inet_ntoa, _inet_ntop, _inet_ntop4, _inet_ntop6, _inet_pton,
1441 _initstate, _insque, _isalnum, _isalnum_l, _isalpha, _isalpha_l,
1442 _isascii, _isatty, _isblank, _isblank_l, _iscntrl, _iscntrl_l,
1443 _isdigit, _isdigit_l, _isgraph, _isgraph_l, _ishexnumber,
1444 _ishexnumber_l, _isideogram, _isideogram_l, _islower, _islower_l,
1445 _isnumber, _isnumber_l, _isphonogram, _isphonogram_l, _isprint,
1446 _isprint_l, _ispunct, _ispunct_l, _isrune, _isrune_l, _isspace,
1447 _isspace_l, _isspecial, _isspecial_l, _isupper, _isupper_l,
1448 _iswalnum, _iswalnum_l, _iswalpha, _iswalpha_l, _iswascii,
1449 _iswblank, _iswblank_l, _iswcntrl, _iswcntrl_l, _iswctype,
1450 _iswctype_l, _iswdigit, _iswdigit_l, _iswgraph, _iswgraph_l,
1451 _iswhexnumber, _iswhexnumber_l, _iswideogram, _iswideogram_l,
1452 _iswlower, _iswlower_l, _iswnumber, _iswnumber_l, _iswphonogram,
1453 _iswphonogram_l, _iswprint, _iswprint_l, _iswpunct, _iswpunct_l,
1454 _iswrune, _iswrune_l, _iswspace, _iswspace_l, _iswspecial,
1455 _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, _iswxdigit_l,
1456 _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName,
14311457 _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv,
14321458 _lfind, _libc_set_introspection_hooks, _link_addr, _link_ntoa,
14331459 _llabs, _lldiv, _localeconv, _localeconv_l, _localtime, _localtime_r,
......@@ -1552,7 +1578,7 @@ tbd-version: 4
15521578targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
15531579 arm64e-macos, arm64e-maccatalyst ]
15541580install-name: '/usr/lib/system/libsystem_collections.dylib'
1555current-version: 1698.100.8
1581current-version: 1725.0.11
15561582parent-umbrella:
15571583 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
15581584 arm64e-macos, arm64e-maccatalyst ]
......@@ -1582,7 +1608,7 @@ tbd-version: 4
15821608targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
15831609 arm64e-macos, arm64e-maccatalyst ]
15841610install-name: '/usr/lib/system/libsystem_configuration.dylib'
1585current-version: 1351.120.3
1611current-version: 1385.0.7
15861612parent-umbrella:
15871613 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
15881614 arm64e-macos, arm64e-maccatalyst ]
......@@ -1616,9 +1642,14 @@ parent-umbrella:
16161642exports:
16171643 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
16181644 arm64e-macos, arm64e-maccatalyst ]
1619 symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMFSSEAM_DEFAULT, _CMPWDSEAM_DEFAULT,
1620 _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT,
1621 _CONTAINER_PERSONA_PRIMARY, __container_init, __container_query_get_servicing_pid,
1645 symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMDISPATCHSEAM_DEFAULT, _CMFSSEAM_DEFAULT,
1646 _CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMSANDBOXSEAM_DEFAULT,
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,
16221653 __container_references_get_servicing_pid, __container_traverse_continuation_create,
16231654 __container_traverse_continuation_free, __container_traverse_continuation_pop,
16241655 __container_traverse_continuation_push, __container_traverse_get_last_path_component,
......@@ -1630,12 +1661,14 @@ exports:
16301661 _container_audit_token_for_pid, _container_audit_token_get_codesign_status,
16311662 _container_audit_token_get_egid, _container_audit_token_get_euid,
16321663 _container_audit_token_get_pid, _container_audit_token_get_platform,
1633 _container_audit_token_is_valid, _container_base64_decode,
1634 _container_base64_decode_string, _container_base64_encode,
1635 _container_base64_encode_string, _container_bundle_copy_data_container,
1636 _container_bundle_copy_data_container_path, _container_class_for_each_normalized_class,
1637 _container_class_normalized, _container_class_supports_data_subdirectory,
1638 _container_class_supports_randomized_path, _container_class_supports_randomized_path_on_current_platform,
1664 _container_audit_token_is_valid, _container_authorize, _container_authorize_container,
1665 _container_authorize_container_for_self, _container_authorize_get_result_description,
1666 _container_base64_decode, _container_base64_decode_string,
1667 _container_base64_encode, _container_base64_encode_string,
1668 _container_bundle_copy_data_container, _container_bundle_copy_data_container_path,
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,
16391672 _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object,
16401673 _container_client_copy_entitlement, _container_client_create_from_audit_token,
16411674 _container_client_get_audit_token, _container_client_get_codesign_identifier,
......@@ -1668,9 +1701,10 @@ exports:
16681701 _container_disk_usage, _container_disposition, _container_disposition_for_array,
16691702 _container_entitlements_copy_container_identifiers, _container_error_copy,
16701703 _container_error_copy_unlocalized_description, _container_error_create,
1671 _container_error_free, _container_error_get_category, _container_error_get_path,
1672 _container_error_get_posix_errno, _container_error_get_type,
1673 _container_error_is_fatal, _container_error_is_file_system_error,
1704 _container_error_create_with_message, _container_error_free,
1705 _container_error_get_category, _container_error_get_message,
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,
16741708 _container_error_reinitialize, _container_flush_container_cache,
16751709 _container_flush_persona_cache, _container_free_array_of_containers,
16761710 _container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes,
......@@ -1702,10 +1736,17 @@ exports:
17021736 _container_log_ext_error_with_faults, _container_log_handle_for_category,
17031737 _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path,
17041738 _container_log_replication_prune_for_uid, _container_log_set_client_fault_logging,
1705 _container_object_copy, _container_object_create, _container_object_create_blank,
1706 _container_object_free, _container_object_get_class, _container_object_get_creator_codesign_identifier,
1707 _container_object_get_identifier, _container_object_get_info,
1708 _container_object_get_path, _container_object_get_persona_unique_string,
1739 _container_notify_create, _container_notify_create_with_class,
1740 _container_notify_create_with_initial_gen_count, _container_notify_free,
1741 _container_notify_get_generation, _container_notify_get_last_error,
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,
17091750 _container_object_get_query, _container_object_get_sandbox_token,
17101751 _container_object_get_uid, _container_object_get_unique_path_component,
17111752 _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid,
......@@ -1723,22 +1764,23 @@ exports:
17231764 _container_paths_context_set_flags, _container_paths_context_set_persona_unique_string,
17241765 _container_paths_context_set_transient, _container_paths_context_set_uid,
17251766 _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,
1727 _container_paths_create_uid_home_relative, _container_paths_enumerate_containers_at,
1728 _container_perfect_hash_copyout_external_bytes, _container_perfect_hash_count,
1729 _container_perfect_hash_create, _container_perfect_hash_create_from_external_bytes,
1730 _container_perfect_hash_destroy, _container_perfect_hash_index_of,
1731 _container_perfect_hash_num_indexes, _container_perform_with_client_context,
1732 _container_persona_collect_all_ids, _container_persona_convert_unique_string_to_persona_uid,
1733 _container_persona_foreach, _container_process_restored_container,
1734 _container_pwd_copy_user_home_path, _container_pwd_for_name,
1735 _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path,
1767 _container_paths_copy_container_root_path_for_context, _container_paths_copy_part_subpath,
1768 _container_paths_copy_uid_home_relative, _container_paths_create_uid_home_relative,
1769 _container_paths_enumerate_containers_at, _container_perfect_hash_copyout_external_bytes,
1770 _container_perfect_hash_count, _container_perfect_hash_create,
1771 _container_perfect_hash_create_from_external_bytes, _container_perfect_hash_destroy,
1772 _container_perfect_hash_index_of, _container_perfect_hash_num_indexes,
1773 _container_perform_with_client_context, _container_persona_collect_all_ids,
1774 _container_persona_convert_unique_string_to_persona_uid, _container_persona_foreach,
1775 _container_process_restored_container, _container_pwd_copy_user_home_path,
1776 _container_pwd_for_name, _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path,
17361777 _container_pwd_get_mobile_user_uid, _container_query_copy,
17371778 _container_query_count_results, _container_query_create, _container_query_create_from_container,
17381779 _container_query_free, _container_query_get_last_error, _container_query_get_single_result,
17391780 _container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync,
17401781 _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,
17421784 _container_query_set_class, _container_query_set_group_identifiers,
17431785 _container_query_set_identifiers, _container_query_set_include_other_owners,
17441786 _container_query_set_persona_unique_string, _container_query_set_transient,
......@@ -1748,9 +1790,12 @@ exports:
17481790 _container_retry_test, _container_sandbox_extension_consume,
17491791 _container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension,
17501792 _container_sandbox_issue_extension, _container_seam_container_reset,
1751 _container_seam_container_set_common, _container_seam_fs_ensure_lazy_loaded,
1752 _container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_pwd_reset,
1753 _container_seam_pwd_set_common, _container_serialize_copy_deserialized_reference,
1793 _container_seam_container_set_common, _container_seam_dispatch_reset,
1794 _container_seam_dispatch_set_common, _container_seam_fs_ensure_lazy_loaded,
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,
17541799 _container_serialize_copy_serialized_reference, _container_set_code_signing_info_for_identifier,
17551800 _container_set_data_protection_for_current_user, _container_set_info_value,
17561801 _container_set_test_lock, _container_stage_shared_system_content,
......@@ -1785,7 +1830,8 @@ exports:
17851830 _container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block,
17861831 _container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection,
17871832 _container_xpc_shared_copy_connection, _gCMContainerSeam,
1788 _gCMFSSeam, _gCMPWDSeam ]
1833 _gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam,
1834 _gCMSandboxSeam ]
17891835 - targets: [ x86_64-maccatalyst, arm64-maccatalyst, arm64e-maccatalyst ]
17901836 symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID,
17911837 _CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths,
......@@ -1813,13 +1859,13 @@ exports:
18131859 arm64e-macos, arm64e-maccatalyst ]
18141860 symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration,
18151861 _NSStartSearchPathEnumerationPrivate, ___user_local_dirname,
1816 ___user_relative_dirname, __append_relative_path_component,
1817 __dirhelper, __dirhelper_relative, __get_user_dir_suffix,
1818 __libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration,
1819 _sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ]
1862 ___user_relative_dirname, __dirhelper, __dirhelper_relative,
1863 __get_user_dir_suffix, __libcoreservices_fork_child, __set_user_dir_suffix,
1864 _sysdir_get_next_search_path_enumeration, _sysdir_start_search_path_enumeration,
1865 _sysdir_start_search_path_enumeration_private ]
18201866 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
18211867 symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints,
1822 __idle_exit ]
1868 __dirhelper_remove_test, __dirhelper_test, __idle_exit ]
18231869--- !tapi-tbd
18241870tbd-version: 4
18251871targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
......@@ -1879,7 +1925,7 @@ tbd-version: 4
18791925targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
18801926 arm64e-macos, arm64e-maccatalyst ]
18811927install-name: '/usr/lib/system/libsystem_dnssd.dylib'
1882current-version: 2600.120.12
1928current-version: 2881.0.25
18831929parent-umbrella:
18841930 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
18851931 arm64e-macos, arm64e-maccatalyst ]
......@@ -1916,7 +1962,7 @@ exports:
19161962tbd-version: 4
19171963targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
19181964install-name: '/usr/lib/system/libsystem_eligibility.dylib'
1919current-version: 181.120.32
1965current-version: 286
19201966parent-umbrella:
19211967 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
19221968 umbrella: System
......@@ -1934,7 +1980,7 @@ tbd-version: 4
19341980targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
19351981 arm64e-macos, arm64e-maccatalyst ]
19361982install-name: '/usr/lib/system/libsystem_featureflags.dylib'
1937current-version: 97
1983current-version: 101
19381984parent-umbrella:
19391985 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
19401986 arm64e-macos, arm64e-maccatalyst ]
......@@ -2072,7 +2118,7 @@ tbd-version: 4
20722118targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
20732119 arm64e-macos, arm64e-maccatalyst ]
20742120install-name: '/usr/lib/system/libsystem_kernel.dylib'
2075current-version: 11417.121.6
2121current-version: 12377.1.9
20762122parent-umbrella:
20772123 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
20782124 arm64e-macos, arm64e-maccatalyst ]
......@@ -2217,7 +2263,8 @@ exports:
22172263 _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token,
22182264 _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server,
22192265 _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,
22212268 _exclaves_audio_buffer_copyout_with_status, _exclaves_audio_buffer_create,
22222269 _exclaves_boot, _exclaves_endpoint_call, _exclaves_inbound_buffer_copyin,
22232270 _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time,
......@@ -2235,9 +2282,9 @@ exports:
22352282 _fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsetattrlist,
22362283 _fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, _fstat64,
22372284 _fstatat, _fstatat64, _fstatfs, _fstatfs64, _fstatfs_ext,
2238 _fsync, '_fsync$NOCANCEL', _ftruncate, _futimens, _futimes,
2239 _getattrlist, _getattrlistat, _getattrlistbulk, _getaudit,
2240 _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr,
2285 _fsync, '_fsync$NOCANCEL', _ftruncate, _funmount, _futimens,
2286 _futimes, _getattrlist, _getattrlistat, _getattrlistbulk,
2287 _getaudit, _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr,
22412288 _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat,
22422289 _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np,
22432290 _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid,
......@@ -2280,13 +2327,14 @@ exports:
22802327 _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times,
22812328 _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id,
22822329 _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64,
2283 _mach_memory_entry_access_tracking, _mach_memory_entry_ownership,
2284 _mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry,
2285 _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg2_internal,
2286 _mach_msg2_trap, _mach_msg_destroy, _mach_msg_overwrite, _mach_msg_overwrite_trap,
2287 _mach_msg_priority_encode, _mach_msg_priority_is_pthread_priority,
2288 _mach_msg_priority_overide_qos, _mach_msg_priority_qos, _mach_msg_priority_relpri,
2289 _mach_msg_receive, _mach_msg_send, _mach_msg_server, _mach_msg_server_importance,
2330 _mach_memory_entry_access_tracking, _mach_memory_entry_get_page_counts,
2331 _mach_memory_entry_ownership, _mach_memory_entry_purgable_control,
2332 _mach_memory_info, _mach_memory_object_memory_entry, _mach_memory_object_memory_entry_64,
2333 _mach_msg, _mach_msg2_internal, _mach_msg2_trap, _mach_msg_destroy,
2334 _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode,
2335 _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos,
2336 _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive,
2337 _mach_msg_send, _mach_msg_server, _mach_msg_server_importance,
22902338 _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name,
22912339 _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed,
22922340 _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full,
......@@ -2313,18 +2361,21 @@ exports:
23132361 _mach_thread_special_port_for_id, _mach_timebase_info, _mach_timebase_info_trap,
23142362 _mach_vm_allocate, _mach_vm_behavior_set, _mach_vm_copy, _mach_vm_deallocate,
23152363 _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,
23172365 _mach_vm_inherit, _mach_vm_machine_attribute, _mach_vm_map,
23182366 _mach_vm_msync, _mach_vm_page_info, _mach_vm_page_query, _mach_vm_page_range_query,
23192367 _mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create,
23202368 _mach_vm_read, _mach_vm_read_list, _mach_vm_read_overwrite,
2321 _mach_vm_reclaim_is_reusable, _mach_vm_reclaim_query_state,
2322 _mach_vm_reclaim_ring_allocate, _mach_vm_reclaim_ring_capacity,
2369 _mach_vm_reclaim_copied_ring_free, _mach_vm_reclaim_copied_ring_query,
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,
23232373 _mach_vm_reclaim_ring_flush, _mach_vm_reclaim_ring_resize,
23242374 _mach_vm_reclaim_round_capacity, _mach_vm_reclaim_try_cancel,
23252375 _mach_vm_reclaim_try_enter, _mach_vm_reclaim_update_kernel_accounting,
2326 _mach_vm_region, _mach_vm_region_recurse, _mach_vm_remap,
2327 _mach_vm_remap_new, _mach_vm_update_pointers_with_remote_tags,
2376 _mach_vm_reclaim_update_kernel_accounting_trap, _mach_vm_region,
2377 _mach_vm_region_recurse, _mach_vm_remap, _mach_vm_remap_new,
2378 _mach_vm_tag_describe, _mach_vm_update_pointers_with_remote_tags,
23282379 _mach_vm_wire, _mach_vm_write, _mach_voucher_attr_command,
23292380 _mach_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes,
23302381 _mach_voucher_extract_attr_content, _mach_voucher_extract_attr_recipe,
......@@ -2360,10 +2411,11 @@ exports:
23602411 _os_channel_create, _os_channel_create_extended, _os_channel_destroy,
23612412 _os_channel_event_free, _os_channel_event_get_event_data,
23622413 _os_channel_event_get_next_event, _os_channel_flow_admissible,
2363 _os_channel_flow_adv_get_ce_count, _os_channel_get_advisory_region,
2364 _os_channel_get_fd, _os_channel_get_interface_advisory, _os_channel_get_next_event_handle,
2365 _os_channel_get_next_slot, _os_channel_get_stats_region, _os_channel_is_defunct,
2366 _os_channel_large_packet_alloc, _os_channel_packet_alloc,
2414 _os_channel_flow_adv_get_ce_count, _os_channel_flow_adv_get_feedback,
2415 _os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory,
2416 _os_channel_get_next_event_handle, _os_channel_get_next_slot,
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,
23672419 _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending,
23682420 _os_channel_read_attr, _os_channel_read_nexus_extension_info,
23692421 _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time,
......@@ -2381,8 +2433,8 @@ exports:
23812433 _os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules,
23822434 _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider,
23832435 _os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance,
2384 _os_nexus_flow_set_wake_from_sleep, _os_packet_add_buflet,
2385 _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid,
2436 _os_nexus_flow_set_connection_idle, _os_nexus_flow_set_wake_from_sleep,
2437 _os_packet_add_buflet, _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid,
23862438 _os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type,
23872439 _os_packet_get_buflet_count, _os_packet_get_compression_generation_count,
23882440 _os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action,
......@@ -2407,15 +2459,16 @@ exports:
24072459 _os_packet_set_traffic_class, _os_packet_set_transport_last_packet,
24082460 _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background,
24092461 _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,
2411 _os_proc_available_memory, _panic, _panic_init, _panic_with_data,
2412 _pathconf, _peeloff, _pid_for_task, _pid_hibernate, _pid_resume,
2413 _pid_shutdown_networking, _pid_shutdown_sockets, _pid_suspend,
2414 _pipe, _pivot_root, _pkt_subtype_assert_fail, _pkt_type_assert_fail,
2415 _poll, '_poll$NOCANCEL', _port_obj_init, _port_obj_table,
2416 _port_obj_table_size, _posix_madvise, _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np,
2417 _posix_spawn_file_actions_addchdir_np, _posix_spawn_file_actions_addclose,
2418 _posix_spawn_file_actions_adddup2, _posix_spawn_file_actions_addfchdir_np,
2462 _os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_set_wake_flag,
2463 _os_packet_trace_event, _os_proc_available_memory, _panic,
2464 _panic_init, _panic_with_data, _pathconf, _peeloff, _pid_for_task,
2465 _pid_hibernate, _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets,
2466 _pid_suspend, _pipe, _pivot_root, _poll, '_poll$NOCANCEL',
2467 _port_obj_init, _port_obj_table, _port_obj_table_size, _posix_madvise,
2468 _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np,
2469 _posix_spawn_file_actions_addchdir, _posix_spawn_file_actions_addchdir_np,
2470 _posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2,
2471 _posix_spawn_file_actions_addfchdir, _posix_spawn_file_actions_addfchdir_np,
24192472 _posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen,
24202473 _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init,
24212474 _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np,
......@@ -2426,73 +2479,74 @@ exports:
24262479 _posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np,
24272480 _posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask,
24282481 _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np,
2429 _posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_crash_behavior_deadline_np,
2430 _posix_spawnattr_set_crash_behavior_np, _posix_spawnattr_set_crash_count_np,
2431 _posix_spawnattr_set_csm_np, _posix_spawnattr_set_darwin_role_np,
2432 _posix_spawnattr_set_filedesclimit_ext, _posix_spawnattr_set_gid_np,
2433 _posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np,
2434 _posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_kqworklooplimit_ext,
2435 _posix_spawnattr_set_launch_type_np, _posix_spawnattr_set_login_np,
2436 _posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np,
2437 _posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np,
2438 _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np,
2439 _posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np,
2440 _posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np,
2441 _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_threadlimit_ext,
2442 _posix_spawnattr_set_uid_np, _posix_spawnattr_set_use_sec_transition_shims_np,
2443 _posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np,
2444 _posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np,
2445 _posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default,
2446 _posix_spawnattr_setdataless_iopolicy_np, _posix_spawnattr_setexceptionports_np,
2447 _posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext,
2448 _posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np,
2449 _posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup,
2450 _posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault,
2451 _posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np,
2452 _pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits,
2453 _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure,
2454 _proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg,
2455 _proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon,
2456 _proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype,
2457 _proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params,
2458 _proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete,
2459 _proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids,
2460 _proc_list_uptrs, _proc_listallpids, _proc_listchildpids,
2461 _proc_listcoalitions, _proc_listpgrppids, _proc_listpids,
2462 _proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo,
2463 _proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo,
2464 _proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename,
2465 _proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control,
2466 _proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal,
2467 _proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty,
2468 _proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults,
2469 _proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol,
2470 _proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt,
2471 _proc_signal_delegate, _proc_signal_with_audittoken, _proc_suppress,
2472 _proc_terminate, _proc_terminate_all_rsr, _proc_terminate_delegate,
2473 _proc_terminate_with_audittoken, _proc_trace_log, _proc_track_dirty,
2474 _proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control,
2475 _processor_exit, _processor_get_assignment, _processor_info,
2476 _processor_set_create, _processor_set_default, _processor_set_destroy,
2477 _processor_set_info, _processor_set_max_priority, _processor_set_policy_control,
2478 _processor_set_policy_disable, _processor_set_policy_enable,
2479 _processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks,
2480 _processor_set_tasks_with_flavor, _processor_set_threads,
2481 _processor_start, _pselect, '_pselect$DARWIN_EXTSN', '_pselect$DARWIN_EXTSN$NOCANCEL',
2482 '_pselect$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np,
2483 _ptrace, _pwrite, '_pwrite$NOCANCEL', _pwritev, '_pwritev$NOCANCEL',
2484 _quota, _quotactl, _read, '_read$NOCANCEL', _readlink, _readlinkat,
2485 _readv, '_readv$NOCANCEL', _reboot, _reboot_np, _record_system_event_as_kernel,
2486 _recvfrom, '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL',
2487 _recvmsg_x, _register_uexc_handler, _removexattr, _rename,
2488 _rename_ext, _renameat, _renameatx_np, _renamex_np, _revoke,
2489 _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL',
2490 '_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue,
2491 _sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink,
2492 _sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy,
2493 _semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap,
2494 _semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap,
2495 _semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap,
2482 _posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_conclavememlimit_ext,
2483 _posix_spawnattr_set_crash_behavior_deadline_np, _posix_spawnattr_set_crash_behavior_np,
2484 _posix_spawnattr_set_crash_count_np, _posix_spawnattr_set_csm_np,
2485 _posix_spawnattr_set_darwin_role_np, _posix_spawnattr_set_filedesclimit_ext,
2486 _posix_spawnattr_set_gid_np, _posix_spawnattr_set_groups_np,
2487 _posix_spawnattr_set_importancewatch_port_np, _posix_spawnattr_set_jetsam_ttr_np,
2488 _posix_spawnattr_set_kqworklooplimit_ext, _posix_spawnattr_set_launch_type_np,
2489 _posix_spawnattr_set_login_np, _posix_spawnattr_set_max_addr_np,
2490 _posix_spawnattr_set_persona_gid_np, _posix_spawnattr_set_persona_groups_np,
2491 _posix_spawnattr_set_persona_np, _posix_spawnattr_set_persona_uid_np,
2492 _posix_spawnattr_set_platform_np, _posix_spawnattr_set_portlimits_ext,
2493 _posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np,
2494 _posix_spawnattr_set_registered_ports_np, _posix_spawnattr_set_subsystem_root_path_np,
2495 _posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np,
2496 _posix_spawnattr_set_use_sec_transition_shims_np, _posix_spawnattr_setarchpref_np,
2497 _posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np,
2498 _posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor,
2499 _posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setdataless_iopolicy_np,
2500 _posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags,
2501 _posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np,
2502 _posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np,
2503 _posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np,
2504 _posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask,
2505 _posix_spawnattr_setspecialport_np, _pread, '_pread$NOCANCEL',
2506 _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, _proc_clear_delayidlesleep,
2507 _proc_clear_dirty, _proc_clear_vmpressure, _proc_current_thread_schedinfo,
2508 _proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete,
2509 _proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon,
2510 _proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params,
2511 _proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg,
2512 _proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion,
2513 _proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids,
2514 _proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids,
2515 _proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage,
2516 _proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo,
2517 _proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken,
2518 _proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon,
2519 _proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params,
2520 _proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep,
2521 _proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure,
2522 _proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage,
2523 _proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm,
2524 _proc_setthread_no_smt, _proc_signal_delegate, _proc_signal_with_audittoken,
2525 _proc_suppress, _proc_terminate, _proc_terminate_all_rsr,
2526 _proc_terminate_delegate, _proc_terminate_with_audittoken,
2527 _proc_trace_log, _proc_track_dirty, _proc_udata_info, _proc_uuid_policy,
2528 _processor_assign, _processor_control, _processor_exit, _processor_get_assignment,
2529 _processor_info, _processor_set_create, _processor_set_default,
2530 _processor_set_destroy, _processor_set_info, _processor_set_max_priority,
2531 _processor_set_policy_control, _processor_set_policy_disable,
2532 _processor_set_policy_enable, _processor_set_stack_usage,
2533 _processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor,
2534 _processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN',
2535 '_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np,
2536 _pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL',
2537 _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL',
2538 _readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot,
2539 _reboot_np, _record_system_event_as_kernel, _recvfrom, '_recvfrom$NOCANCEL',
2540 _recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, _register_uexc_handler,
2541 _removexattr, _rename, _rename_ext, _renameat, _renameatx_np,
2542 _renamex_np, _revoke, _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN',
2543 '_select$DARWIN_EXTSN$NOCANCEL', '_select$NOCANCEL', _sem_close,
2544 _sem_destroy, _sem_getvalue, _sem_init, _sem_open, _sem_post,
2545 _sem_trywait, _sem_unlink, _sem_wait, '_sem_wait$NOCANCEL',
2546 _semaphore_create, _semaphore_destroy, _semaphore_signal,
2547 _semaphore_signal_all, _semaphore_signal_all_trap, _semaphore_signal_thread,
2548 _semaphore_signal_thread_trap, _semaphore_signal_trap, _semaphore_timedwait,
2549 _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap,
24962550 _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal,
24972551 _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl,
24982552 _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL',
......@@ -2582,7 +2636,7 @@ tbd-version: 4
25822636targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
25832637 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
25842638install-name: '/usr/lib/system/libsystem_m.dylib'
2585current-version: 3291.100.4
2639current-version: 3307.0.1
25862640parent-umbrella:
25872641 - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
25882642 arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
......@@ -2804,7 +2858,7 @@ tbd-version: 4
28042858targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
28052859 arm64e-macos, arm64e-maccatalyst ]
28062860install-name: '/usr/lib/system/libsystem_malloc.dylib'
2807current-version: 715.120.13
2861current-version: 792.1.1
28082862parent-umbrella:
28092863 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
28102864 arm64e-macos, arm64e-maccatalyst ]
......@@ -2833,15 +2887,15 @@ exports:
28332887 _malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free,
28342888 _malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc,
28352889 _malloc_type_valloc, _malloc_type_zone_calloc, _malloc_type_zone_free,
2836 _malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options_internal,
2837 _malloc_type_zone_malloc_with_options_np, _malloc_type_zone_memalign,
2890 _malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options,
2891 _malloc_type_zone_malloc_with_options_internal, _malloc_type_zone_memalign,
28382892 _malloc_type_zone_realloc, _malloc_type_zone_valloc, _malloc_variant_is_debug_4test,
28392893 _malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc,
28402894 _malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address,
28412895 _malloc_zone_disable_discharge_checking, _malloc_zone_discharge,
28422896 _malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers,
28432897 _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,
28452899 _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print,
28462900 _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register,
28472901 _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc,
......@@ -2878,24 +2932,26 @@ exports:
28782932 _NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains,
28792933 _NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket,
28802934 _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD,
2881 _NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperHandleConfigurationsChangedBySC,
2882 _NEHelperInit, _NEHelperInterfaceCreate, _NEHelperInterfaceDestroy,
2883 _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress,
2884 _NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetDelegate,
2885 _NEHelperInterfaceSetDescription, _NEHelperInterfaceSetMTU,
2886 _NEHelperInterfaceSetOption, _NEHelperSendRequest, _NEHelperSettingsRemove,
2887 _NEHelperSettingsSetArray, _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber,
2888 _NEHelperVPNConfigurationExists, _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache,
2889 _g_ne_uuid_cache_hit, _ne_copy_cached_bundle_identifier_for_uuid,
2890 _ne_copy_cached_uuids_for_bundle_identifier, _ne_copy_signature_info_for_pid,
2891 _ne_copy_signing_identifier_for_pid, _ne_copy_signing_identifier_for_pid_with_audit_token,
2892 _ne_copy_uuid_cache, _ne_force_reset_uuid_cache, _ne_get_configuration_generation,
2935 _NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperGetRawSocket,
2936 _NEHelperHandleConfigurationsChangedBySC, _NEHelperInit, _NEHelperInterfaceCreate,
2937 _NEHelperInterfaceDestroy, _NEHelperInterfaceRemoveAddress,
2938 _NEHelperInterfaceSetAddress, _NEHelperInterfaceSetAddressWithLifetime,
2939 _NEHelperInterfaceSetDelegate, _NEHelperInterfaceSetDescription,
2940 _NEHelperInterfaceSetMTU, _NEHelperInterfaceSetOption, _NEHelperSendRequest,
2941 _NEHelperSettingsRemove, _NEHelperSettingsSetArray, _NEHelperSettingsSetBool,
2942 _NEHelperSettingsSetNumber, _NEHelperVPNConfigurationExists,
2943 _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, _g_ne_uuid_cache_hit,
2944 _ne_copy_cached_bundle_identifier_for_uuid, _ne_copy_cached_uuids_for_bundle_identifier,
2945 _ne_copy_signature_info_for_pid, _ne_copy_signing_identifier_for_pid,
2946 _ne_copy_signing_identifier_for_pid_with_audit_token, _ne_copy_uuid_cache,
2947 _ne_force_reset_uuid_cache, _ne_get_configuration_generation,
28932948 _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace,
28942949 _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id,
28952950 _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path,
28962951 _ne_session_address_matches_subnets, _ne_session_agent_get_advisory,
28972952 _ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present,
28982953 _ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present,
2954 _ne_session_applications_have_local_network_entitlements,
28992955 _ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present,
29002956 _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token,
29012957 _ne_session_copy_os_version_string, _ne_session_copy_policy_match,
......@@ -2904,30 +2960,29 @@ exports:
29042960 _ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present,
29052961 _ne_session_dns_settings_configs_present, _ne_session_establish_ipc,
29062962 _ne_session_fallback_advisory, _ne_session_fallback_default,
2907 _ne_session_get_boot_session_uuid, _ne_session_get_config_id_from_network_agent,
2908 _ne_session_get_configuration_id, _ne_session_get_info, _ne_session_get_info2,
2909 _ne_session_get_status, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all,
2963 _ne_session_fetch_server_parameters, _ne_session_get_boot_session_uuid,
2964 _ne_session_get_config_id_from_network_agent, _ne_session_get_configuration_id,
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,
29102967 _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot,
29112968 _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info,
29122969 _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions,
29132970 _ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid,
29142971 _ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present,
29152972 _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,
2917 _ne_session_policy_match_get_scoped_interface_index, _ne_session_policy_match_get_service,
2918 _ne_session_policy_match_get_service_action, _ne_session_policy_match_get_service_type,
2919 _ne_session_policy_match_is_drop, _ne_session_policy_match_is_flow_divert,
2920 _ne_session_policy_match_service_is_registered, _ne_session_relay_configs_present,
2921 _ne_session_release, _ne_session_retain, _ne_session_send_barrier,
2922 _ne_session_service_copy_cached_match_domains, _ne_session_service_get_dns_service_id,
2923 _ne_session_service_get_dns_service_id_for_interface, _ne_session_service_matches_address,
2924 _ne_session_service_matches_address_for_interface, _ne_session_set_device_communication_exception,
2925 _ne_session_set_event_handler, _ne_session_set_socket_attributes,
2926 _ne_session_set_socket_context_attribute, _ne_session_set_socket_tracker_attributes,
2927 _ne_session_should_disable_nexus, _ne_session_start, _ne_session_start_on_behalf_of,
2928 _ne_session_start_with_options, _ne_session_status_to_string,
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,
2973 _ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action,
2974 _ne_session_policy_match_get_service_type, _ne_session_relay_configs_present,
2975 _ne_session_release, _ne_session_reset_cache, _ne_session_retain,
2976 _ne_session_send_barrier, _ne_session_service_copy_cached_match_domains,
2977 _ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface,
2978 _ne_session_service_matches_address, _ne_session_service_matches_address_for_interface,
2979 _ne_session_set_device_communication_exception, _ne_session_set_event_handler,
2980 _ne_session_set_socket_attributes, _ne_session_set_socket_context_attribute,
2981 _ne_session_set_socket_tracker_attributes, _ne_session_should_disable_nexus,
2982 _ne_session_start, _ne_session_start_on_behalf_of, _ne_session_start_with_options,
2983 _ne_session_status_to_string, _ne_session_stop, _ne_session_stop_all_with_plugin_type,
2984 _ne_session_stop_reason_to_string, _ne_session_type_to_string,
2985 _ne_session_urlfilter_configs_present, _ne_session_use_as_system_vpn,
29312986 _ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present,
29322987 _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated,
29332988 _ne_socket_set_website_attribution, _ne_tracker_build_cache,
......@@ -2949,7 +3004,7 @@ tbd-version: 4
29493004targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
29503005 arm64e-macos, arm64e-maccatalyst ]
29513006install-name: '/usr/lib/system/libsystem_notify.dylib'
2952current-version: 342
3007current-version: 344.0.1
29533008parent-umbrella:
29543009 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
29553010 arm64e-macos, arm64e-maccatalyst ]
......@@ -2969,7 +3024,7 @@ tbd-version: 4
29693024targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
29703025 arm64e-macos, arm64e-maccatalyst ]
29713026install-name: '/usr/lib/system/libsystem_platform.dylib'
2972current-version: 349
3027current-version: 359.1.2
29733028parent-umbrella:
29743029 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
29753030 arm64e-macos, arm64e-maccatalyst ]
......@@ -3020,19 +3075,21 @@ exports:
30203075 __simple_asl_msg_new, __simple_asl_msg_set, __simple_asl_send,
30213076 __simple_dprintf, __simple_esappend, __simple_esprintf, __simple_getenv,
30223077 __simple_put, __simple_putline, __simple_salloc, __simple_sappend,
3023 __simple_sfree, __simple_sprintf, __simple_sresize, __simple_string,
3024 __simple_vdprintf, __simple_vesprintf, __simple_vsprintf,
3025 __spin_lock, __spin_lock_try, __spin_unlock, _ffs, _ffsl,
3026 _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp, _makecontext,
3027 _os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift,
3078 __simple_sfree, __simple_snprintf, __simple_sprintf, __simple_sresize,
3079 __simple_string, __simple_vdprintf, __simple_vesprintf, __simple_vsnprintf,
3080 __simple_vsprintf, __spin_lock, __spin_lock_try, __spin_unlock,
3081 _ffs, _ffsl, _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp,
3082 _makecontext, _os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift,
30283083 _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,
3030 _os_sync_wait_on_address_with_timeout, _os_sync_wake_by_address_all,
3031 _os_sync_wake_by_address_any, _os_unfair_lock_assert_not_owner,
3032 _os_unfair_lock_assert_owner, _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd,
3033 _os_unfair_lock_lock_with_flags, _os_unfair_lock_lock_with_options,
3034 _os_unfair_lock_trylock, _os_unfair_lock_trylock_with_options,
3035 _os_unfair_lock_unlock, _os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options,
3084 _os_log_simple_type_from_asl, _os_security_config_get, _os_security_config_get_for_proc,
3085 _os_security_config_get_for_task, _os_sync_wait_on_address,
3086 _os_sync_wait_on_address_with_deadline, _os_sync_wait_on_address_with_timeout,
3087 _os_sync_wake_by_address_all, _os_sync_wake_by_address_any,
3088 _os_unfair_lock_assert_not_owner, _os_unfair_lock_assert_owner,
3089 _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, _os_unfair_lock_lock_with_flags,
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,
30363093 _os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock,
30373094 _os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock,
30383095 _os_unfair_recursive_lock_unlock_forked_child, _setcontext,
......@@ -3047,7 +3104,7 @@ tbd-version: 4
30473104targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
30483105 arm64e-macos, arm64e-maccatalyst ]
30493106install-name: '/usr/lib/system/libsystem_pthread.dylib'
3050current-version: 536
3107current-version: 539
30513108parent-umbrella:
30523109 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
30533110 arm64e-macos, arm64e-maccatalyst ]
......@@ -3143,7 +3200,7 @@ tbd-version: 4
31433200targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
31443201 arm64e-macos, arm64e-maccatalyst ]
31453202install-name: '/usr/lib/system/libsystem_sandbox.dylib'
3146current-version: 2401.121.3
3203current-version: 2680.0.50
31473204parent-umbrella:
31483205 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
31493206 arm64e-macos, arm64e-maccatalyst ]
......@@ -3158,8 +3215,13 @@ exports:
31583215 _SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL,
31593216 _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NOFOLLOW_ANY,
31603217 _SANDBOX_EXTENSION_NO_REPORT, _SANDBOX_EXTENSION_NO_STORAGE_CLASS,
3161 _SANDBOX_EXTENSION_PREFIXMATCH, __amkrtemp, __sandbox_enter_notify_libxpc,
3162 __sandbox_in_a_container, __sandbox_register_app_bundle_0,
3218 _SANDBOX_EXTENSION_PREFIXMATCH, _SANDBOX_PROFILE_TYPE_AUTOBOX,
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,
31633225 __sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork,
31643226 _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation,
31653227 _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId,
......@@ -3179,7 +3241,8 @@ exports:
31793241 _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path,
31803242 _sandbox_check_message_filter_integer, _sandbox_check_message_filter_string,
31813243 _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,
31833246 _sandbox_consume_fs_extension, _sandbox_consume_mach_extension,
31843247 _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid,
31853248 _sandbox_enable_local_state_flag, _sandbox_enable_root_translation,
......@@ -3205,15 +3268,16 @@ exports:
32053268 _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception,
32063269 _sandbox_register_app_container, _sandbox_register_app_container_exception,
32073270 _sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile,
3208 _sandbox_register_sync_root, _sandbox_release_fs_extension,
3209 _sandbox_requests_integrity_protection_for_preference_domain,
3271 _sandbox_register_disk_image_backing_store, _sandbox_register_sync_root,
3272 _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain,
32103273 _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona,
32113274 _sandbox_set_container_path_for_audit_token, _sandbox_set_container_path_for_signing_id,
32123275 _sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer,
32133276 _sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init,
32143277 _sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename,
32153278 _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 ]
32173281 - targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
32183282 symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT,
32193283 _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply,
......@@ -3257,7 +3321,7 @@ tbd-version: 4
32573321targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
32583322 arm64e-macos, arm64e-maccatalyst ]
32593323install-name: '/usr/lib/system/libsystem_secinit.dylib'
3260current-version: 153.100.10
3324current-version: 168.0.3
32613325parent-umbrella:
32623326 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
32633327 arm64e-macos, arm64e-maccatalyst ]
......@@ -3290,7 +3354,7 @@ tbd-version: 4
32903354targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
32913355 arm64e-macos, arm64e-maccatalyst ]
32923356install-name: '/usr/lib/system/libsystem_trace.dylib'
3293current-version: 1643.120.5
3357current-version: 1815.0.16
32943358parent-umbrella:
32953359 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
32963360 arm64e-macos, arm64e-maccatalyst ]
......@@ -3298,39 +3362,55 @@ parent-umbrella:
32983362exports:
32993363 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
33003364 arm64e-macos, arm64e-maccatalyst ]
3301 symbols: [ __libtrace_fork_child, __libtrace_init, __os_activity_create,
3302 __os_activity_current, __os_activity_initiate, __os_activity_initiate_f,
3303 __os_activity_label_useraction, __os_activity_none, __os_activity_set_breadcrumb,
3304 __os_activity_start, __os_activity_stream_entry_encode, __os_log_create,
3305 __os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled,
3365 symbols: [ _RTBinIndexForType, _RTLogBufferAddResource, _RTLogBufferAllocateResource,
3366 _RTLogBufferCheckStatus, _RTLogBufferGetHeader, _RTLogBufferGetResource,
3367 _RTLogBufferGetResourceSize, _RTLogBufferInitialize, _RTLogBufferIterate,
3368 _RTLogBufferRequiredStorageSize, _RTLogConnect, _RTLogConnectMemoryConfigFromString,
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,
33063380 __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl,
33073381 __os_log_get_nscf_formatter, __os_log_impl, __os_log_internal,
33083382 __os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute,
33093383 __os_log_preferences_copy_cache, __os_log_preferences_load,
33103384 __os_log_preferences_load_sysprefs, __os_log_preferences_merge,
33113385 __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,
33133392 __os_signpost_emit_with_name_impl, __os_signpost_pack_fill,
33143393 __os_signpost_pack_send, __os_state_request_for_pidlist, __os_trace_app_cryptex_sysprefsdir_path,
33153394 __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,
33173396 __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid,
33183397 __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path,
33193398 __os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc,
33203399 __os_trace_lazy_init_completed_4swift, __os_trace_log_simple,
3321 __os_trace_macho_for_each_slice, __os_trace_malloc, __os_trace_memdup,
3322 __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset,
3400 __os_trace_macho_for_each_slice, __os_trace_malloc_typed,
3401 __os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset,
33233402 __os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path,
33243403 __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,
33263405 __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags,
33273406 __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path,
33283407 __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,
3330 _amfi_check_dyld_policy_self, _amfi_load_trust_cache, _amfi_unload_trust_cache,
3331 _os_activity_apply, _os_activity_apply_f, _os_activity_diagnostic_for_pid,
3332 _os_activity_end, _os_activity_for_task_thread, _os_activity_for_thread,
3333 _os_activity_get_active, _os_activity_get_identifier, _os_activity_iterate_activities,
3408 __os_trace_write, __os_trace_writev, __os_trace_zalloc_typed,
3409 _amfi_check_dyld_policy_for_pid, _amfi_check_dyld_policy_self,
3410 _amfi_load_trust_cache, _amfi_unload_trust_cache, _os_activity_apply,
3411 _os_activity_apply_f, _os_activity_diagnostic_for_pid, _os_activity_end,
3412 _os_activity_for_task_thread, _os_activity_for_thread, _os_activity_get_active,
3413 _os_activity_get_identifier, _os_activity_iterate_activities,
33343414 _os_activity_iterate_breadcrumbs, _os_activity_iterate_messages,
33353415 _os_activity_iterate_processes, _os_activity_messages_for_thread,
33363416 _os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description,
......@@ -3348,8 +3428,10 @@ exports:
33483428 _os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback,
33493429 _os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback,
33503430 _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,
3352 _os_log_with_args, _os_set_logging_unreliable_for_current_thread,
3431 _os_log_shim_to_stdout, _os_log_shim_with_CFString, _os_log_shim_with_CFString_4NSLog,
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,
33533435 _os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer,
33543436 _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler,
33553437 _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode,
......@@ -3357,6 +3439,18 @@ exports:
33573439 objc-classes: [ OS_os_log ]
33583440--- !tapi-tbd
33593441tbd-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
33603454targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
33613455 arm64e-macos, arm64e-maccatalyst ]
33623456install-name: '/usr/lib/system/libunwind.dylib'
......@@ -3390,7 +3484,7 @@ tbd-version: 4
33903484targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
33913485 arm64e-macos, arm64e-maccatalyst ]
33923486install-name: '/usr/lib/system/libxpc.dylib'
3393current-version: 2894.121.3
3487current-version: 3089.0.11
33943488parent-umbrella:
33953489 - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
33963490 arm64e-macos, arm64e-maccatalyst ]
......@@ -3433,11 +3527,11 @@ exports:
34333527 _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE,
34343528 _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING,
34353529 _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER,
3436 _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_NAME,
3437 _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, ___xpc_connection_set_logging,
3438 __availability_version_check, __launch_job_query_routine,
3439 __launch_job_routine, __launch_job_routine_async, __launch_msg2,
3440 __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl,
3530 _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_LEADER_PID,
3531 _XPC_COALITION_INFO_KEY_NAME, _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB,
3532 ___xpc_connection_set_logging, __availability_version_check,
3533 __launch_job_query_routine, __launch_job_routine, __launch_job_routine_async,
3534 __launch_msg2, __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl,
34413535 __launch_service_stats_copy_impl, __launch_trial_factors_routine,
34423536 __libxpc_initializer, __spawn_via_launchd, __system_ios_support_version_copy_string_sysctl,
34433537 __system_version_copy_string_plist, __system_version_copy_string_sysctl,
......@@ -3466,7 +3560,8 @@ exports:
34663560 __xpc_error_peer_code_signing_requirement, __xpc_error_termination_imminent,
34673561 __xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port,
34683562 __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,
34703565 __xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data,
34713566 __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed,
34723567 __xpc_runtime_process_has_entered_sandbox, __xpc_service_last_xref_cancel,
......@@ -3484,8 +3579,8 @@ exports:
34843579 __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once,
34853580 __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error,
34863581 __xpc_type_serializer, __xpc_type_service, __xpc_type_service_instance,
3487 __xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_uint64,
3488 __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved,
3582 __xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_string_cache,
3583 __xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved,
34893584 _amfi_developer_mode_status, _amfi_interface_authorize_local_signing,
34903585 _amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key,
34913586 _amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state,
......@@ -3500,8 +3595,8 @@ exports:
35003595 _bootstrap_status, _bootstrap_strerror, _bootstrap_subset,
35013596 _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd,
35023597 _launch_activate_socket, _launch_active_user_login, _launch_active_user_logout,
3503 _launch_active_user_switch, _launch_add_external_service,
3504 _launch_bootout_user_service_4coresim, _launch_copy_busy_extension_instances,
3598 _launch_add_external_service, _launch_bootout_user_service_4coresim,
3599 _launch_bootout_user_service_4coresim_with_flags, _launch_copy_busy_extension_instances,
35053600 _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties,
35063601 _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond,
35073602 _launch_create_persona, _launch_cryptex_terminate, _launch_data_alloc,
......@@ -3542,11 +3637,12 @@ exports:
35423637 _mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version,
35433638 _os_system_version_sim_get_current_host_version, _os_transaction_copy_description,
35443639 _os_transaction_create, _os_transaction_get_description, _os_transaction_get_ra,
3545 _os_transaction_get_timestamp, _os_transaction_needs_more_time,
3546 _place_hold_on_real_loginwindow, _reboot2, _reboot3, _vproc_release,
3547 _vproc_retain, _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex,
3548 _vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin,
3549 _vproc_transaction_end, _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler,
3640 _os_transaction_get_timestamp, _os_transaction_log_active,
3641 _os_transaction_needs_more_time, _place_hold_on_real_loginwindow,
3642 _reboot2, _reboot3, _vproc_release, _vproc_retain, _vproc_standby_begin,
3643 _vproc_standby_end, _vproc_swap_complex, _vproc_swap_integer,
3644 _vproc_swap_string, _vproc_transaction_begin, _vproc_transaction_end,
3645 _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler,
35503646 _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue,
35513647 _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change,
35523648 _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage,
......@@ -3575,7 +3671,8 @@ exports:
35753671 _xpc_binprefs_set_psattr, _xpc_bool_create, _xpc_bool_get_value,
35763672 _xpc_bs_main, _xpc_bundle_copy_info_dictionary, _xpc_bundle_copy_normalized_cryptex_path,
35773673 _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,
35793676 _xpc_bundle_get_error, _xpc_bundle_get_executable_path, _xpc_bundle_get_info_dictionary,
35803677 _xpc_bundle_get_path, _xpc_bundle_get_property, _xpc_bundle_get_xpcservice_dictionary,
35813678 _xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue,
......@@ -3602,11 +3699,11 @@ exports:
36023699 _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement,
36033700 _xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement,
36043701 _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,
3606 _xpc_connection_set_qos_class_fallback, _xpc_connection_set_qos_class_floor,
3607 _xpc_connection_set_target_queue, _xpc_connection_set_target_uid,
3608 _xpc_connection_set_target_user_session_uid, _xpc_connection_suspend,
3609 _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description,
3702 _xpc_connection_set_peer_requirement, _xpc_connection_set_peer_team_identity_requirement,
3703 _xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback,
3704 _xpc_connection_set_qos_class_floor, _xpc_connection_set_target_queue,
3705 _xpc_connection_set_target_uid, _xpc_connection_set_target_user_session_uid,
3706 _xpc_connection_suspend, _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description,
36103707 _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description,
36113708 _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self,
36123709 _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token,
......@@ -3614,7 +3711,8 @@ exports:
36143711 _xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description,
36153712 _xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key,
36163713 _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,
36183716 _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments,
36193717 _xpc_create_with_format, _xpc_create_with_format_and_arguments,
36203718 _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes,
......@@ -3640,18 +3738,19 @@ exports:
36403738 _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv,
36413739 _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer,
36423740 _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid,
3643 _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value,
3644 _xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim,
3645 _xpc_endpoint_create, _xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named,
3646 _xpc_endpoint_create_bs_service, _xpc_endpoint_create_mach_port_4sim,
3647 _xpc_endpoint_get_bs_job_handle, _xpc_equal, _xpc_event_publisher_activate,
3648 _xpc_event_publisher_copy_event, _xpc_event_publisher_create,
3649 _xpc_event_publisher_create_subscription, _xpc_event_publisher_fire,
3650 _xpc_event_publisher_fire_barrier, _xpc_event_publisher_fire_noboost,
3651 _xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync,
3652 _xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler,
3653 _xpc_event_publisher_set_event, _xpc_event_publisher_set_handler,
3654 _xpc_event_publisher_set_initial_load_completed_handler_4remoted,
3741 _xpc_dictionary_set_value, _xpc_dictionary_set_value_with_key_string_cache,
3742 _xpc_double_create, _xpc_double_get_value, _xpc_endpoint_compare,
3743 _xpc_endpoint_copy_listener_port_4sim, _xpc_endpoint_create,
3744 _xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named,
3745 _xpc_endpoint_create_bs_named_user, _xpc_endpoint_create_bs_service,
3746 _xpc_endpoint_create_mach_port_4sim, _xpc_endpoint_get_bs_job_handle,
3747 _xpc_equal, _xpc_event_publisher_activate, _xpc_event_publisher_copy_event,
3748 _xpc_event_publisher_create, _xpc_event_publisher_create_subscription,
3749 _xpc_event_publisher_fire, _xpc_event_publisher_fire_barrier,
3750 _xpc_event_publisher_fire_noboost, _xpc_event_publisher_fire_with_reply,
3751 _xpc_event_publisher_fire_with_reply_sync, _xpc_event_publisher_get_subscriber_asid,
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,
36553754 _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_publisher_set_throttling,
36563755 _xpc_event_stream_check_in, _xpc_event_stream_check_in2, _xpc_exit_reason_get_label,
36573756 _xpc_extension_type_init, _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel,
......@@ -3671,49 +3770,56 @@ exports:
36713770 _xpc_is_system_session, _xpc_is_xpcservice, _xpc_listener_activate,
36723771 _xpc_listener_cancel, _xpc_listener_copy_description, _xpc_listener_create,
36733772 _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,
36753775 _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right,
36763776 _xpc_mach_send_create, _xpc_mach_send_create_with_disposition,
36773777 _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right,
36783778 _xpc_main, _xpc_make_serialization, _xpc_make_serialization_with_ool,
3679 _xpc_null_create, _xpc_pipe_create, _xpc_pipe_create_from_port,
3680 _xpc_pipe_create_reply_from_port, _xpc_pipe_create_with_user_session_uid,
3681 _xpc_pipe_invalidate, _xpc_pipe_receive, _xpc_pipe_routine,
3682 _xpc_pipe_routine_async, _xpc_pipe_routine_forward, _xpc_pipe_routine_reply,
3683 _xpc_pipe_routine_with_flags, _xpc_pipe_simpleroutine, _xpc_pipe_try_receive,
3684 _xpc_pointer_create, _xpc_pointer_get_value, _xpc_receive_mach_msg,
3685 _xpc_receive_mach_msg_validate_hdr, _xpc_receive_remote_msg,
3686 _xpc_release, _xpc_retain, _xpc_rich_error_can_retry, _xpc_rich_error_copy_description,
3687 _xpc_service_attach, _xpc_service_attach_with_flags, _xpc_service_create,
3688 _xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token,
3779 _xpc_null_create, _xpc_peer_requirement_create_entitlement_exists,
3780 _xpc_peer_requirement_create_entitlement_matches_value, _xpc_peer_requirement_create_lwcr,
3781 _xpc_peer_requirement_create_platform_identity, _xpc_peer_requirement_create_team_identity,
3782 _xpc_peer_requirement_match_received_message, _xpc_pipe_create,
3783 _xpc_pipe_create_from_port, _xpc_pipe_create_reply_from_port,
3784 _xpc_pipe_create_with_user_session_uid, _xpc_pipe_invalidate,
3785 _xpc_pipe_receive, _xpc_pipe_routine, _xpc_pipe_routine_async,
3786 _xpc_pipe_routine_forward, _xpc_pipe_routine_reply, _xpc_pipe_routine_with_flags,
3787 _xpc_pipe_simpleroutine, _xpc_pipe_try_receive, _xpc_pointer_create,
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,
36893792 _xpc_service_instance_dup2, _xpc_service_instance_get_context,
36903793 _xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid,
36913794 _xpc_service_instance_get_type, _xpc_service_instance_is_configurable,
3692 _xpc_service_instance_run, _xpc_service_instance_set_binpref,
3693 _xpc_service_instance_set_context, _xpc_service_instance_set_cwd,
3694 _xpc_service_instance_set_endpoint, _xpc_service_instance_set_environment,
3695 _xpc_service_instance_set_finalizer_f, _xpc_service_instance_set_jetsam_properties,
3696 _xpc_service_instance_set_path, _xpc_service_instance_set_start_suspended,
3697 _xpc_service_instance_set_use_sec_transition_shims, _xpc_service_kickstart,
3698 _xpc_service_kickstart_with_flags, _xpc_service_set_attach_handler,
3699 _xpc_session_activate, _xpc_session_cancel, _xpc_session_copy_description,
3700 _xpc_session_create_mach_service, _xpc_session_create_xpc_endpoint,
3701 _xpc_session_create_xpc_service, _xpc_session_send_message,
3702 _xpc_session_send_message_with_reply_async, _xpc_session_send_message_with_reply_sync,
3703 _xpc_session_set_cancel_handler, _xpc_session_set_incoming_message_handler,
3704 _xpc_session_set_instance, _xpc_session_set_peer_code_signing_requirement,
3795 _xpc_service_instance_run, _xpc_service_instance_set_archpref,
3796 _xpc_service_instance_set_binpref, _xpc_service_instance_set_context,
3797 _xpc_service_instance_set_cwd, _xpc_service_instance_set_endpoint,
3798 _xpc_service_instance_set_environment, _xpc_service_instance_set_finalizer_f,
3799 _xpc_service_instance_set_jetsam_properties, _xpc_service_instance_set_path,
3800 _xpc_service_instance_set_start_suspended, _xpc_service_instance_set_use_sec_transition_shims,
3801 _xpc_service_kickstart, _xpc_service_kickstart_with_flags,
3802 _xpc_service_set_attach_handler, _xpc_session_activate, _xpc_session_cancel,
3803 _xpc_session_copy_description, _xpc_session_create_mach_service,
3804 _xpc_session_create_xpc_endpoint, _xpc_session_create_xpc_service,
3805 _xpc_session_send_message, _xpc_session_send_message_with_reply_async,
3806 _xpc_session_send_message_with_reply_sync, _xpc_session_set_cancel_handler,
3807 _xpc_session_set_incoming_message_handler, _xpc_session_set_instance,
3808 _xpc_session_set_peer_code_signing_requirement, _xpc_session_set_peer_requirement,
37053809 _xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid,
37063810 _xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler,
37073811 _xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create,
37083812 _xpc_shmem_create_readonly, _xpc_shmem_get_length, _xpc_shmem_map,
3709 _xpc_strerror, _xpc_string_create, _xpc_string_create_no_copy,
3710 _xpc_string_create_with_format, _xpc_string_create_with_format_and_arguments,
3711 _xpc_string_get_length, _xpc_string_get_string_ptr, _xpc_test_symbols_exported,
3712 _xpc_track_activity, _xpc_transaction_begin, _xpc_transaction_end,
3713 _xpc_transaction_exit_clean, _xpc_transaction_interrupt_clean_exit,
3714 _xpc_transaction_try_exit_clean, _xpc_transactions_enable,
3715 _xpc_traverse_serialized_data, _xpc_type_get_name, _xpc_uint64_create,
3716 _xpc_uint64_get_value, _xpc_user_sessions_enabled, _xpc_user_sessions_get_foreground_uid,
3717 _xpc_user_sessions_get_session_uid, _xpc_uuid_create, _xpc_uuid_get_bytes ]
3813 _xpc_strerror, _xpc_string_cache_create, _xpc_string_cache_for_each,
3814 _xpc_string_cache_get_count, _xpc_string_cache_get_name, _xpc_string_create,
3815 _xpc_string_create_cached, _xpc_string_create_no_copy, _xpc_string_create_with_format,
3816 _xpc_string_create_with_format_and_arguments, _xpc_string_get_length,
3817 _xpc_string_get_string_ptr, _xpc_test_symbols_exported, _xpc_track_activity,
3818 _xpc_transaction_begin, _xpc_transaction_end, _xpc_transaction_exit_clean,
3819 _xpc_transaction_interrupt_clean_exit, _xpc_transaction_try_exit_clean,
3820 _xpc_transactions_enable, _xpc_traverse_serialized_data, _xpc_type_get_name,
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 ]
37183824 objc-classes: [ OS_xpc_object ]
37193825...
lib/libc/include/any-macos-any/Availability.h+12-7
......@@ -469,6 +469,9 @@
469469 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
470470 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
471471 *
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 *
472475 * Examples:
473476 *
474477 * __API_DEPRECATED("Deprecated", macos(10.4, 10.8))
......@@ -487,6 +490,7 @@
487490 #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
488491
489492
493
490494 #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__)
491495 #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 @@
496500 #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__)
497501 #define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
498502
503
499504 /*
500505 * API Unavailability
501506 * Use to specify that an API is unavailable for a particular platform.
......@@ -524,7 +529,7 @@
524529#endif
525530
526531#ifndef __API_AVAILABLE_END
527 #define __API_AVAILABLE_END(...)
532 #define __API_AVAILABLE_END
528533#endif
529534
530535#ifndef __API_DEPRECATED
......@@ -536,7 +541,7 @@
536541#endif
537542
538543#ifndef __API_DEPRECATED_END
539 #define __API_DEPRECATED_END(...)
544 #define __API_DEPRECATED_END
540545#endif
541546
542547#ifndef __API_DEPRECATED_WITH_REPLACEMENT
......@@ -548,7 +553,7 @@
548553#endif
549554
550555#ifndef __API_DEPRECATED_WITH_REPLACEMENT_END
551 #define __API_DEPRECATED_WITH_REPLACEMENT_END(...)
556 #define __API_DEPRECATED_WITH_REPLACEMENT_END
552557#endif
553558
554559#ifndef __API_OBSOLETED
......@@ -560,7 +565,7 @@
560565#endif
561566
562567#ifndef __API_OBSOLETED_END
563 #define __API_OBSOLETED_END(...)
568 #define __API_OBSOLETED_END
564569#endif
565570
566571#ifndef __API_OBSOLETED_WITH_REPLACEMENT
......@@ -572,7 +577,7 @@
572577#endif
573578
574579#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END
575 #define __API_OBSOLETED_WITH_REPLACEMENT_END(...)
580 #define __API_OBSOLETED_WITH_REPLACEMENT_END
576581#endif
577582
578583#ifndef __API_UNAVAILABLE
......@@ -584,7 +589,7 @@
584589#endif
585590
586591#ifndef __API_UNAVAILABLE_END
587 #define __API_UNAVAILABLE_END(...)
592 #define __API_UNAVAILABLE_END
588593#endif
589594
590595/*
......@@ -600,7 +605,7 @@
600605#endif
601606
602607#ifndef __SPI_AVAILABLE_END
603 #define __SPI_AVAILABLE_END(...)
608 #define __SPI_AVAILABLE_END
604609#endif
605610
606611#ifndef __SPI_DEPRECATED
lib/libc/include/any-macos-any/AvailabilityInternal.h+66-54
......@@ -33,81 +33,93 @@
3333#include <AvailabilityVersions.h>
3434
3535#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED
36 #if defined(__has_builtin) && __has_builtin(__is_target_os)
37 #if __is_target_os(macos)
38 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
39 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_5
40 #endif
41 #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
42 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
43 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_5
44 #endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */
36 #if defined(__has_builtin)
37 #if __has_builtin(__is_target_os)
38 #if __is_target_os(macos)
39 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
40 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
41 #endif
42 #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
43 #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
44 #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
45 #endif /* __has_builtin(__is_target_os) */
46 #endif /* defined(__has_builtin) */
4547#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
4648
4749#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
48 #if defined(__has_builtin) && __has_builtin(__is_target_os)
49 #if __is_target_os(ios)
50 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
51 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_5
52 #endif
53 #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
54 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
55 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_5
56 #endif /* __has_builtin(__is_target_os) && __is_target_os(ios) */
50 #if defined(__has_builtin)
51 #if __has_builtin(__is_target_os)
52 #if __is_target_os(ios)
53 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
54 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
55 #endif
56 #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
57 #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
58 #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
59 #endif /* __has_builtin(__is_target_os) */
60 #endif /* defined(__has_builtin) */
5761#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
5862
5963#ifndef __WATCH_OS_VERSION_MIN_REQUIRED
60 #if defined(__has_builtin) && __has_builtin(__is_target_os)
61 #if __is_target_os(watchos)
62 #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
63 #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_11_5
64 #if defined(__has_builtin)
65 #if __has_builtin(__is_target_os)
66 #if __is_target_os(watchos)
67 #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
6475 /* for compatibility with existing code. New code should use platform specific checks */
6576 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
66 #endif
67 #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
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) */
77 #endif /* __has_builtin(__is_target_os) */
78 #endif /* defined(__has_builtin) */
7379#endif /* __WATCH_OS_VERSION_MIN_REQUIRED */
7480
7581#ifndef __TV_OS_VERSION_MIN_REQUIRED
76 #if defined(__has_builtin) && __has_builtin(__is_target_os)
77 #if __is_target_os(tvos)
78 #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
79 #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_18_5
82 #if defined(__has_builtin)
83 #if __has_builtin(__is_target_os)
84 #if __is_target_os(tvos)
85 #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
8093 /* for compatibility with existing code. New code should use platform specific checks */
8194 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
82 #endif
83 #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
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) */
95 #endif /* __has_builtin(__is_target_os) */
96 #endif /* defined(__has_builtin) */
8997#endif /* __TV_OS_VERSION_MIN_REQUIRED */
9098
9199
92100
93101#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED
94 #if defined(__has_builtin) && __has_builtin(__is_target_os)
95 #if __is_target_os(driverkit)
96 #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
97 #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_24_5
98 #endif
99 #endif /* __has_builtin(__is_target_os) && __is_target_os(driverkit) */
102 #if defined(__has_builtin)
103 #if __has_builtin(__is_target_os)
104 #if __is_target_os(driverkit)
105 #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
106 #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_0
107 #endif
108 #endif /* __has_builtin(__is_target_os) */
109 #endif /* defined(__has_builtin) */
100110#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */
101111
102112#ifndef __VISION_OS_VERSION_MIN_REQUIRED
103 #if defined(__has_builtin) && __has_builtin(__is_target_os)
104 #if __is_target_os(visionos)
105 #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
106 #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_2_5
107 /* for compatibility with existing code. New code should use platform specific checks */
108 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
109 #endif
110 #endif /* __has_builtin(__is_target_os) && __is_target_os(visionos) */
113 #if defined(__has_builtin)
114 #if __has_builtin(__is_target_os)
115 #if __is_target_os(visionos)
116 #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
117 #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_0
118 /* for compatibility with existing code. New code should use platform specific checks */
119 #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
120 #endif
121 #endif /* __has_builtin(__is_target_os) */
122 #endif /* defined(__has_builtin) */
111123#endif /* __VISION_OS_VERSION_MIN_REQUIRED */
112124
113125
lib/libc/include/any-macos-any/AvailabilityVersions.h+22-5
......@@ -74,7 +74,6 @@
7474#define __MAC_12_7 120700
7575#define __MAC_13_0 130000
7676#define __MAC_13_1 130100
77#define __MAC_13_1 130100
7877#define __MAC_13_2 130200
7978#define __MAC_13_3 130300
8079#define __MAC_13_4 130400
......@@ -95,6 +94,9 @@
9594#define __MAC_15_3 150300
9695#define __MAC_15_4 150400
9796#define __MAC_15_5 150500
97#define __MAC_15_6 150600
98#define __MAC_16_0 160000
99#define __MAC_26_0 260000
98100/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
99101
100102#define __IPHONE_2_0 20000
......@@ -149,8 +151,6 @@
149151#define __IPHONE_14_2 140200
150152#define __IPHONE_14_3 140300
151153#define __IPHONE_14_5 140500
152#define __IPHONE_14_4 140400
153#define __IPHONE_14_5 140500
154154#define __IPHONE_14_6 140600
155155#define __IPHONE_14_7 140700
156156#define __IPHONE_14_8 140800
......@@ -185,6 +185,9 @@
185185#define __IPHONE_18_3 180300
186186#define __IPHONE_18_4 180400
187187#define __IPHONE_18_5 180500
188#define __IPHONE_18_6 180600
189#define __IPHONE_19_0 190000
190#define __IPHONE_26_0 260000
188191/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
189192
190193#define __WATCHOS_1_0 10000
......@@ -242,6 +245,9 @@
242245#define __WATCHOS_11_3 110300
243246#define __WATCHOS_11_4 110400
244247#define __WATCHOS_11_5 110500
248#define __WATCHOS_11_6 110600
249#define __WATCHOS_12_0 120000
250#define __WATCHOS_26_0 260000
245251/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
246252
247253#define __TVOS_9_0 90000
......@@ -299,6 +305,9 @@
299305#define __TVOS_18_3 180300
300306#define __TVOS_18_4 180400
301307#define __TVOS_18_5 180500
308#define __TVOS_18_6 180600
309#define __TVOS_19_0 190000
310#define __TVOS_26_0 260000
302311/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
303312
304313#define __BRIDGEOS_2_0 20000
......@@ -317,7 +326,6 @@
317326#define __BRIDGEOS_6_6 60600
318327#define __BRIDGEOS_7_0 70000
319328#define __BRIDGEOS_7_1 70100
320#define __BRIDGEOS_7_1 70100
321329#define __BRIDGEOS_7_2 70200
322330#define __BRIDGEOS_7_3 70300
323331#define __BRIDGEOS_7_4 70400
......@@ -335,6 +343,8 @@
335343#define __BRIDGEOS_9_3 90300
336344#define __BRIDGEOS_9_4 90400
337345#define __BRIDGEOS_9_5 90500
346#define __BRIDGEOS_9_6 90600
347#define __BRIDGEOS_10_0 100000
338348
339349
340350#define __DRIVERKIT_19_0 190000
......@@ -357,6 +367,8 @@
357367#define __DRIVERKIT_24_3 240300
358368#define __DRIVERKIT_24_4 240400
359369#define __DRIVERKIT_24_5 240500
370#define __DRIVERKIT_24_6 240600
371#define __DRIVERKIT_25_0 250000
360372/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
361373
362374#define __VISIONOS_1_0 10000
......@@ -369,6 +381,9 @@
369381#define __VISIONOS_2_3 20300
370382#define __VISIONOS_2_4 20400
371383#define __VISIONOS_2_5 20500
384#define __VISIONOS_2_6 20600
385#define __VISIONOS_3_0 30000
386#define __VISIONOS_26_0 260000
372387/* __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 @@
436451#define MAC_OS_VERSION_12_7 __MAC_12_7
437452#define MAC_OS_VERSION_13_0 __MAC_13_0
438453#define MAC_OS_VERSION_13_1 __MAC_13_1
439#define MAC_OS_VERSION_13_1 __MAC_13_1
440454#define MAC_OS_VERSION_13_2 __MAC_13_2
441455#define MAC_OS_VERSION_13_3 __MAC_13_3
442456#define MAC_OS_VERSION_13_4 __MAC_13_4
......@@ -457,6 +471,9 @@
457471#define MAC_OS_VERSION_15_3 __MAC_15_3
458472#define MAC_OS_VERSION_15_4 __MAC_15_4
459473#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
461478#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 @@
4242#define _LIBC_SINGLE_BY_DEFAULT() __ptrcheck_abi_assume_single()
4343#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
4547#else /* _LIBC_ANNOTATE_BOUNDS */
4648
4749#define _LIBC_COUNT(x)
......@@ -58,6 +60,8 @@
5860#define _LIBC_SINGLE_BY_DEFAULT()
5961#define _LIBC_PTRCHECK_REPLACED(R)
6062
63#define _LIBC_FORGE_PTR(P, S) (P)
64
6165#endif /* _LIBC_ANNOTATE_BOUNDS */
6266
6367#endif /* _LIBC_BOUNDS_H_ */
lib/libc/include/any-macos-any/_ctermid.h+5-3
......@@ -27,13 +27,15 @@
2727#include <sys/cdefs.h>
2828#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
3034_LIBC_SINGLE_BY_DEFAULT()
3135
3236__BEGIN_DECLS
3337
34#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
35
36char *_LIBC_CSTR ctermid(char *_LIBC_COUNT_OR_NULL(L_ctermid));
38char *_LIBC_CSTR ctermid(char *_LIBC_COUNT__L_CTERMID);
3739
3840__END_DECLS
3941
lib/libc/include/any-macos-any/_locale.h+4-25
......@@ -41,6 +41,10 @@
4141#include <_bounds.h>
4242#include <_types.h>
4343
44#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 200809L
45#include <_locale_posix2008.h>
46#endif
47
4448_LIBC_SINGLE_BY_DEFAULT()
4549
4650struct lconv {
......@@ -72,33 +76,8 @@ struct lconv {
7276
7377#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
9679__BEGIN_DECLS
97locale_t duplocale(locale_t);
98int freelocale(locale_t);
9980struct lconv *localeconv(void);
100locale_t newlocale(int, __const char *, locale_t);
101locale_t uselocale(locale_t);
10281__END_DECLS
10382
10483#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
308308
309309#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
311315#include <_ctermid.h>
312316
313317__BEGIN_DECLS
lib/libc/include/any-macos-any/_stdlib.h+10-5
......@@ -123,18 +123,23 @@ typedef struct {
123123
124124#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_)
129126#if __has_feature(modules)
130127// When clang modules are enabled, there can only be one definition of
131128// MB_CUR_MAX, and that needs to be the same one used by xlocale.h.
132129#include <_mb_cur_max.h>
133#else
130#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_ */
134138extern int __mb_cur_max;
135139#define MB_CUR_MAX __mb_cur_max
140#endif /* _USE_EXTENDED_LOCALES_ */
141#endif /* MB_CUR_MAX */
136142#endif /* __has_feature(modules) */
137#endif /* !MB_CUR_MAX && !_USE_EXTENDED_LOCALES_ */
138143
139144#include <malloc/_malloc.h>
140145#include <_abort.h>
lib/libc/include/any-macos-any/_string.h+2-2
......@@ -100,7 +100,7 @@ char *_LIBC_CSTR
100100 _LIBC_PTRCHECK_REPLACED(strlcat);
101101int strncmp(const char *_LIBC_UNSAFE_INDEXABLE __s1,
102102 const char *_LIBC_UNSAFE_INDEXABLE __s2, size_t __n);
103char *_LIBC_UNSAFE_INDEXABLE
103char *_LIBC_COUNT(__n)
104104 strncpy(char *_LIBC_COUNT(__n) __dst,
105105 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
106106 _LIBC_PTRCHECK_REPLACED(strlcpy);
......@@ -155,7 +155,7 @@ __END_DECLS
155155__BEGIN_DECLS
156156char *_LIBC_CSTR
157157 stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy);
158char *_LIBC_CSTR
158char *_LIBC_COUNT(__n)
159159 stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst,
160160 const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
161161 __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
lib/libc/include/any-macos-any/_xlocale.h+1
......@@ -32,6 +32,7 @@
3232#endif /* _USE_EXTENDED_LOCALES_ */
3333
3434#include <_locale.h>
35#include <_locale_posix2008.h>
3536#include <__xlocale.h>
3637
3738_LIBC_SINGLE_BY_DEFAULT()
lib/libc/include/any-macos-any/assert.h-3
......@@ -40,9 +40,6 @@
4040 */
4141
4242#include <sys/cdefs.h>
43#ifdef __cplusplus
44#include <stdlib.h>
45#endif /* __cplusplus */
4643
4744/*
4845 * 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;
207207
208208/* size of the latest version of the structure */
209209#define HOST_VM_INFO64_LATEST_COUNT HOST_VM_INFO64_COUNT
210#define HOST_VM_INFO64_REV1_COUNT HOST_VM_INFO64_LATEST_COUNT
210#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)))
211213/* 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) */ \
213 ((mach_msg_type_number_t) \
214 (HOST_VM_INFO64_REV1_COUNT - 14))
214#define HOST_VM_INFO64_REV0_COUNT ((mach_msg_type_number_t) \
215 (offsetof(vm_statistics64_data_t, decompressions) / sizeof(integer_t)))
215216
216217/* in <mach/vm_statistics.h> */
217218/* 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
501501(
502502 ipc_space_read_t task,
503503 mach_port_name_t name,
504 natural_t *object_type,
504 ipc_info_object_type_t *object_type,
505505 mach_vm_address_t *object_addr
506506);
507507
......@@ -610,7 +610,7 @@ kern_return_t mach_port_kobject_description
610610(
611611 ipc_space_read_t task,
612612 mach_port_name_t name,
613 natural_t *object_type,
613 ipc_info_object_type_t *object_type,
614614 mach_vm_address_t *object_addr,
615615 kobject_description_t description
616616);
......@@ -1690,7 +1690,7 @@ union __RequestUnion__mach_port_subsystem {
16901690 mach_msg_header_t Head;
16911691 NDR_record_t NDR;
16921692 kern_return_t RetCode;
1693 natural_t object_type;
1693 ipc_info_object_type_t object_type;
16941694 mach_vm_address_t object_addr;
16951695 } __Reply__mach_port_kobject_t __attribute__((unused));
16961696#ifdef __MigPackStructs
......@@ -1790,7 +1790,7 @@ union __RequestUnion__mach_port_subsystem {
17901790 mach_msg_header_t Head;
17911791 NDR_record_t NDR;
17921792 kern_return_t RetCode;
1793 natural_t object_type;
1793 ipc_info_object_type_t object_type;
17941794 mach_vm_address_t object_addr;
17951795 mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */
17961796 mach_msg_type_number_t descriptionCnt;
lib/libc/include/any-macos-any/mach/mach_traps.h+5
......@@ -68,6 +68,7 @@
6868
6969#include <stdint.h>
7070
71#include <mach/error.h>
7172#include <mach/std_types.h>
7273#include <mach/mach_types.h>
7374#include <mach/kern_return.h>
......@@ -296,6 +297,10 @@ extern kern_return_t debug_control_port_for_pid(
296297 int pid,
297298 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
300305__END_DECLS
301306
lib/libc/include/any-macos-any/mach/machine.h+5
......@@ -332,6 +332,9 @@ typedef integer_t cpu_threadtype_t;
332332#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */
333333#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */
334334#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
336339/*
337340 * ARM64 subtypes
......@@ -406,6 +409,8 @@ typedef integer_t cpu_threadtype_t;
406409#define CPUFAMILY_ARM_BRAVA 0x17d5b93a
407410#define CPUFAMILY_ARM_TAHITI 0x75d4acb9
408411#define CPUFAMILY_ARM_TUPAI 0x204526d0
412#define CPUFAMILY_ARM_THERA 0xab345f09
413#define CPUFAMILY_ARM_TILOS 0x01d7a72b
409414
410415/* Described in rdar://64125549 */
411416#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;
839839#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015
840840/* compatibility: no longer a returned error */
841841#define MACH_SEND_NO_GRANT_DEST 0x10000016
842/* The destination port doesn't accept ports in body */
842/* compatibility: no longer a returned error */
843843#define MACH_SEND_MSG_FILTERED 0x10000017
844844/* Message send was rejected by message filter */
845845#define MACH_SEND_AUX_TOO_SMALL 0x10000018
......@@ -885,7 +885,6 @@ typedef kern_return_t mach_msg_return_t;
885885/* invalid receive arguments, receive has not started */
886886
887887
888
889888__BEGIN_DECLS
890889
891890/*
lib/libc/include/any-macos-any/mach/port.h+133-49
......@@ -152,28 +152,12 @@ typedef mach_port_t *mach_port_array_t;
152152 * and reused too quickly [to catch right/reference counting bugs].
153153 * The dividing line between the constituent parts is exposed so
154154 * that efficient "mach_port_name_t to data structure pointer"
155 * conversion implementation can be made. But it is possible
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 *
155 * conversion implementation can be made.
160156 */
161157
162#ifndef NO_PORT_GEN
163
164158#define MACH_PORT_INDEX(name) ((name) >> 8)
165159#define MACH_PORT_GEN(name) (((name) & 0xff) << 24)
166#define MACH_PORT_MAKE(index, gen) \
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
160#define MACH_PORT_MAKE(index, gen) (((index) << 8) | ((gen) >> 24))
177161
178162/*
179163 * These are the different rights a task may have for a port.
......@@ -281,7 +265,7 @@ typedef struct mach_port_limits {
281265#define MACH_PORT_STATUS_FLAG_REVIVE 0x10
282266#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20
283267#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40
284#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80
268#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80 /* Obsolete */
285269
286270typedef struct mach_port_info_ext {
287271 mach_port_status_t mpie_status;
......@@ -344,36 +328,95 @@ typedef struct mach_service_port_info {
344328
345329typedef 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
347347/*
348348 * Flags for mach_port_options (used for
349349 * invocation of mach_port_construct).
350350 * Indicates attributes to be set for the newly
351351 * allocated port.
352352 */
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
371414/*
372415 * Structure to define optional attributes for a newly
373416 * constructed port.
374417 */
375418typedef struct mach_port_options {
376 uint32_t flags; /* Flags defining attributes for port */
419 uint32_t flags;
377420 mach_port_limits_t mpl; /* Message queue limit for port */
378421 union {
379422 uint64_t reserved[2]; /* Reserved */
......@@ -405,6 +448,7 @@ typedef mach_port_options_t *mach_port_options_ptr_t;
405448 * but are truly an enum, please add new values in the "holes".
406449 */
407450enum mach_port_guard_exception_codes {
451 kGUARD_EXC_NONE = 0, /* never sent */
408452 kGUARD_EXC_DESTROY = 1,
409453 kGUARD_EXC_MOD_REFS = 2,
410454 kGUARD_EXC_INVALID_OPTIONS = 3,
......@@ -413,9 +457,14 @@ enum mach_port_guard_exception_codes {
413457 kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6,
414458 kGUARD_EXC_SERVICE_PORT_VIOLATION_FATAL = 7, /* unused, for future sp defense enablement */
415459 kGUARD_EXC_UNGUARDED = 8,
460 kGUARD_EXC_KOBJECT_REPLY_PORT_SEMANTICS = 9,
461 kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 10,
416462 kGUARD_EXC_INCORRECT_GUARD = 16,
417463 kGUARD_EXC_IMMOVABLE = 32,
418464 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,
419468 kGUARD_EXC_MSG_FILTERED = 128,
420469 /* start of [optionally] non-fatal guards */
421470 kGUARD_EXC_INVALID_RIGHT = 256,
......@@ -434,40 +483,75 @@ enum mach_port_guard_exception_codes {
434483 kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */
435484 kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused, for future sp defense enablement */
436485 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,
437489 kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21,
438490 kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22,
439 kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 1u << 23,
440491};
441492
442493#define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED
443494#define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME
444495
496
445497/*
446498 * Mach port guard flags.
447499 */
448#define MPG_FLAGS_NONE (0x00ull)
500#define MPG_FLAGS_NONE 0x00
449501
450502/*
451503 * These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions.
452504 */
453#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56)
454#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56)
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)
505#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER 0x04
506#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA 0x10
459507
460508/*
461509 * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions.
462510 */
463#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56)
464#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY (0x02ull << 56)
465#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN (0x04ull << 56)
511#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC 0x01
512#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY 0x02
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
467549/*
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.
469551 */
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
472556/*
473557 * 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;
511511#define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \
512512 (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
514524/*
515525 * Type to control EXC_GUARD delivery options for a task
516526 * 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 {
121121 TASK_NONUI_APPLICATION = 6,
122122 TASK_DEFAULT_APPLICATION = 7,
123123 TASK_DARWINBG_APPLICATION = 8,
124 TASK_USER_INIT_APPLICATION = 9,
124125} task_role_t;
125126
126127struct task_category_policy {
lib/libc/include/any-macos-any/mach/thread_info.h-1
......@@ -74,7 +74,6 @@
7474#include <mach/time_value.h>
7575#include <mach/message.h>
7676#include <mach/machine/vm_types.h>
77
7877/*
7978 * Generic information structure to allow for expansion.
8079 */
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;
228228 (sizeof(vm_region_submap_info_data_t) / sizeof(natural_t)))
229229
230230struct vm_region_submap_info_64 {
231 /* v0 fields */
231232 vm_prot_t protection; /* present access protection */
232233 vm_prot_t max_protection; /* max avail through vm_prot */
233234 vm_inherit_t inheritance;/* behavior of map/obj on fork */
......@@ -245,18 +246,30 @@ struct vm_region_submap_info_64 {
245246 vm_behavior_t behavior; /* access behavior hint */
246247 vm32_object_id_t object_id; /* obj/map name, not a handle */
247248 unsigned short user_wired_count;
249 unsigned short flags;
250 /* v1 fields */
248251 unsigned int pages_reusable;
252 /* v2 fields */
249253 vm_object_id_t object_id_full;
250254};
251255
252256typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t;
253257typedef 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 */
255264#define VM_REGION_SUBMAP_INFO_V2_SIZE \
256265 (sizeof (vm_region_submap_info_data_64_t))
266
267/* v1 size is v2 size minus v2's new fields */
257268#define VM_REGION_SUBMAP_INFO_V1_SIZE \
258269 (VM_REGION_SUBMAP_INFO_V2_SIZE - \
259270 sizeof (vm_object_id_t) /* object_id_full */ )
271
272/* v0 size is v1 size minus v1's new fields */
260273#define VM_REGION_SUBMAP_INFO_V0_SIZE \
261274 (VM_REGION_SUBMAP_INFO_V1_SIZE - \
262275 sizeof (unsigned int) /* pages_reusable */ )
......@@ -274,6 +287,10 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t
274287/* set this to the latest version */
275288#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
277294struct vm_region_submap_short_info_64 {
278295 vm_prot_t protection; /* present access protection */
279296 vm_prot_t max_protection; /* max avail through vm_prot */
......@@ -288,6 +305,7 @@ struct vm_region_submap_short_info_64 {
288305 vm_behavior_t behavior; /* access behavior hint */
289306 vm32_object_id_t object_id; /* obj/map name, not a handle */
290307 unsigned short user_wired_count;
308 unsigned short flags;
291309};
292310
293311typedef 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 @@
6666#ifndef _MACH_VM_STATISTICS_H_
6767#define _MACH_VM_STATISTICS_H_
6868
69
70#include <Availability.h>
71#include <os/base.h>
6972#include <stdbool.h>
7073#include <sys/cdefs.h>
7174
......@@ -74,6 +77,8 @@
7477
7578__BEGIN_DECLS
7679
80#pragma mark VM Statistics
81
7782/*
7883 * vm_statistics
7984 *
......@@ -141,7 +146,7 @@ struct vm_statistics64 {
141146 natural_t wire_count; /* # of pages wired down */
142147 uint64_t zero_fill_count; /* # of zero fill pages */
143148 uint64_t reactivations; /* # of pages reactivated */
144 uint64_t pageins; /* # of pageins */
149 uint64_t pageins; /* # of pageins (lifetime) */
145150 uint64_t pageouts; /* # of pageouts */
146151 uint64_t faults; /* # of faults */
147152 uint64_t cow_faults; /* # of copy-on-writes */
......@@ -158,15 +163,17 @@ struct vm_statistics64 {
158163 natural_t speculative_count; /* # of pages speculative */
159164
160165 /* added for rev1 */
161 uint64_t decompressions; /* # of pages decompressed */
162 uint64_t compressions; /* # of pages compressed */
163 uint64_t swapins; /* # of pages swapped in (via compression segments) */
164 uint64_t swapouts; /* # of pages swapped out (via compression segments) */
166 uint64_t decompressions; /* # of pages decompressed (lifetime) */
167 uint64_t compressions; /* # of pages compressed (lifetime) */
168 uint64_t swapins; /* # of pages swapped in via compressor segments (lifetime) */
169 uint64_t swapouts; /* # of pages swapped out via compressor segments (lifetime) */
165170 natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */
166171 natural_t throttled_count; /* # of pages throttled */
167172 natural_t external_page_count; /* # of pages that are file-backed (non-swap) */
168173 natural_t internal_page_count; /* # of pages that are anonymous */
169174 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 */
170177} __attribute__((aligned(8)));
171178
172179typedef struct vm_statistics64 *vm_statistics64_t;
......@@ -232,6 +239,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
232239#define VM_PAGE_QUERY_PAGE_CS_NX 0x400
233240#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800
234241
242#pragma mark User Flags
243
235244/*
236245 * VM allocation flags:
237246 *
......@@ -334,17 +343,27 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
334343__enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
335344 kGUARD_EXC_DEALLOC_GAP = 1,
336345 kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2,
337 kGUARD_EXC_SEC_LOOKUP_DENIED = 3,
338346 kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4,
339 kGUARD_EXC_SEC_RANGE_DENIED = 6,
340 kGUARD_EXC_SEC_ACCESS_FAULT = 7,
341347 kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 8,
342 kGUARD_EXC_SEC_COPY_DENIED = 16,
343 kGUARD_EXC_SEC_SHARING_DENIED = 32,
344 kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT = 64,
348 kGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE = 9,
349 kGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE = 10,
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
345361});
346362
347363
364
365#pragma mark Ledger Tags
366
348367/* current accounting postmark */
349368#define __VM_LEDGER_ACCOUNTING_POSTMARK 2019032600
350369
......@@ -372,6 +391,14 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
372391#define VM_LEDGER_FLAGS_USER (VM_LEDGER_FLAG_NO_FOOTPRINT | VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG)
373392#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 */
375402#define VM_MEMORY_MALLOC 1
376403#define VM_MEMORY_MALLOC_SMALL 2
377404#define VM_MEMORY_MALLOC_LARGE 3
......@@ -400,6 +427,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
400427/* Was a nested pmap (VM_MEMORY_SHARED_PMAP) which has now been unnested */
401428#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
404433// Placeholders for now -- as we analyze the libraries and find how they
405434// use memory, we can make these labels more specific.
......@@ -411,6 +440,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
411440#define VM_MEMORY_JAVA 44
412441#define VM_MEMORY_COREDATA 45
413442#define VM_MEMORY_COREDATA_OBJECTIDS 46
443
414444#define VM_MEMORY_ATS 50
415445#define VM_MEMORY_LAYERKIT 51
416446#define VM_MEMORY_CGIMAGE 52
......@@ -506,6 +536,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
506536/* DHMM data */
507537#define VM_MEMORY_DHMM 84
508538
539/* memory needed for DFR related actions */
540#define VM_MEMORY_DFR 85
509541
510542/* memory allocated by SceneKit.framework */
511543#define VM_MEMORY_SCENEKIT 86
......@@ -562,6 +594,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
562594/* memory allocated by CoreMedia */
563595#define VM_MEMORY_CM_HLS 106
564596
597/* memory allocated for CompositorServices */
598#define VM_MEMORY_COMPOSITOR_SERVICES 107
599
565600/* Reserve 230-239 for Rosetta */
566601#define VM_MEMORY_ROSETTA 230
567602#define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231
......@@ -573,7 +608,21 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
573608#define VM_MEMORY_ROSETTA_10 239
574609
575610/* Reserve 240-255 for application */
576#define VM_MEMORY_APPLICATION_SPECIFIC_1 240
611#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
577626#define VM_MEMORY_APPLICATION_SPECIFIC_16 255
578627
579628#define VM_MEMORY_COUNT 256
lib/libc/include/any-macos-any/mach_debug/ipc_info.h+75
......@@ -70,6 +70,81 @@
7070#include <mach/port.h>
7171#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
73148/*
74149 * Remember to update the mig type definitions
75150 * 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
5555void * __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);
5656void free(void * __unsafe_indexable);
5757void * __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);
5958#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);
6060void * __sized_by_or_null(__size) valloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1);
6161#endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */
6262#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
6767/* rdar://120689514 */
6868int 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
70139__END_DECLS
71140
72141#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;
3939#define __need_size_t
4040#include <stddef.h>
4141#undef __need_size_t
42#endif
42#endif /* size_t */
4343#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
4745__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
4990/* <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);
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);
53_MALLOC_TYPE_AVAILABILITY void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
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);
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);
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);
92__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
93void * __sized_by_or_null(size) malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
94__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
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);
96__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
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);
57104/* 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)*/;
59
105__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
106int 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
61108/* <malloc/malloc.h> */
62109
63110typedef 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);
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);
67_MALLOC_TYPE_AVAILABILITY void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
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);
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);
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);
112__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
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);
114__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
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);
116__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
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
72127__END_DECLS
73128
74129/* Rewrite enablement */
130
75131#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
77139#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos)))
78140#define _MALLOC_TYPE_ENABLED 1
79#endif
141#endif
142#endif
80143#endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */
81144
82145#endif /* MALLOC_TARGET_64BIT */
lib/libc/include/any-macos-any/malloc/malloc.h+157-18
......@@ -2,14 +2,14 @@
22 * Copyright (c) 1999-2023 Apple Computer, Inc. All rights reserved.
33 *
44 * @APPLE_LICENSE_HEADER_START@
5 *
5 *
66 * This file contains Original Code and/or Modifications of Original Code
77 * as defined in and that are subject to the Apple Public Source License
88 * Version 2.0 (the 'License'). You may not use this file except in
99 * compliance with the License. Please obtain a copy of the License at
1010 * http://www.opensource.apple.com/apsl/ and read it before using this
1111 * file.
12 *
12 *
1313 * The Original Code and all software distributed under the License are
1414 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1515 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
......@@ -17,7 +17,7 @@
1717 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
1818 * Please see the License for the specific language governing rights and
1919 * limitations under the License.
20 *
20 *
2121 * @APPLE_LICENSE_HEADER_END@
2222 */
2323
......@@ -62,6 +62,57 @@ __ptrcheck_abi_assume_single()
6262#endif // MALLOC_ZONE_FN_PTR
6363
6464__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
65116/********* Type definitions ************/
66117
67118/*
......@@ -160,8 +211,7 @@ typedef struct _malloc_zone_t {
160211 void * __unsafe_indexable ptr);
161212
162213 /*
163 * Memory allocation with an extensible binary flags option. Currently for
164 * libmalloc-internal zone implementations only - should be NULL otherwise.
214 * Memory allocation with an extensible binary flags option.
165215 * Added in version >= 15.
166216 */
167217 void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_with_options))(
......@@ -188,10 +238,9 @@ typedef struct _malloc_zone_t {
188238 struct _malloc_zone_t *zone, size_t alignment, size_t size,
189239 malloc_type_id_t type_id);
190240
191 /* Must be NULL for non-libmalloc zone implementations */
192241 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,
194 malloc_type_id_t type_id);
242 struct _malloc_zone_t *zone, size_t align, size_t size,
243 uint64_t options, malloc_type_id_t type_id);
195244} malloc_zone_t;
196245
197246/*!
......@@ -352,6 +401,38 @@ extern void malloc_destroy_zone(malloc_zone_t *zone);
352401extern 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);
353402 /* 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
355436extern 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);
356437 /* 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
590671// Version 13:
591672// - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for
592673// setting errno to ENOMEM on failure
593// - malloc_zone_t::try_free_default
674// - malloc_zone_t::try_free_default (libmalloc only, NULL otherwise)
594675// Version 14:
595// malloc_introspection_t::zone_type
676// malloc_introspection_t::zone_type (mandatory, should be 0)
596677// Version 15:
597// malloc_zone_t::malloc_with_options
678// malloc_zone_t::malloc_with_options (optional)
598679// Version 16:
599// malloc_zone_t::malloc_type_malloc
600// malloc_zone_t::malloc_type_calloc
601// malloc_zone_t::malloc_type_realloc
602// malloc_zone_t::malloc_type_memalign
603// malloc_zone_t::malloc_type_malloc_with_options
604
605// These functions are optional and calling them requires two checks:
680// malloc_zone_t::malloc_type_malloc (mandatory)
681// malloc_zone_t::malloc_type_calloc (mandatory)
682// malloc_zone_t::malloc_type_realloc (mandatory)
683// malloc_zone_t::malloc_type_memalign (mandatory)
684// malloc_zone_t::malloc_type_malloc_with_options (optional)
685
686// Zone functions are optional unless specified otherwise above. Calling a zone
687// function requires two checks:
606688// * Check zone version to ensure zone struct is large enough to include the member.
607689// * 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
609748__END_DECLS
610749
611750#endif /* _MALLOC_MALLOC_H_ */
lib/libc/include/any-macos-any/math.h+27-1
......@@ -129,10 +129,18 @@ extern int __math_errhandling(void);
129129 * *
130130 ******************************************************************************/
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 */
132139#define fpclassify(x) \
133140 ( sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) \
134141 : sizeof(x) == sizeof(double) ? __fpclassifyd((double)(x)) \
135142 : __fpclassifyl((long double)(x)))
143#endif /* !defined(__cplusplus) && !__has_feature(modules) */
136144
137145extern int __fpclassifyf(float);
138146extern int __fpclassifyd(double);
......@@ -152,6 +160,7 @@ extern int __fpclassifyl(long double);
152160 Thus, if you compile with -ffast-math, actual function calls are
153161 generated for these utilities. */
154162
163#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
155164#define isnormal(x) \
156165 ( sizeof(x) == sizeof(float) ? __inline_isnormalf((float)(x)) \
157166 : sizeof(x) == sizeof(double) ? __inline_isnormald((double)(x)) \
......@@ -176,6 +185,7 @@ extern int __fpclassifyl(long double);
176185 ( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x)) \
177186 : sizeof(x) == sizeof(double) ? __inline_signbitd((double)(x)) \
178187 : __inline_signbitl((long double)(x)))
188#endif /* !defined(__cplusplus) && !__has_feature(modules) */
179189
180190__header_always_inline int __inline_isfinitef(float);
181191__header_always_inline int __inline_isfinited(double);
......@@ -262,6 +272,13 @@ __header_always_inline int __inline_isnormall(long double __x) {
262272 or similar is specified. These are not available in iOS versions prior
263273 to 6.0. If you need them, you must target that version or later. */
264274
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 */
265282#define isnormal(x) \
266283 ( sizeof(x) == sizeof(float) ? __isnormalf((float)(x)) \
267284 : sizeof(x) == sizeof(double) ? __isnormald((double)(x)) \
......@@ -286,7 +303,8 @@ __header_always_inline int __inline_isnormall(long double __x) {
286303 ( sizeof(x) == sizeof(float) ? __signbitf((float)(x)) \
287304 : sizeof(x) == sizeof(double) ? __signbitd((double)(x)) \
288305 : __signbitl((long double)(x)))
289
306#endif /* !defined(__cplusplus) && !__has_feature(modules) */
307
290308extern int __isnormalf(float);
291309extern int __isnormald(double);
292310extern int __isnormall(long double);
......@@ -546,12 +564,20 @@ extern float fmaf(float, float, float);
546564extern double fma(double, double, double);
547565extern 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 */
549574#define isgreater(x, y) __builtin_isgreater((x),(y))
550575#define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y))
551576#define isless(x, y) __builtin_isless((x),(y))
552577#define islessequal(x, y) __builtin_islessequal((x),(y))
553578#define islessgreater(x, y) __builtin_islessgreater((x),(y))
554579#define isunordered(x, y) __builtin_isunordered((x),(y))
580#endif /* !defined(__cplusplus) && !__has_feature(modules) */
555581
556582#if defined __i386__ || defined __x86_64__
557583/* 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 {
154154
155155#define IFQ_MAXLEN 128
156156#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 */
167157/*
168158 * Message format for use in obtaining information about interfaces
169159 * from sysctl and the routing socket
......@@ -332,6 +322,7 @@ struct ifreq {
332322#define IFRTYPE_FUNCTIONAL_LAST 8
333323 u_int8_t ifru_is_directlink;
334324 u_int8_t ifru_is_vpn;
325 u_int8_t ifru_is_companionlink;
335326 } ifr_ifru;
336327#define ifr_addr ifr_ifru.ifru_addr /* address */
337328#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 {
118118};
119119
120120#define TCPOPT_EOL 0
121#define TCPOLEN_EOL 1
121122#define TCPOPT_NOP 1
123#define TCPOLEN_NOP 1
122124#define TCPOPT_MAXSEG 2
123125#define TCPOLEN_MAXSEG 4
124126#define TCPOPT_WINDOW 3
125127#define TCPOLEN_WINDOW 3
126#define TCPOPT_SACK_PERMITTED 4 /* Experimental */
128#define TCPOPT_SACK_PERMITTED 4 /* SACK capability in SYN */
127129#define TCPOLEN_SACK_PERMITTED 2
128#define TCPOPT_SACK 5 /* Experimental */
130#define TCPOPT_SACK 5
131#define TCPOLEN_SACKHDR 2
129132#define TCPOLEN_SACK 8 /* len of sack block */
130133#define TCPOPT_TIMESTAMP 8
131134#define TCPOLEN_TIMESTAMP 10
lib/libc/include/any-macos-any/netinet6/in6.h+1
......@@ -101,6 +101,7 @@
101101
102102#include <sys/_types.h>
103103#include <sys/_types/_sa_family_t.h>
104#include <sys/_types/_in_port_t.h>
104105
105106/*
106107 * Identification of the network protocol stack
lib/libc/include/any-macos-any/os/availability.h+15-7
......@@ -115,6 +115,9 @@
115115 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
116116 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
117117 *
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 *
118121 * Examples:
119122 *
120123 * API_DEPRECATED("Deprecated", macos(10.4, 10.8))
......@@ -143,6 +146,10 @@
143146 * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
144147 * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
145148 *
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 *
146153 * Examples:
147154 *
148155 * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0))
......@@ -151,6 +158,7 @@
151158 * API_OBSOLETED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4, 12.0), ios(9.0, 10.0, 11.0))
152159 * API_OBSOLETED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6, 11.0), watchos(2.0, 3.0, 4.0))
153160 */
161
154162 #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__)
155163 #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 @@
189197#endif
190198
191199#ifndef API_AVAILABLE_END
192 #define API_AVAILABLE_END(...)
200 #define API_AVAILABLE_END
193201#endif
194202
195203#ifndef API_DEPRECATED
......@@ -201,7 +209,7 @@
201209#endif
202210
203211#ifndef API_DEPRECATED_END
204 #define API_DEPRECATED_END(...)
212 #define API_DEPRECATED_END
205213#endif
206214
207215#ifndef API_DEPRECATED_WITH_REPLACEMENT
......@@ -213,7 +221,7 @@
213221#endif
214222
215223#ifndef API_DEPRECATED_WITH_REPLACEMENT_END
216 #define API_DEPRECATED_WITH_REPLACEMENT_END(...)
224 #define API_DEPRECATED_WITH_REPLACEMENT_END
217225#endif
218226
219227#ifndef API_OBSOLETED
......@@ -225,7 +233,7 @@
225233#endif
226234
227235#ifndef API_OBSOLETED_END
228 #define API_OBSOLETED_END(...)
236 #define API_OBSOLETED_END
229237#endif
230238
231239#ifndef API_OBSOLETED_WITH_REPLACEMENT
......@@ -237,7 +245,7 @@
237245#endif
238246
239247#ifndef API_OBSOLETED_WITH_REPLACEMENT_END
240 #define API_OBSOLETED_WITH_REPLACEMENT_END(...)
248 #define API_OBSOLETED_WITH_REPLACEMENT_END
241249#endif
242250
243251#ifndef API_UNAVAILABLE
......@@ -249,7 +257,7 @@
249257#endif
250258
251259#ifndef API_UNAVAILABLE_END
252 #define API_UNAVAILABLE_END(...)
260 #define API_UNAVAILABLE_END
253261#endif
254262
255263#if __has_include(<AvailabilityProhibitedInternal.h>)
......@@ -269,7 +277,7 @@
269277#endif
270278
271279#ifndef SPI_AVAILABLE_END
272 #define SPI_AVAILABLE_END(...)
280 #define SPI_AVAILABLE_END
273281#endif
274282
275283#ifndef SPI_DEPRECATED
lib/libc/include/any-macos-any/os/base.h+5
......@@ -71,7 +71,11 @@
7171#define OS_WEAK __attribute__((__weak__))
7272#define OS_WEAK_IMPORT __attribute__((__weak_import__))
7373#define OS_NOINLINE __attribute__((__noinline__))
74#ifndef __BUILDING_XNU_LIBRARY__
7475#define OS_ALWAYS_INLINE __attribute__((__always_inline__))
76#else /* __BUILDING_XNU_LIBRARY__ */
77#define OS_ALWAYS_INLINE
78#endif /* __BUILDING_XNU_LIBRARY__ */
7579#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__))
7680#define OS_ALIGNED(n) __attribute__((__aligned__((n))))
7781#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y)))
......@@ -343,4 +347,5 @@ typedef void (^os_block_t)(void);
343347#define OS_COUNTED_BY(N) __counted_by(N)
344348#define OS_SIZED_BY(N) __sized_by(N)
345349
350
346351#endif // __OS_BASE__
lib/libc/include/any-macos-any/os/workgroup_base.h+6
......@@ -26,6 +26,12 @@
2626#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN
2727#define OS_WORKGROUP_ASSUME_NONNULL_END
2828#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
2935#define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__))
3036#define OS_WORKGROUP_EXPORT OS_EXPORT
3137#define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED
lib/libc/include/any-macos-any/secure/_common.h+2
......@@ -39,5 +39,7 @@
3939
4040#define __darwin_obsz0(object) __builtin_object_size (object, 0)
4141#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
4345#endif
lib/libc/include/any-macos-any/secure/_stdio.h+72-31
......@@ -35,54 +35,95 @@ _LIBC_SINGLE_BY_DEFAULT()
3535
3636#if _USE_FORTIFY_LEVEL > 0
3737
38#ifndef __has_builtin
39#define _undef__has_builtin
40#define __has_builtin(x) 0
41#endif
38extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
39 const char * __restrict, ...);
40extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
41 const char * __restrict, va_list);
4242
43/* sprintf, vsprintf, snprintf, vsnprintf */
44#if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__)
4543extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
4644 const char * __restrict, ...);
45extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
46 const char * __restrict, va_list);
4747
48#undef sprintf
49#define sprintf(str, ...) \
50 __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
48#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
49
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__)
5172#endif
5273
53#if __DARWIN_C_LEVEL >= 200112L
54#if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__)
55extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
56 const char * __restrict, ...);
74#if __has_builtin(__builtin___snprintf_chk)
75#define __snprintf_chk_func(str, len, flag, ...) \
76 __builtin___snprintf_chk (str, len, flag, __darwin_obsz(str), __VA_ARGS__)
77#endif
5778
58#undef snprintf
59#define snprintf(str, len, ...) \
60 __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)
79#if __has_builtin(__builtin___vsnprintf_chk)
80#define __vsnprintf_chk_func(str, len, flag, format, ap) \
81 __builtin___vsnprintf_chk (str, len, flag, __darwin_obsz(str), format, ap)
6182#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
67113#undef vsprintf
68#define vsprintf(str, format, ap) \
69 __builtin___vsprintf_chk (str, 0, __darwin_obsz(str), format, ap)
114#define vsprintf(str, ...) __vsprintf_chk_func (str, 0, __VA_ARGS__)
70115#endif
71116
72#if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__)
73extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
74 const char * __restrict, va_list);
117#ifdef __snprintf_chk_func
118#undef snprintf
119#define snprintf(str, len, ...) __snprintf_chk_func (str, len, 0, __VA_ARGS__)
120#endif
75121
122#ifdef __vsnprintf_chk_func
76123#undef vsnprintf
77#define vsnprintf(str, len, format, ap) \
78 __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
124#define vsnprintf(str, len, ...) __vsnprintf_chk_func (str, len, 0, __VA_ARGS__)
79125#endif
80126
81#endif /* __DARWIN_C_LEVEL >= 200112L */
82
83#ifdef _undef__has_builtin
84#undef _undef__has_builtin
85#undef __has_builtin
86127#endif
87128
88129#endif /* _USE_FORTIFY_LEVEL > 0 */
lib/libc/include/any-macos-any/secure/_string.h+220-75
......@@ -34,117 +34,262 @@
3434
3535#if _USE_FORTIFY_LEVEL > 0
3636
37/* <rdar://problem/12622659> */
38#if defined(__clang__) && \
39 ((defined(__apple_build_version__) && __apple_build_version__ >= 4260006) || \
40 (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))
41#define __HAS_FIXED_CHK_PROTOTYPES 1
42#else
43#define __HAS_FIXED_CHK_PROTOTYPES 0
37#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
38
39#if __has_builtin(__builtin___memcpy_chk)
40static inline void *_LIBC_SIZE(__n)
41__memcpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, size_t __n) {
42 return _LIBC_FORGE_PTR(__builtin___memcpy_chk(__dst, __src, __n, __darwin_obsz0(__dst)), __n);
43}
44#define __memcpy_chk_func __memcpy_ptrchk
4445#endif
4546
46/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
47 strncpy, stpncpy, strcat, strlcat, and strncat */
47#if __has_builtin(__builtin___memmove_chk)
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 || \
50 defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
51#if __has_builtin(__builtin___memccpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
52#undef memccpy
53/* void *memccpy(void *dst, const void *src, int c, size_t n) */
54#define memccpy(dest, ...) \
55 __builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
55#if __has_builtin(__builtin___memset_chk)
56static inline void *_LIBC_SIZE(__n)
57__memset_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, int __c, size_t __n) {
58 return _LIBC_FORGE_PTR(__builtin___memset_chk(__dst, __c, __n, __darwin_obsz0(__dst)), __n);
59}
60#define __memset_chk_func __memset_ptrchk
5661#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
5772#endif
5873
59#if __has_builtin(__builtin___memcpy_chk) || defined(__GNUC__)
60#undef memcpy
61/* void *memcpy(void *dst, const void *src, size_t n) */
62#define memcpy(dest, ...) \
74#if __has_builtin(__builtin___strlcat_chk)
75static inline size_t
76__strlcat_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) {
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, ...) \
63127 __builtin___memcpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
64128#endif
65129
66#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)
67#undef memmove
68/* void *memmove(void *dst, const void *src, size_t len) */
69#define memmove(dest, ...) \
130#if __supports_builtin(__builtin___memmove_chk, 0, 0)
131#define __memmove_chk_func(dest, ...) \
70132 __builtin___memmove_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
71133#endif
72134
73#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)
74#undef memset
75/* void *memset(void *b, int c, size_t len) */
76#define memset(dest, ...) \
135#if __supports_builtin(__builtin___memset_chk, 0, 0)
136#define __memset_chk_func(dest, ...) \
77137 __builtin___memset_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
78138#endif
79139
80#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__)
81#undef strcpy
82/* char *strcpy(char *dst, const char *src) */
83#define strcpy(dest, ...) \
84 __builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
140#if __supports_builtin(__builtin___stpncpy_chk, 4, 7)
141#define __stpncpy_chk_func(dest, ...) \
142 __builtin___stpncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
85143#endif
86144
87#if __DARWIN_C_LEVEL >= 200809L
88#if __has_builtin(__builtin___stpcpy_chk) || defined(__GNUC__)
89#undef stpcpy
90/* char *stpcpy(char *dst, const char *src) */
91#define stpcpy(dest, ...) \
92 __builtin___stpcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
145#if __supports_builtin(__builtin___strncpy_chk, 0, 0)
146#define __strncpy_chk_func(dest, ...) \
147 __builtin___strncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
93148#endif
94#endif /* __DARWIN_C_LEVEL >= 200809L */
95149
96#if __DARWIN_C_LEVEL >= 200809L
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 */
150#if __is_modern_darwin(70000, 1090)
104151
105#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
106#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 || \
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, ...) \
152#if __supports_builtin(__builtin___strlcpy_chk, 0, 0)
153#define __strlcpy_chk_func(dest, ...) \
112154 __builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
113155#endif
114156
115#if __has_builtin(__builtin___strlcat_chk) && __HAS_FIXED_CHK_PROTOTYPES
116#undef strlcat
117/* size_t strlcat(char *dst, const char *source, size_t size) */
118#define strlcat(dest, ...) \
157#if __supports_builtin(__builtin___strlcat_chk, 0, 0)
158#define __strlcat_chk_func(dest, ...) \
119159 __builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
120160#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__)
125#undef strncpy
126/* char *strncpy(char *dst, const char *src, size_t n) */
127#define strncpy(dest, ...) \
128 __builtin___strncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
162#if __supports_builtin(__builtin___memccpy_chk, 10, 0)
163#define __memccpy_chk_func(dest, ...) \
164 __builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
129165#endif
130166
131#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__)
132#undef strcat
133/* char *strcat(char *s1, const char *s2) */
134#define strcat(dest, ...) \
167#endif /* __is_modern_darwin(70000, 1090) */
168
169
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, ...) \
135182 __builtin___strcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
136183#endif
137184
138185#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)
139#if __has_builtin(__builtin___strncat_chk) || defined(__GNUC__)
140#undef strncat
141/* char *strncat(char *s1, const char *s2, size_t n) */
142#define strncat(dest, ...) \
186#if __supports_builtin(__builtin___strncat_chk, 0, 0)
187#define __strncat_chk_func(dest, ...) \
143188 __builtin___strncat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
144189#endif
145190#endif
146191
147#undef __HAS_FIXED_CHK_PROTOTYPES
192
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
149293#endif /* _USE_FORTIFY_LEVEL > 0 */
294
150295#endif /* _SECURE__STRING_H_ */
lib/libc/include/any-macos-any/secure/_strings.h+43-6
......@@ -39,18 +39,55 @@
3939/* Removed in Issue 7 */
4040#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
4382#undef bcopy
4483/* void bcopy(const void *src, void *dst, size_t len) */
45#define bcopy(src, dest, ...) \
46 __builtin___memmove_chk (dest, src, __VA_ARGS__, __darwin_obsz0 (dest))
84#define bcopy(...) __bcopy_chk_func (__VA_ARGS__)
4785#endif
4886
49#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)
87#ifdef __bzero_chk_func
5088#undef bzero
5189/* void bzero(void *s, size_t n) */
52#define bzero(dest, ...) \
53 __builtin___memset_chk (dest, 0, __VA_ARGS__, __darwin_obsz0 (dest))
90#define bzero(...) __bzero_chk_func (__VA_ARGS__)
5491#endif
5592
5693#endif
lib/libc/include/any-macos-any/setjmp.h-3
......@@ -51,9 +51,6 @@ typedef int jmp_buf[_JBLEN];
5151typedef int sigjmp_buf[_JBLEN + 1];
5252
5353#elif defined(__arm__) && !defined(__ARM_ARCH_7K__)
54
55#include <machine/signal.h>
56
5754/*
5855 * _JBLEN is number of ints required to save the following:
5956 * 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,
6969 char *const __argv[__restrict],
7070 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
7278int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos);
7379
7480int 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 *,
174180 int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos);
175181
176182int 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
179185int 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
182188__END_DECLS
183189
lib/libc/include/any-macos-any/sys/_symbol_aliasing.h+36-18
......@@ -341,18 +341,6 @@
341341#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)
342342#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
356344#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600
357345#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x
358346#else
......@@ -557,6 +545,24 @@
557545#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x)
558546#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
560566#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000
561567#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x
562568#else
......@@ -857,12 +863,6 @@
857863#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)
858864#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
866866#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200
867867#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x
868868#else
......@@ -983,3 +983,21 @@
983983#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x)
984984#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 @@
4343#define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */
4444#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
4649typedef struct secure_boot_cryptex_args {
4750 u_int32_t sbc_version;
4851 u_int32_t sbc_4cc;
lib/libc/include/any-macos-any/sys/attr.h+6-1
......@@ -50,9 +50,10 @@
5050#define FSOPT_PACK_INVAL_ATTRS 0x00000008
5151
5252
53#define FSOPT_ATTR_CMN_EXTENDED 0x00000020
53#define FSOPT_ATTR_CMN_EXTENDED 0x00000020
5454#define FSOPT_RETURN_REALDEV 0x00000200
5555#define FSOPT_NOFOLLOW_ANY 0x00000800
56#define FSOPT_RESOLVE_BENEATH 0x00001000
5657
5758/* we currently aren't anywhere near this amount for a valid
5859 * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2
......@@ -369,6 +370,9 @@ typedef struct vol_capabilities_attr {
369370 *
370371 * VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE
371372 * fcntl.
373 *
374 * VOL_CAP_INT_BARRIERFSYNC: When set, the volume supports the F_BARRIERFSYNC
375 * fcntl.
372376 */
373377#define VOL_CAP_INT_SEARCHFS 0x00000001
374378#define VOL_CAP_INT_ATTRLIST 0x00000002
......@@ -393,6 +397,7 @@ typedef struct vol_capabilities_attr {
393397#define VOL_CAP_INT_RENAME_SECLUDE 0x00200000
394398#define VOL_CAP_INT_ATTRIBUTION_TAG 0x00400000
395399#define VOL_CAP_INT_PUNCHHOLE 0x00800000
400#define VOL_CAP_INT_BARRIERFSYNC 0x01000000
396401
397402typedef struct vol_attributes_attr {
398403 attribute_set_t validattr;
lib/libc/include/any-macos-any/sys/cdefs.h+40-14
......@@ -199,7 +199,16 @@
199199 */
200200#define __exported __attribute__((__visibility__("default")))
201201#define __exported_push _Pragma("GCC visibility push(default)")
202#ifndef __BUILDING_XNU_LIBRARY__
203#define __exported_push_hidden _Pragma("GCC visibility push(hidden)")
202204#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
204213/* __deprecated causes the compiler to produce a warning when encountering
205214 * code using the deprecated functionality.
......@@ -509,12 +518,14 @@
509518 * for plain C (see also <ptrcheck.h>).
510519 *
511520 * Attribute __unsafe_buffer_usage can be used to label functions that should be
512 * avoided as they may perform or otherwise introduce unsafe buffer
513 * manipulation operations.
521 * avoided as they may perform or otherwise introduce unsafe buffer manipulation
522 * operations. The attribute can also be attached to class/struct fields that
523 * are used in unsafe buffer manipulations.
514524 *
515 * Calls to such functions are flagged by -Wunsafe-buffer-usage, similarly to
525 * Calls to attribute annotated functions are flagged by -Wunsafe-buffer-usage, similar to
516526 * 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.
518529 *
519530 * // An unsafe function that needs to be avoided.
520531 * __unsafe_buffer_usage
......@@ -527,14 +538,30 @@
527538 * int array[5];
528539 *
529540 * // 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]
531542 * // 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]
533544 * // Checked buffer manipulation, with bounds information automatically
534545 * // preserved for the purposes of runtime checks in standard library:
535546 * foo(array); // no warning
536547 * }
537548 *
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 *
538565 * While annotating a function as __unsafe_buffer_usage has an effect similar
539566 * to annotating it as __deprecated, the __unsafe_buffer_usage attribute
540567 * should be used whenever the resulting warning needs to be controlled
......@@ -542,11 +569,12 @@
542569 * don't attempt to achieve bounds safety this way) as opposed to -Wdeprecated
543570 * (enabled in most codebases).
544571 *
545 * The attribute does NOT suppress -Wunsafe-buffer-usage warnings inside
546 * the function's body; it simply introduces new warnings at each call site
547 * to help the developers avoid the function entirely. Most of the time
548 * it does not make sense to annotate a function as __unsafe_buffer_usage
549 * without providing the users with a safe alternative.
572 * The attribute suppresses all -Wunsafe-buffer-usage warnings inside the
573 * function's body as it is explictly marked as unsafe by the user and
574 * introduces new warnings at each call site to help the developers avoid the
575 * function entirely. Most of the time it does not make sense to annotate a
576 * function as __unsafe_buffer_usage without providing the users with a safe
577 * alternative.
550578 *
551579 * Pragmas __unsafe_buffer_usage_begin and __unsafe_buffer_usage_end
552580 * annotate a range of code as intentionally containing unsafe buffer
......@@ -560,9 +588,7 @@
560588 *
561589 * These pragmas are NOT a way to mass-annotate functions with the attribute
562590 * __unsafe_buffer_usage. Functions declared within the pragma range
563 * do NOT get annotated automatically. In some rare situations it makes sense
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.
591 * do NOT get annotated automatically.
566592 */
567593#if __has_cpp_attribute(clang::unsafe_buffer_usage)
568594#define __has_safe_buffers 1
lib/libc/include/any-macos-any/sys/clonefile.h+5-4
......@@ -30,10 +30,11 @@
3030#define _SYS_CLONEFILE_H_
3131
3232/* Options for clonefile calls */
33#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */
34#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information 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 */
33#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */
34#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information 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 */
37#define CLONE_RESOLVE_BENEATH 0x0010 /* path must reside in the hierarchy beneath the starting directory */
3738
3839
3940#include <sys/cdefs.h>
lib/libc/include/any-macos-any/sys/errno.h+6-1
......@@ -260,7 +260,12 @@ __END_DECLS
260260
261261#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
262262#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 */
264269#endif
265270
266271#endif /* _SYS_ERRNO_H_ */
lib/libc/include/any-macos-any/sys/fcntl.h+7-11
......@@ -1,5 +1,5 @@
11/*
2 * Copyright (c) 2000-2022 Apple Inc. All rights reserved.
2 * Copyright (c) 2000-2025 Apple Inc. All rights reserved.
33 *
44 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
55 *
......@@ -126,6 +126,7 @@
126126#define O_TRUNC 0x00000400 /* truncate to zero length */
127127#define O_EXCL 0x00000800 /* error if already exists */
128128#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
131132#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
......@@ -181,6 +182,8 @@
181182#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */
182183#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */
183184#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 */
184187#endif
185188#endif
186189
......@@ -258,10 +261,8 @@
258261#define F_THAW_FS 54 /* "thaw" all fs operations */
259262#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */
260263
261
262264#define F_ADDSIGS 59 /* add detached signatures */
263265
264
265266#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */
266267
267268#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */
......@@ -282,7 +283,6 @@
282283
283284/* See F_DUPFD_CLOEXEC below for 67 */
284285
285
286286#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */
287287#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */
288288
......@@ -300,10 +300,8 @@
300300
301301#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */
302302
303
304303#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
307305#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */
308306
309307#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
......@@ -314,7 +312,6 @@
314312#define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */
315313#endif
316314
317
318315#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */
319316#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 @@
335332
336333#define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2))
337334
338
339335#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */
340336
341337#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
343340#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */
344341
......@@ -359,7 +356,6 @@
359356#define F_UNLCK 2 /* unlock */
360357#define F_WRLCK 3 /* exclusive or write lock */
361358
362
363359/*
364360 * [XSI] The values used for l_whence shall be defined as described
365361 * in <unistd.h>
......@@ -409,6 +405,7 @@ struct flocktimeout {
409405 struct flock fl; /* flock passed for file locking */
410406 struct timespec timeout; /* timespec struct for timeout */
411407};
408
412409#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
413410
414411#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
......@@ -521,7 +518,6 @@ typedef struct fspecread {
521518 off_t fsr_length; /* IN: size of the region */
522519} fspecread_t;
523520
524
525521/* fattributiontag_t used by F_ATTRIBUTION_TAG */
526522#define ATTRIBUTION_NAME_MAX 255
527523typedef struct fattributiontag {
......@@ -573,7 +569,6 @@ struct log2phys {
573569#define O_POPUP 0x80000000 /* force window to popup on open */
574570#define O_ALERT 0x20000000 /* small, clean popup window */
575571
576
577572#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
628623#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
629624__END_DECLS
630625
626
631627#endif /* !_SYS_FCNTL_H_ */
lib/libc/include/any-macos-any/sys/kern_control.h+1-1
......@@ -1,5 +1,5 @@
11/*
2 * Copyright (c) 2000-2004, 2012-2016 Apple Inc. All rights reserved.
2 * Copyright (c) 2000-2004, 2012-2025 Apple Inc. All rights reserved.
33 *
44 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
55 *
lib/libc/include/any-macos-any/sys/mount.h+4-2
......@@ -384,7 +384,8 @@ struct netfs_status {
384384#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */
385385#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */
386386#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,
413414 GRAFTDMG_CRYPTEX_BOOT = 1,
414415 GRAFTDMG_CRYPTEX_PREBOOT = 2,
415416 GRAFTDMG_CRYPTEX_DOWNLEVEL = 3,
416 // Reserved: CRYPTEX1_AUTH_ENV_GENERIC = 4,
417 GRAFTDMG_CRYPTEX_AUTH_ENV_GENERIC = 4,
417418 // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5,
418419 GRAFTDMG_CRYPTEX_PDI_NONCE = 6,
419420 GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,
......@@ -459,6 +460,7 @@ int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs);
459460int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA);
460461#endif /* !__DARWIN_ONLY_64_BIT_INO_T */
461462int unmount(const char *, int);
463int funmount(int, int) __OSX_AVAILABLE(16.0) __IOS_AVAILABLE(19.0) __TVOS_AVAILABLE(19.0) __WATCHOS_AVAILABLE(12.0);
462464int getvfsbyname(const char *, struct vfsconf *);
463465__END_DECLS
464466
lib/libc/include/any-macos-any/sys/paths.h+11
......@@ -40,5 +40,16 @@
4040#define _PATH_RSRCNAME "rsrc"
4141#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
4354#endif /* __APPLE_API_PRIVATE */
4455#endif /* !_SYS_PATHS_H_ */
lib/libc/include/any-macos-any/sys/proc.h+1
......@@ -86,6 +86,7 @@
8686struct session;
8787struct pgrp;
8888struct proc;
89struct proc_ident;
8990
9091/* Exported fields for kern sysctls */
9192struct extern_proc {
lib/libc/include/any-macos-any/sys/proc_info.h+8
......@@ -349,6 +349,11 @@ struct proc_threadwithpathinfo {
349349 struct vnode_info_path pvip;
350350};
351351
352struct proc_archinfo {
353 cpu_type_t p_cputype;
354 cpu_subtype_t p_cpusubtype;
355};
356
352357/*
353358 * Socket
354359 */
......@@ -758,6 +763,9 @@ struct channel_fdinfo {
758763#define PROC_PID_RUSAGE 16
759764#define PROC_PID_RUSAGE_SIZE 0
760765
766#define PROC_PIDARCHINFO 19
767#define PROC_PIDARCHINFO_SIZE (sizeof(struct proc_archinfo))
768
761769/* Flavors for proc_pidfdinfo */
762770
763771#define PROC_PIDFDVNODEINFO 1
lib/libc/include/any-macos-any/sys/resource.h+4
......@@ -514,6 +514,7 @@ struct proc_rlimit_control_wakeupmon {
514514#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8
515515#define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9
516516#define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10
517#define IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS 14
517518
518519/* scope */
519520#define IOPOL_SCOPE_PROCESS 0
......@@ -564,6 +565,9 @@ struct proc_rlimit_control_wakeupmon {
564565#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0
565566#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
567571#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 {
164164#define SIGEV_NONE 0 /* No async notification */
165165#define SIGEV_SIGNAL 1 /* aio - completion notification */
166166#define SIGEV_THREAD 3 /* [NOTIMP] [RTS] call notification function */
167#define SIGEV_KEVENT 4 /* Generate a kevent */
167168
168169struct sigevent {
169170 int sigev_notify; /* Notification type */
lib/libc/include/any-macos-any/sys/stdio.h+1
......@@ -37,6 +37,7 @@
3737#define RENAME_EXCL 0x00000004
3838#define RENAME_RESERVED1 0x00000008
3939#define RENAME_NOFOLLOW_ANY 0x00000010
40#define RENAME_RESOLVE_BENEATH 0x00000020
4041#endif
4142
4243#if __DARWIN_C_LEVEL >= 200809L
lib/libc/include/any-macos-any/sys/sysctl.h+2-1
......@@ -154,7 +154,8 @@ struct ctlname {
154154#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */
155155#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */
156156#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
159160/*
160161 * 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 @@
7272#include <_types.h>
7373#include <sys/unistd.h>
7474#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 */
7579#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) */
7684#include <sys/_types/_gid_t.h>
7785#include <sys/_types/_intptr_t.h>
7886#include <sys/_types/_off_t.h>
......@@ -517,8 +525,6 @@ extern int optind, opterr, optopt;
517525__END_DECLS
518526#endif /* __DARWIN_C_LEVEL >= 199209L */
519527
520
521
522528/* Additional functionality provided by:
523529 * POSIX.1c-1995,
524530 * POSIX.1i-1995,
......@@ -526,7 +532,6 @@ __END_DECLS
526532 */
527533
528534#if __DARWIN_C_LEVEL >= 199506L
529#include <_ctermid.h>
530535 /* These F_* are really XSI or Issue 6 */
531536#define F_ULOCK 0 /* unlock locked section */
532537#define F_LOCK 1 /* lock a section for exclusive use */
......@@ -536,6 +541,11 @@ __END_DECLS
536541 __BEGIN_DECLS
537542
538543/* Begin XSI */
544/* Removed in Issue 7 */
545#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
546#include <_ctermid.h>
547#endif
548
539549/* Removed in Issue 6 */
540550#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
541551#if !defined(_POSIX_C_SOURCE)
......@@ -565,7 +575,7 @@ char *_LIBC_CSTR getpass(const char *) __POSIX_C_DEPRECATED(199506L);
565575
566576/* Removed in Issue 7 */
567577#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() */
569579#endif
570580
571581int 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
9393#if defined(__XPC_TEST__) && __XPC_TEST__
9494#define XPC_TESTSTATIC
9595#define XPC_TESTEXTERN extern
96#define XPC_TESTNORETURN
9697#else // defined(__XPC_TEST__) && __XPC_TEST__
9798#define XPC_TESTSTATIC static
99#define XPC_TESTNORETURN XPC_NORETURN
98100#endif // defined(__XPC_TEST__) && __XPC_TEST__
99101
100102#if __has_feature(objc_arc)
......@@ -242,6 +244,8 @@ __BEGIN_DECLS
242244#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg)
243245#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
245249__END_DECLS
246250
247251#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);
141141 * The GCD queue to which the event handler block will be submitted. This
142142 * parameter may be NULL, in which case the connection's target queue will be
143143 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
144 * The target queue may be changed later with a call to
145 * xpc_connection_set_target_queue().
144 * The target queue may be changed prior to the connection being activated with
145 * a call to xpc_connection_set_target_queue().
146146 *
147147 * @result
148148 * A new connection object. The caller is responsible for disposing of the
......@@ -178,8 +178,8 @@ xpc_connection_create(const char * _Nullable name,
178178 * The GCD queue to which the event handler block will be submitted. This
179179 * parameter may be NULL, in which case the connection's target queue will be
180180 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
181 * The target queue may be changed later with a call to
182 * xpc_connection_set_target_queue().
181 * The target queue may be changed prior to the connection being activated with
182 * a call to xpc_connection_set_target_queue().
183183 *
184184 * @param flags
185185 * Additional attributes with which to create the connection.
......@@ -240,14 +240,11 @@ xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint);
240240 * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
241241 *
242242 * @discussion
243 * Setting the target queue is asynchronous and non-preemptive and therefore
244 * this method will not interrupt the execution of an already-running event
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.
243 * Once a connection is activated, this method may no longer be called and the
244 * target queue may no longer be updated.
247245 *
248 * The XPC runtime guarantees this non-preemptiveness even for concurrent target
249 * queues. If the target queue is a concurrent queue, then XPC still guarantees
250 * that there will never be more than one invocation of the connection's event
246 * Even if the target queue is a concurrent queue, XPC still guarantees that
247 * there will never be more than one invocation of the connection's event
251248 * handler block executing concurrently. If you wish to process events
252249 * concurrently, you can dispatch_async(3) to a concurrent queue from within
253250 * the event handler.
......@@ -330,7 +327,7 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
330327XPC_EXPORT XPC_NONNULL_ALL
331328void
332329xpc_connection_set_event_handler(xpc_connection_t connection,
333 xpc_handler_t handler);
330 XPC_SWIFT_SENDABLE xpc_handler_t handler);
334331
335332/*!
336333 * @function xpc_connection_activate
......@@ -534,7 +531,7 @@ XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4
534531void
535532xpc_connection_send_message_with_reply(xpc_connection_t connection,
536533 xpc_object_t message, dispatch_queue_t _Nullable replyq,
537 xpc_handler_t handler);
534 XPC_SWIFT_SENDABLE xpc_handler_t handler);
538535
539536/*!
540537 * @function xpc_connection_send_message_with_reply_sync
......@@ -983,6 +980,33 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
983980int
984981xpc_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
9861010/*!
9871011 * @function xpc_connection_copy_invalidation_reason
9881012 * 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
2424 * connect to the server
2525 *
2626 */
27OS_OBJECT_DECL_CLASS(xpc_listener);
27OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener);
2828
2929#pragma mark Constants
3030/*!
......@@ -202,19 +202,22 @@ xpc_listener_reject_peer(xpc_session_t peer, const char *reason);
202202 * The listener object which is to be modified.
203203 *
204204 * @param requirement
205 * The code signing requirement to be satisfied by the peer
206 * It is safe to deallocate the requirement string after calling `xpc_listener_set_peer_code_signing_requirement`
205 * The code signing requirement to be satisfied by the peer. It is safe to
206 * deallocate the requirement string after calling this function.
207207 *
208208 * @result
209209 * 0 on success, non-zero on error
210210 *
211211 * @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.
213214 *
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.
215217 *
216 * All messages received on this listener will be checked to ensure they come from a peer who satisfies
217 * the code signing requirement. Requests that do not satisfy the requirement are dropped.
218 * All messages received on this listener will be checked to ensure they come
219 * from a peer who satisfies the code signing requirement. Requests that do not
220 * satisfy the requirement are dropped.
218221 *
219222 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
220223 */
......@@ -224,6 +227,32 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
224227int
225228xpc_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
227256__END_DECLS
228257XPC_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
2525 * Clients can initiate a session with a service that accepts xpc_connection_t connections but session
2626 * semantics will be maintained.
2727 *
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 *
2831 */
29OS_OBJECT_DECL_CLASS(xpc_session);
32OS_OBJECT_DECL_SENDABLE_CLASS(xpc_session);
3033
3134#pragma mark Constants
3235/*!
......@@ -244,8 +247,8 @@ xpc_session_set_target_queue(xpc_session_t session,
244247 *
245248 * @discussion
246249 * 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 was
248 * created with an xpc_session_create*() will trigger an API misuse crash.
250 * activated. Releasing the last reference on an inactive session or an
251 * active session that has not been cancelled will trigger an API misuse crash.
249252 *
250253 * If activation fails, the session is automatically cancelled.
251254 */
......@@ -266,8 +269,9 @@ xpc_session_activate(xpc_session_t session,
266269 * The session object to cancel.
267270 *
268271 * @discussion
269 * Session must have been activated to be canceled. Cancellation is asynchronous
270 * and non-preemptive.
272 * Session must have been activated to be cancelled and must be cancelled
273 * before the last reference can be released. Cancellation is asynchronous and
274 * non-preemptive.
271275 */
272276API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0))
273277XPC_EXPORT XPC_SWIFT_NOEXPORT
......@@ -388,20 +392,26 @@ xpc_session_send_message_with_reply_async(xpc_session_t session,
388392 * The session object which is to be modified.
389393 *
390394 * @param requirement
391 * The code signing requirement to be satisfied by the peer
392 * It is safe to deallocate the requirement string after calling `xpc_session_set_peer_code_signing_requirement`
395 * The code signing requirement to be satisfied by the peer. It is safe to
396 * deallocate the requirement string after calling this function.
393397 *
394398 * @result
395399 * 0 on success, non-zero on error
396400 *
397401 * @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.
399404 *
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.
401407 *
402 * All messages received on this session will be checked to ensure they come from a peer who satisfies
403 * the code signing requirement. When message or a reply is received on the session and the peer does
404 * not satisfy the requirement the session will be cancelled.
408 * All messages received on this session will be checked to ensure they come
409 * from a peer who satisfies the code signing requirement. When message or a
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.
405415 *
406416 * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
407417 */
......@@ -411,6 +421,34 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
411421int
412422xpc_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
414452/* This is included for compatibility and should not be used in new code */
415453#define XPC_TYPE_SESSION (&_xpc_type_session)
416454XPC_EXPORT
lib/libc/include/any-macos-any/xpc/xpc.h+2-1
......@@ -344,6 +344,7 @@ XPC_ASSUME_NONNULL_END
344344#include <xpc/debug.h>
345345#if __BLOCKS__
346346#include <xpc/activity.h>
347#include <xpc/peer_requirement.h>
347348#include <xpc/connection.h>
348349#include <xpc/rich_error.h>
349350#include <xpc/session.h>
......@@ -2771,7 +2772,7 @@ API_UNAVAILABLE(ios)
27712772XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3
27722773void
27732774xpc_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);
27752776#endif // __BLOCKS__
27762777
27772778__END_DECLS