| author | |
| committer | |
| log | 93218eacaada52eb028e5569b48b47ac38b1df70 |
| tree | 2c13c0f86dc0c12be62877ce853fac1f8170fcc6 |
| parent | 70715ced9545bfbc537a3dc48cf64ffe9bf99ea5 |
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 |
| 3 | 3 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 4 | 4 | arm64e-macos, arm64e-maccatalyst ] |
| 5 | 5 | install-name: '/usr/lib/libSystem.B.dylib' |
| 6 | current-version: 1351 | |
| 6 | current-version: 1356 | |
| 7 | 7 | reexported-libraries: |
| 8 | 8 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 9 | 9 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -25,7 +25,8 @@ reexported-libraries: |
| 25 | 25 | '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib', |
| 26 | 26 | '/usr/lib/system/libsystem_sanitizers.dylib', '/usr/lib/system/libsystem_secinit.dylib', |
| 27 | 27 | '/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib', |
| 28 | '/usr/lib/system/libunwind.dylib', '/usr/lib/system/libxpc.dylib' ] | |
| 28 | '/usr/lib/system/libsystem_trial.dylib', '/usr/lib/system/libunwind.dylib', | |
| 29 | '/usr/lib/system/libxpc.dylib' ] | |
| 29 | 30 | exports: |
| 30 | 31 | - targets: [ x86_64-macos, x86_64-maccatalyst ] |
| 31 | 32 | symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist', |
| ... | ... | @@ -399,7 +400,7 @@ tbd-version: 4 |
| 399 | 400 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 400 | 401 | arm64e-macos, arm64e-maccatalyst ] |
| 401 | 402 | install-name: '/usr/lib/system/libcorecrypto.dylib' |
| 402 | current-version: 1736.120.5 | |
| 403 | current-version: 1922.0.25 | |
| 403 | 404 | parent-umbrella: |
| 404 | 405 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 405 | 406 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -450,18 +451,18 @@ exports: |
| 450 | 451 | _cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad, |
| 451 | 452 | _ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt, |
| 452 | 453 | _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, | |
| 465 | 466 | _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp, |
| 466 | 467 | _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share, |
| 467 | 468 | _ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment, |
| ... | ... | @@ -530,14 +531,15 @@ exports: |
| 530 | 531 | _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224, |
| 531 | 532 | _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full, |
| 532 | 533 | _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, | |
| 541 | 543 | _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, |
| 542 | 544 | _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, |
| 543 | 545 | _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, |
| ... | ... | @@ -623,29 +625,44 @@ exports: |
| 623 | 625 | _cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk, |
| 624 | 626 | _cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret, |
| 625 | 627 | _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256, |
| 628 | _cchpke_params_x25519_AESGCM256_HKDF_SHA256, _cchpke_params_xwing_AESGCM128_HKDF_SHA256, | |
| 626 | 629 | _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open, |
| 627 | 630 | _cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed, |
| 628 | 631 | _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info, |
| 629 | 632 | _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, | |
| 635 | 640 | _cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block, |
| 636 | 641 | _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, | |
| 649 | 666 | _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size, |
| 650 | 667 | _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update, |
| 651 | 668 | _ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt, |
| ... | ... | @@ -692,35 +709,36 @@ exports: |
| 692 | 709 | _ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment, |
| 693 | 710 | _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck, |
| 694 | 711 | _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, | |
| 724 | 742 | _ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key, |
| 725 | 743 | _ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, |
| 726 | 744 | _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192, |
| ... | ... | @@ -770,7 +788,7 @@ tbd-version: 4 |
| 770 | 788 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 771 | 789 | arm64e-macos, arm64e-maccatalyst ] |
| 772 | 790 | install-name: '/usr/lib/system/libdispatch.dylib' |
| 773 | current-version: 1521.120.4 | |
| 791 | current-version: 1542.0.4 | |
| 774 | 792 | parent-umbrella: |
| 775 | 793 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 776 | 794 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -870,7 +888,8 @@ exports: |
| 870 | 888 | _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher, |
| 871 | 889 | _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2', |
| 872 | 890 | _dispatch_queue_get_label, _dispatch_queue_get_qos_class, |
| 873 | _dispatch_queue_get_specific, _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy, | |
| 891 | _dispatch_queue_get_specific, _dispatch_queue_get_threadid_4wdt, | |
| 892 | _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy, | |
| 874 | 893 | _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read, |
| 875 | 894 | _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain, |
| 876 | 895 | _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait, |
| ... | ... | @@ -887,8 +906,8 @@ exports: |
| 887 | 906 | _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f, |
| 888 | 907 | _dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self, |
| 889 | 908 | _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, | |
| 892 | 911 | _dispatch_workloop_create_inactive, _dispatch_workloop_is_current, |
| 893 | 912 | _dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent, |
| 894 | 913 | _dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class, |
| ... | ... | @@ -907,18 +926,20 @@ exports: |
| 907 | 926 | _os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup, |
| 908 | 927 | _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox, |
| 909 | 928 | _os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id, |
| 910 | _os_workgroup_interval_data_set_flags, _os_workgroup_interval_data_set_telemetry, | |
| 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, | |
| 914 | 934 | _os_workgroup_parallel_create, _os_workgroup_set_working_arena, |
| 915 | 935 | _os_workgroup_testcancel, _voucher_activity_create_with_data, |
| 916 | 936 | _voucher_activity_create_with_data_2, _voucher_activity_create_with_location, |
| 917 | 937 | _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, | |
| 922 | 943 | _voucher_copy_without_importance, _voucher_create_with_mach_msg, |
| 923 | 944 | _voucher_decrement_importance_count4CF, _voucher_get_activity_id, |
| 924 | 945 | _voucher_get_activity_id_and_creator, _voucher_get_current_persona, |
| ... | ... | @@ -938,6 +959,8 @@ tbd-version: 4 |
| 938 | 959 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 939 | 960 | arm64e-macos, arm64e-maccatalyst ] |
| 940 | 961 | install-name: '/usr/lib/system/libdyld.dylib' |
| 962 | current-version: 0 | |
| 963 | compatibility-version: 0 | |
| 941 | 964 | parent-umbrella: |
| 942 | 965 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 943 | 966 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -947,8 +970,9 @@ exports: |
| 947 | 970 | arm64e-macos, arm64e-maccatalyst ] |
| 948 | 971 | symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, |
| 949 | 972 | _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, | |
| 952 | 976 | __dyld_find_foreign_type_protocol_conformance_on_disk, __dyld_find_pointer_hash_table_entry, |
| 953 | 977 | __dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk, |
| 954 | 978 | __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol, |
| ... | ... | @@ -1011,8 +1035,8 @@ exports: |
| 1011 | 1035 | _macho_cpu_type_for_arch_name, _macho_dylib_install_name, |
| 1012 | 1036 | _macho_for_each_defined_rpath, _macho_for_each_dependent_dylib, |
| 1013 | 1037 | _macho_for_each_exported_symbol, _macho_for_each_imported_symbol, |
| 1014 | _macho_for_each_slice, _macho_for_each_slice_in_fd, _macho_source_version, | |
| 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 ] | |
| 1016 | 1040 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1017 | 1041 | symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, |
| 1018 | 1042 | _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, |
| ... | ... | @@ -1052,7 +1076,7 @@ exports: |
| 1052 | 1076 | tbd-version: 4 |
| 1053 | 1077 | targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1054 | 1078 | install-name: '/usr/lib/system/libmacho.dylib' |
| 1055 | current-version: 1024.3 | |
| 1079 | current-version: 1030.6.3 | |
| 1056 | 1080 | parent-umbrella: |
| 1057 | 1081 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1058 | 1082 | umbrella: System |
| ... | ... | @@ -1092,7 +1116,7 @@ tbd-version: 4 |
| 1092 | 1116 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1093 | 1117 | arm64e-macos, arm64e-maccatalyst ] |
| 1094 | 1118 | install-name: '/usr/lib/system/libquarantine.dylib' |
| 1095 | current-version: 181.120.2 | |
| 1119 | current-version: 196.0.1 | |
| 1096 | 1120 | parent-umbrella: |
| 1097 | 1121 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1098 | 1122 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1104,7 +1128,8 @@ exports: |
| 1104 | 1128 | __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free, |
| 1105 | 1129 | __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata, |
| 1106 | 1130 | __qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init, |
| 1107 | __qtn_file_init_with_data, __qtn_file_init_with_fd, __qtn_file_init_with_mount_point, | |
| 1131 | __qtn_file_init_with_data, __qtn_file_init_with_disk_image_backing_store, | |
| 1132 | __qtn_file_init_with_fd, __qtn_file_init_with_mount_point, | |
| 1108 | 1133 | __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier, |
| 1109 | 1134 | __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data, |
| 1110 | 1135 | __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid, |
| ... | ... | @@ -1138,7 +1163,7 @@ tbd-version: 4 |
| 1138 | 1163 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1139 | 1164 | arm64e-macos, arm64e-maccatalyst ] |
| 1140 | 1165 | install-name: '/usr/lib/system/libremovefile.dylib' |
| 1141 | current-version: 81 | |
| 1166 | current-version: 84 | |
| 1142 | 1167 | parent-umbrella: |
| 1143 | 1168 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1144 | 1169 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1156,7 +1181,7 @@ tbd-version: 4 |
| 1156 | 1181 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1157 | 1182 | arm64e-macos, arm64e-maccatalyst ] |
| 1158 | 1183 | install-name: '/usr/lib/system/libsystem_asl.dylib' |
| 1159 | current-version: 402 | |
| 1184 | current-version: 404 | |
| 1160 | 1185 | parent-umbrella: |
| 1161 | 1186 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1162 | 1187 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1256,7 +1281,7 @@ tbd-version: 4 |
| 1256 | 1281 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1257 | 1282 | arm64e-macos, arm64e-maccatalyst ] |
| 1258 | 1283 | install-name: '/usr/lib/system/libsystem_c.dylib' |
| 1259 | current-version: 1698.100.8 | |
| 1284 | current-version: 1725.0.11 | |
| 1260 | 1285 | parent-umbrella: |
| 1261 | 1286 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1262 | 1287 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1398,36 +1423,37 @@ exports: |
| 1398 | 1423 | _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize, |
| 1399 | 1424 | _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd, |
| 1400 | 1425 | _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, | |
| 1431 | 1457 | _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv, |
| 1432 | 1458 | _lfind, _libc_set_introspection_hooks, _link_addr, _link_ntoa, |
| 1433 | 1459 | _llabs, _lldiv, _localeconv, _localeconv_l, _localtime, _localtime_r, |
| ... | ... | @@ -1552,7 +1578,7 @@ tbd-version: 4 |
| 1552 | 1578 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1553 | 1579 | arm64e-macos, arm64e-maccatalyst ] |
| 1554 | 1580 | install-name: '/usr/lib/system/libsystem_collections.dylib' |
| 1555 | current-version: 1698.100.8 | |
| 1581 | current-version: 1725.0.11 | |
| 1556 | 1582 | parent-umbrella: |
| 1557 | 1583 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1558 | 1584 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1582,7 +1608,7 @@ tbd-version: 4 |
| 1582 | 1608 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1583 | 1609 | arm64e-macos, arm64e-maccatalyst ] |
| 1584 | 1610 | install-name: '/usr/lib/system/libsystem_configuration.dylib' |
| 1585 | current-version: 1351.120.3 | |
| 1611 | current-version: 1385.0.7 | |
| 1586 | 1612 | parent-umbrella: |
| 1587 | 1613 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1588 | 1614 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1616,9 +1642,14 @@ parent-umbrella: |
| 1616 | 1642 | exports: |
| 1617 | 1643 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1618 | 1644 | 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, | |
| 1622 | 1653 | __container_references_get_servicing_pid, __container_traverse_continuation_create, |
| 1623 | 1654 | __container_traverse_continuation_free, __container_traverse_continuation_pop, |
| 1624 | 1655 | __container_traverse_continuation_push, __container_traverse_get_last_path_component, |
| ... | ... | @@ -1630,12 +1661,14 @@ exports: |
| 1630 | 1661 | _container_audit_token_for_pid, _container_audit_token_get_codesign_status, |
| 1631 | 1662 | _container_audit_token_get_egid, _container_audit_token_get_euid, |
| 1632 | 1663 | _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, | |
| 1639 | 1672 | _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object, |
| 1640 | 1673 | _container_client_copy_entitlement, _container_client_create_from_audit_token, |
| 1641 | 1674 | _container_client_get_audit_token, _container_client_get_codesign_identifier, |
| ... | ... | @@ -1668,9 +1701,10 @@ exports: |
| 1668 | 1701 | _container_disk_usage, _container_disposition, _container_disposition_for_array, |
| 1669 | 1702 | _container_entitlements_copy_container_identifiers, _container_error_copy, |
| 1670 | 1703 | _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, | |
| 1674 | 1708 | _container_error_reinitialize, _container_flush_container_cache, |
| 1675 | 1709 | _container_flush_persona_cache, _container_free_array_of_containers, |
| 1676 | 1710 | _container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes, |
| ... | ... | @@ -1702,10 +1736,17 @@ exports: |
| 1702 | 1736 | _container_log_ext_error_with_faults, _container_log_handle_for_category, |
| 1703 | 1737 | _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path, |
| 1704 | 1738 | _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, | |
| 1709 | 1750 | _container_object_get_query, _container_object_get_sandbox_token, |
| 1710 | 1751 | _container_object_get_uid, _container_object_get_unique_path_component, |
| 1711 | 1752 | _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid, |
| ... | ... | @@ -1723,22 +1764,23 @@ exports: |
| 1723 | 1764 | _container_paths_context_set_flags, _container_paths_context_set_persona_unique_string, |
| 1724 | 1765 | _container_paths_context_set_transient, _container_paths_context_set_uid, |
| 1725 | 1766 | _container_paths_copy_container_at, _container_paths_copy_container_from_path, |
| 1726 | _container_paths_copy_container_root_path_for_context, _container_paths_copy_uid_home_relative, | |
| 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, | |
| 1736 | 1777 | _container_pwd_get_mobile_user_uid, _container_query_copy, |
| 1737 | 1778 | _container_query_count_results, _container_query_create, _container_query_create_from_container, |
| 1738 | 1779 | _container_query_free, _container_query_get_last_error, _container_query_get_single_result, |
| 1739 | 1780 | _container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync, |
| 1740 | 1781 | _container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client, |
| 1741 | _container_query_operation_set_flags, _container_query_operation_set_platform, | |
| 1782 | _container_query_operation_set_flags, _container_query_operation_set_part, | |
| 1783 | _container_query_operation_set_part_domain, _container_query_operation_set_platform, | |
| 1742 | 1784 | _container_query_set_class, _container_query_set_group_identifiers, |
| 1743 | 1785 | _container_query_set_identifiers, _container_query_set_include_other_owners, |
| 1744 | 1786 | _container_query_set_persona_unique_string, _container_query_set_transient, |
| ... | ... | @@ -1748,9 +1790,12 @@ exports: |
| 1748 | 1790 | _container_retry_test, _container_sandbox_extension_consume, |
| 1749 | 1791 | _container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension, |
| 1750 | 1792 | _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, | |
| 1754 | 1799 | _container_serialize_copy_serialized_reference, _container_set_code_signing_info_for_identifier, |
| 1755 | 1800 | _container_set_data_protection_for_current_user, _container_set_info_value, |
| 1756 | 1801 | _container_set_test_lock, _container_stage_shared_system_content, |
| ... | ... | @@ -1785,7 +1830,8 @@ exports: |
| 1785 | 1830 | _container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block, |
| 1786 | 1831 | _container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection, |
| 1787 | 1832 | _container_xpc_shared_copy_connection, _gCMContainerSeam, |
| 1788 | _gCMFSSeam, _gCMPWDSeam ] | |
| 1833 | _gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam, | |
| 1834 | _gCMSandboxSeam ] | |
| 1789 | 1835 | - targets: [ x86_64-maccatalyst, arm64-maccatalyst, arm64e-maccatalyst ] |
| 1790 | 1836 | symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, |
| 1791 | 1837 | _CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths, |
| ... | ... | @@ -1813,13 +1859,13 @@ exports: |
| 1813 | 1859 | arm64e-macos, arm64e-maccatalyst ] |
| 1814 | 1860 | symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration, |
| 1815 | 1861 | _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 ] | |
| 1820 | 1866 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1821 | 1867 | symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints, |
| 1822 | __idle_exit ] | |
| 1868 | __dirhelper_remove_test, __dirhelper_test, __idle_exit ] | |
| 1823 | 1869 | --- !tapi-tbd |
| 1824 | 1870 | tbd-version: 4 |
| 1825 | 1871 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| ... | ... | @@ -1879,7 +1925,7 @@ tbd-version: 4 |
| 1879 | 1925 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1880 | 1926 | arm64e-macos, arm64e-maccatalyst ] |
| 1881 | 1927 | install-name: '/usr/lib/system/libsystem_dnssd.dylib' |
| 1882 | current-version: 2600.120.12 | |
| 1928 | current-version: 2881.0.25 | |
| 1883 | 1929 | parent-umbrella: |
| 1884 | 1930 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1885 | 1931 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -1916,7 +1962,7 @@ exports: |
| 1916 | 1962 | tbd-version: 4 |
| 1917 | 1963 | targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1918 | 1964 | install-name: '/usr/lib/system/libsystem_eligibility.dylib' |
| 1919 | current-version: 181.120.32 | |
| 1965 | current-version: 286 | |
| 1920 | 1966 | parent-umbrella: |
| 1921 | 1967 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 1922 | 1968 | umbrella: System |
| ... | ... | @@ -1934,7 +1980,7 @@ tbd-version: 4 |
| 1934 | 1980 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1935 | 1981 | arm64e-macos, arm64e-maccatalyst ] |
| 1936 | 1982 | install-name: '/usr/lib/system/libsystem_featureflags.dylib' |
| 1937 | current-version: 97 | |
| 1983 | current-version: 101 | |
| 1938 | 1984 | parent-umbrella: |
| 1939 | 1985 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 1940 | 1986 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -2072,7 +2118,7 @@ tbd-version: 4 |
| 2072 | 2118 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2073 | 2119 | arm64e-macos, arm64e-maccatalyst ] |
| 2074 | 2120 | install-name: '/usr/lib/system/libsystem_kernel.dylib' |
| 2075 | current-version: 11417.121.6 | |
| 2121 | current-version: 12377.1.9 | |
| 2076 | 2122 | parent-umbrella: |
| 2077 | 2123 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2078 | 2124 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -2217,7 +2263,8 @@ exports: |
| 2217 | 2263 | _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token, |
| 2218 | 2264 | _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, |
| 2219 | 2265 | _exc_server_routine, _exception_raise, _exception_raise_state, |
| 2220 | _exception_raise_state_identity, _exchangedata, _exclaves_audio_buffer_copyout, | |
| 2266 | _exception_raise_state_identity, _exchangedata, _exclaves_aoe_message_loop, | |
| 2267 | _exclaves_aoe_setup, _exclaves_aoe_work_loop, _exclaves_audio_buffer_copyout, | |
| 2221 | 2268 | _exclaves_audio_buffer_copyout_with_status, _exclaves_audio_buffer_create, |
| 2222 | 2269 | _exclaves_boot, _exclaves_endpoint_call, _exclaves_inbound_buffer_copyin, |
| 2223 | 2270 | _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time, |
| ... | ... | @@ -2235,9 +2282,9 @@ exports: |
| 2235 | 2282 | _fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsetattrlist, |
| 2236 | 2283 | _fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, _fstat64, |
| 2237 | 2284 | _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, | |
| 2241 | 2288 | _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat, |
| 2242 | 2289 | _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np, |
| 2243 | 2290 | _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid, |
| ... | ... | @@ -2280,13 +2327,14 @@ exports: |
| 2280 | 2327 | _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times, |
| 2281 | 2328 | _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id, |
| 2282 | 2329 | _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, | |
| 2290 | 2338 | _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, |
| 2291 | 2339 | _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, |
| 2292 | 2340 | _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, |
| ... | ... | @@ -2313,18 +2361,21 @@ exports: |
| 2313 | 2361 | _mach_thread_special_port_for_id, _mach_timebase_info, _mach_timebase_info_trap, |
| 2314 | 2362 | _mach_vm_allocate, _mach_vm_behavior_set, _mach_vm_copy, _mach_vm_deallocate, |
| 2315 | 2363 | _mach_vm_deferred_reclamation_buffer_allocate, _mach_vm_deferred_reclamation_buffer_flush, |
| 2316 | _mach_vm_deferred_reclamation_buffer_resize, _mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes, | |
| 2364 | _mach_vm_deferred_reclamation_buffer_query, _mach_vm_deferred_reclamation_buffer_resize, | |
| 2317 | 2365 | _mach_vm_inherit, _mach_vm_machine_attribute, _mach_vm_map, |
| 2318 | 2366 | _mach_vm_msync, _mach_vm_page_info, _mach_vm_page_query, _mach_vm_page_range_query, |
| 2319 | 2367 | _mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create, |
| 2320 | 2368 | _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, | |
| 2323 | 2373 | _mach_vm_reclaim_ring_flush, _mach_vm_reclaim_ring_resize, |
| 2324 | 2374 | _mach_vm_reclaim_round_capacity, _mach_vm_reclaim_try_cancel, |
| 2325 | 2375 | _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, | |
| 2328 | 2379 | _mach_vm_wire, _mach_vm_write, _mach_voucher_attr_command, |
| 2329 | 2380 | _mach_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes, |
| 2330 | 2381 | _mach_voucher_extract_attr_content, _mach_voucher_extract_attr_recipe, |
| ... | ... | @@ -2360,10 +2411,11 @@ exports: |
| 2360 | 2411 | _os_channel_create, _os_channel_create_extended, _os_channel_destroy, |
| 2361 | 2412 | _os_channel_event_free, _os_channel_event_get_event_data, |
| 2362 | 2413 | _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, | |
| 2367 | 2419 | _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending, |
| 2368 | 2420 | _os_channel_read_attr, _os_channel_read_nexus_extension_info, |
| 2369 | 2421 | _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time, |
| ... | ... | @@ -2381,8 +2433,8 @@ exports: |
| 2381 | 2433 | _os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules, |
| 2382 | 2434 | _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider, |
| 2383 | 2435 | _os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance, |
| 2384 | _os_nexus_flow_set_wake_from_sleep, _os_packet_add_buflet, | |
| 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, | |
| 2386 | 2438 | _os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type, |
| 2387 | 2439 | _os_packet_get_buflet_count, _os_packet_get_compression_generation_count, |
| 2388 | 2440 | _os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action, |
| ... | ... | @@ -2407,15 +2459,16 @@ exports: |
| 2407 | 2459 | _os_packet_set_traffic_class, _os_packet_set_transport_last_packet, |
| 2408 | 2460 | _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background, |
| 2409 | 2461 | _os_packet_set_transport_traffic_realtime, _os_packet_set_tso_flags, |
| 2410 | _os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_trace_event, | |
| 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, | |
| 2419 | 2472 | _posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen, |
| 2420 | 2473 | _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init, |
| 2421 | 2474 | _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np, |
| ... | ... | @@ -2426,73 +2479,74 @@ exports: |
| 2426 | 2479 | _posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np, |
| 2427 | 2480 | _posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask, |
| 2428 | 2481 | _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, | |
| 2496 | 2550 | _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, |
| 2497 | 2551 | _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, |
| 2498 | 2552 | _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', |
| ... | ... | @@ -2582,7 +2636,7 @@ tbd-version: 4 |
| 2582 | 2636 | targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, |
| 2583 | 2637 | arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] |
| 2584 | 2638 | install-name: '/usr/lib/system/libsystem_m.dylib' |
| 2585 | current-version: 3291.100.4 | |
| 2639 | current-version: 3307.0.1 | |
| 2586 | 2640 | parent-umbrella: |
| 2587 | 2641 | - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, |
| 2588 | 2642 | arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -2804,7 +2858,7 @@ tbd-version: 4 |
| 2804 | 2858 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2805 | 2859 | arm64e-macos, arm64e-maccatalyst ] |
| 2806 | 2860 | install-name: '/usr/lib/system/libsystem_malloc.dylib' |
| 2807 | current-version: 715.120.13 | |
| 2861 | current-version: 792.1.1 | |
| 2808 | 2862 | parent-umbrella: |
| 2809 | 2863 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2810 | 2864 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -2833,15 +2887,15 @@ exports: |
| 2833 | 2887 | _malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free, |
| 2834 | 2888 | _malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc, |
| 2835 | 2889 | _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, | |
| 2838 | 2892 | _malloc_type_zone_realloc, _malloc_type_zone_valloc, _malloc_variant_is_debug_4test, |
| 2839 | 2893 | _malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc, |
| 2840 | 2894 | _malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address, |
| 2841 | 2895 | _malloc_zone_disable_discharge_checking, _malloc_zone_discharge, |
| 2842 | 2896 | _malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers, |
| 2843 | 2897 | _malloc_zone_free, _malloc_zone_from_ptr, _malloc_zone_log, |
| 2844 | _malloc_zone_malloc, _malloc_zone_malloc_with_options_np, | |
| 2898 | _malloc_zone_malloc, _malloc_zone_malloc_with_options, _malloc_zone_malloc_with_options_np, | |
| 2845 | 2899 | _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print, |
| 2846 | 2900 | _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register, |
| 2847 | 2901 | _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc, |
| ... | ... | @@ -2878,24 +2932,26 @@ exports: |
| 2878 | 2932 | _NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains, |
| 2879 | 2933 | _NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket, |
| 2880 | 2934 | _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, | |
| 2893 | 2948 | _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace, |
| 2894 | 2949 | _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id, |
| 2895 | 2950 | _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path, |
| 2896 | 2951 | _ne_session_address_matches_subnets, _ne_session_agent_get_advisory, |
| 2897 | 2952 | _ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present, |
| 2898 | 2953 | _ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present, |
| 2954 | _ne_session_applications_have_local_network_entitlements, | |
| 2899 | 2955 | _ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present, |
| 2900 | 2956 | _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token, |
| 2901 | 2957 | _ne_session_copy_os_version_string, _ne_session_copy_policy_match, |
| ... | ... | @@ -2904,30 +2960,29 @@ exports: |
| 2904 | 2960 | _ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present, |
| 2905 | 2961 | _ne_session_dns_settings_configs_present, _ne_session_establish_ipc, |
| 2906 | 2962 | _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, | |
| 2910 | 2967 | _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot, |
| 2911 | 2968 | _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info, |
| 2912 | 2969 | _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions, |
| 2913 | 2970 | _ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid, |
| 2914 | 2971 | _ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present, |
| 2915 | 2972 | _ne_session_policy_copy_flow_divert_token, _ne_session_policy_copy_flow_divert_token_with_key, |
| 2916 | _ne_session_policy_match_get_filter_unit, _ne_session_policy_match_get_flow_divert_unit, | |
| 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, | |
| 2931 | 2986 | _ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present, |
| 2932 | 2987 | _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated, |
| 2933 | 2988 | _ne_socket_set_website_attribution, _ne_tracker_build_cache, |
| ... | ... | @@ -2949,7 +3004,7 @@ tbd-version: 4 |
| 2949 | 3004 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2950 | 3005 | arm64e-macos, arm64e-maccatalyst ] |
| 2951 | 3006 | install-name: '/usr/lib/system/libsystem_notify.dylib' |
| 2952 | current-version: 342 | |
| 3007 | current-version: 344.0.1 | |
| 2953 | 3008 | parent-umbrella: |
| 2954 | 3009 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2955 | 3010 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -2969,7 +3024,7 @@ tbd-version: 4 |
| 2969 | 3024 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2970 | 3025 | arm64e-macos, arm64e-maccatalyst ] |
| 2971 | 3026 | install-name: '/usr/lib/system/libsystem_platform.dylib' |
| 2972 | current-version: 349 | |
| 3027 | current-version: 359.1.2 | |
| 2973 | 3028 | parent-umbrella: |
| 2974 | 3029 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 2975 | 3030 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3020,19 +3075,21 @@ exports: |
| 3020 | 3075 | __simple_asl_msg_new, __simple_asl_msg_set, __simple_asl_send, |
| 3021 | 3076 | __simple_dprintf, __simple_esappend, __simple_esprintf, __simple_getenv, |
| 3022 | 3077 | __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, | |
| 3028 | 3083 | _os_lock_lock, _os_lock_trylock, _os_lock_unlock, _os_log_simple_now, |
| 3029 | _os_log_simple_type_from_asl, _os_sync_wait_on_address, _os_sync_wait_on_address_with_deadline, | |
| 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, | |
| 3036 | 3093 | _os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock, |
| 3037 | 3094 | _os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock, |
| 3038 | 3095 | _os_unfair_recursive_lock_unlock_forked_child, _setcontext, |
| ... | ... | @@ -3047,7 +3104,7 @@ tbd-version: 4 |
| 3047 | 3104 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3048 | 3105 | arm64e-macos, arm64e-maccatalyst ] |
| 3049 | 3106 | install-name: '/usr/lib/system/libsystem_pthread.dylib' |
| 3050 | current-version: 536 | |
| 3107 | current-version: 539 | |
| 3051 | 3108 | parent-umbrella: |
| 3052 | 3109 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3053 | 3110 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3143,7 +3200,7 @@ tbd-version: 4 |
| 3143 | 3200 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3144 | 3201 | arm64e-macos, arm64e-maccatalyst ] |
| 3145 | 3202 | install-name: '/usr/lib/system/libsystem_sandbox.dylib' |
| 3146 | current-version: 2401.121.3 | |
| 3203 | current-version: 2680.0.50 | |
| 3147 | 3204 | parent-umbrella: |
| 3148 | 3205 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3149 | 3206 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3158,8 +3215,13 @@ exports: |
| 3158 | 3215 | _SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL, |
| 3159 | 3216 | _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NOFOLLOW_ANY, |
| 3160 | 3217 | _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, | |
| 3163 | 3225 | __sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, |
| 3164 | 3226 | _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, |
| 3165 | 3227 | _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId, |
| ... | ... | @@ -3179,7 +3241,8 @@ exports: |
| 3179 | 3241 | _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path, |
| 3180 | 3242 | _sandbox_check_message_filter_integer, _sandbox_check_message_filter_string, |
| 3181 | 3243 | _sandbox_check_process_signal_target, _sandbox_check_protected_app_container, |
| 3182 | _sandbox_check_self_signal_target, _sandbox_consume_extension, | |
| 3244 | _sandbox_check_self_signal_target, _sandbox_check_storage_class, | |
| 3245 | _sandbox_check_with_attribution, _sandbox_consume_extension, | |
| 3183 | 3246 | _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, |
| 3184 | 3247 | _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, |
| 3185 | 3248 | _sandbox_enable_local_state_flag, _sandbox_enable_root_translation, |
| ... | ... | @@ -3205,15 +3268,16 @@ exports: |
| 3205 | 3268 | _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception, |
| 3206 | 3269 | _sandbox_register_app_container, _sandbox_register_app_container_exception, |
| 3207 | 3270 | _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, | |
| 3210 | 3273 | _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, |
| 3211 | 3274 | _sandbox_set_container_path_for_audit_token, _sandbox_set_container_path_for_signing_id, |
| 3212 | 3275 | _sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer, |
| 3213 | 3276 | _sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init, |
| 3214 | 3277 | _sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename, |
| 3215 | 3278 | _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container, |
| 3216 | _sandbox_unregister_bastion_profile, _sandbox_unsuspend ] | |
| 3279 | _sandbox_unregister_bastion_profile, _sandbox_unregister_disk_image_backing_store, | |
| 3280 | _sandbox_unsuspend ] | |
| 3217 | 3281 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] |
| 3218 | 3282 | symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT, |
| 3219 | 3283 | _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply, |
| ... | ... | @@ -3257,7 +3321,7 @@ tbd-version: 4 |
| 3257 | 3321 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3258 | 3322 | arm64e-macos, arm64e-maccatalyst ] |
| 3259 | 3323 | install-name: '/usr/lib/system/libsystem_secinit.dylib' |
| 3260 | current-version: 153.100.10 | |
| 3324 | current-version: 168.0.3 | |
| 3261 | 3325 | parent-umbrella: |
| 3262 | 3326 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3263 | 3327 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3290,7 +3354,7 @@ tbd-version: 4 |
| 3290 | 3354 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3291 | 3355 | arm64e-macos, arm64e-maccatalyst ] |
| 3292 | 3356 | install-name: '/usr/lib/system/libsystem_trace.dylib' |
| 3293 | current-version: 1643.120.5 | |
| 3357 | current-version: 1815.0.16 | |
| 3294 | 3358 | parent-umbrella: |
| 3295 | 3359 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3296 | 3360 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3298,39 +3362,55 @@ parent-umbrella: |
| 3298 | 3362 | exports: |
| 3299 | 3363 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3300 | 3364 | 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, | |
| 3306 | 3380 | __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl, |
| 3307 | 3381 | __os_log_get_nscf_formatter, __os_log_impl, __os_log_internal, |
| 3308 | 3382 | __os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute, |
| 3309 | 3383 | __os_log_preferences_copy_cache, __os_log_preferences_load, |
| 3310 | 3384 | __os_log_preferences_load_sysprefs, __os_log_preferences_merge, |
| 3311 | 3385 | __os_log_release, __os_log_send_and_compose_impl, __os_log_set_nscf_formatter, |
| 3312 | __os_log_unreliable_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl, | |
| 3386 | __os_log_unreliable_impl, __os_metric_double_create_impl, | |
| 3387 | __os_metric_double_op_impl, __os_metric_int64_create_impl, | |
| 3388 | __os_metric_int64_op_impl, __os_metric_label_create_impl, | |
| 3389 | __os_metric_label_create_v, __os_metric_reset_impl, __os_metric_set_scale_impl, | |
| 3390 | __os_metric_set_unit_impl, __os_metric_uint64_create_impl, | |
| 3391 | __os_metric_uint64_op_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl, | |
| 3313 | 3392 | __os_signpost_emit_with_name_impl, __os_signpost_pack_fill, |
| 3314 | 3393 | __os_signpost_pack_send, __os_state_request_for_pidlist, __os_trace_app_cryptex_sysprefsdir_path, |
| 3315 | 3394 | __os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available, |
| 3316 | __os_trace_calloc, __os_trace_commpage_compute, __os_trace_fdscandir_b, | |
| 3395 | __os_trace_calloc_typed, __os_trace_commpage_compute, __os_trace_fdscandir_b, | |
| 3317 | 3396 | __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid, |
| 3318 | 3397 | __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path, |
| 3319 | 3398 | __os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc, |
| 3320 | 3399 | __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, | |
| 3323 | 3402 | __os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path, |
| 3324 | 3403 | __os_trace_prefs_latest_version_4tests, __os_trace_prefsdir_path, |
| 3325 | __os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc, | |
| 3404 | __os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc_typed, | |
| 3326 | 3405 | __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags, |
| 3327 | 3406 | __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path, |
| 3328 | 3407 | __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer, |
| 3329 | __os_trace_write, __os_trace_writev, __os_trace_zalloc, _amfi_check_dyld_policy_for_pid, | |
| 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, | |
| 3334 | 3414 | _os_activity_iterate_breadcrumbs, _os_activity_iterate_messages, |
| 3335 | 3415 | _os_activity_iterate_processes, _os_activity_messages_for_thread, |
| 3336 | 3416 | _os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description, |
| ... | ... | @@ -3348,8 +3428,10 @@ exports: |
| 3348 | 3428 | _os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback, |
| 3349 | 3429 | _os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback, |
| 3350 | 3430 | _os_log_shim_enabled, _os_log_shim_legacy_logging_enabled, |
| 3351 | _os_log_shim_with_CFString, _os_log_type_enabled, _os_log_type_get_name, | |
| 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, | |
| 3353 | 3435 | _os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer, |
| 3354 | 3436 | _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler, |
| 3355 | 3437 | _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode, |
| ... | ... | @@ -3357,6 +3439,18 @@ exports: |
| 3357 | 3439 | objc-classes: [ OS_os_log ] |
| 3358 | 3440 | --- !tapi-tbd |
| 3359 | 3441 | tbd-version: 4 |
| 3442 | targets: [ x86_64-macos, arm64-macos, arm64e-macos ] | |
| 3443 | install-name: '/usr/lib/system/libsystem_trial.dylib' | |
| 3444 | current-version: 474 | |
| 3445 | parent-umbrella: | |
| 3446 | - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] | |
| 3447 | umbrella: System | |
| 3448 | exports: | |
| 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 | |
| 3453 | tbd-version: 4 | |
| 3360 | 3454 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3361 | 3455 | arm64e-macos, arm64e-maccatalyst ] |
| 3362 | 3456 | install-name: '/usr/lib/system/libunwind.dylib' |
| ... | ... | @@ -3390,7 +3484,7 @@ tbd-version: 4 |
| 3390 | 3484 | targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3391 | 3485 | arm64e-macos, arm64e-maccatalyst ] |
| 3392 | 3486 | install-name: '/usr/lib/system/libxpc.dylib' |
| 3393 | current-version: 2894.121.3 | |
| 3487 | current-version: 3089.0.11 | |
| 3394 | 3488 | parent-umbrella: |
| 3395 | 3489 | - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, |
| 3396 | 3490 | arm64e-macos, arm64e-maccatalyst ] |
| ... | ... | @@ -3433,11 +3527,11 @@ exports: |
| 3433 | 3527 | _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE, |
| 3434 | 3528 | _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING, |
| 3435 | 3529 | _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, | |
| 3441 | 3535 | __launch_service_stats_copy_impl, __launch_trial_factors_routine, |
| 3442 | 3536 | __libxpc_initializer, __spawn_via_launchd, __system_ios_support_version_copy_string_sysctl, |
| 3443 | 3537 | __system_version_copy_string_plist, __system_version_copy_string_sysctl, |
| ... | ... | @@ -3466,7 +3560,8 @@ exports: |
| 3466 | 3560 | __xpc_error_peer_code_signing_requirement, __xpc_error_termination_imminent, |
| 3467 | 3561 | __xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port, |
| 3468 | 3562 | __xpc_int64_set_value, __xpc_payload_create_from_mach_msg, |
| 3469 | __xpc_pipe_handle_mig, __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async, | |
| 3563 | __xpc_peer_requirement_match_token, __xpc_pipe_handle_mig, | |
| 3564 | __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async, | |
| 3470 | 3565 | __xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data, |
| 3471 | 3566 | __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed, |
| 3472 | 3567 | __xpc_runtime_process_has_entered_sandbox, __xpc_service_last_xref_cancel, |
| ... | ... | @@ -3484,8 +3579,8 @@ exports: |
| 3484 | 3579 | __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once, |
| 3485 | 3580 | __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error, |
| 3486 | 3581 | __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, | |
| 3489 | 3584 | _amfi_developer_mode_status, _amfi_interface_authorize_local_signing, |
| 3490 | 3585 | _amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key, |
| 3491 | 3586 | _amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state, |
| ... | ... | @@ -3500,8 +3595,8 @@ exports: |
| 3500 | 3595 | _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, |
| 3501 | 3596 | _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd, |
| 3502 | 3597 | _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, | |
| 3505 | 3600 | _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties, |
| 3506 | 3601 | _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond, |
| 3507 | 3602 | _launch_create_persona, _launch_cryptex_terminate, _launch_data_alloc, |
| ... | ... | @@ -3542,11 +3637,12 @@ exports: |
| 3542 | 3637 | _mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version, |
| 3543 | 3638 | _os_system_version_sim_get_current_host_version, _os_transaction_copy_description, |
| 3544 | 3639 | _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, | |
| 3550 | 3646 | _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue, |
| 3551 | 3647 | _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change, |
| 3552 | 3648 | _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage, |
| ... | ... | @@ -3575,7 +3671,8 @@ exports: |
| 3575 | 3671 | _xpc_binprefs_set_psattr, _xpc_bool_create, _xpc_bool_get_value, |
| 3576 | 3672 | _xpc_bs_main, _xpc_bundle_copy_info_dictionary, _xpc_bundle_copy_normalized_cryptex_path, |
| 3577 | 3673 | _xpc_bundle_copy_resource_path, _xpc_bundle_copy_services, |
| 3578 | _xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_main, | |
| 3674 | _xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_from_origin_with_string_cache, | |
| 3675 | _xpc_bundle_create_main, _xpc_bundle_create_with_string_cache, | |
| 3579 | 3676 | _xpc_bundle_get_error, _xpc_bundle_get_executable_path, _xpc_bundle_get_info_dictionary, |
| 3580 | 3677 | _xpc_bundle_get_path, _xpc_bundle_get_property, _xpc_bundle_get_xpcservice_dictionary, |
| 3581 | 3678 | _xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue, |
| ... | ... | @@ -3602,11 +3699,11 @@ exports: |
| 3602 | 3699 | _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement, |
| 3603 | 3700 | _xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement, |
| 3604 | 3701 | _xpc_connection_set_peer_lightweight_code_requirement, _xpc_connection_set_peer_platform_identity_requirement, |
| 3605 | _xpc_connection_set_peer_team_identity_requirement, _xpc_connection_set_privileged, | |
| 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, | |
| 3610 | 3707 | _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description, |
| 3611 | 3708 | _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self, |
| 3612 | 3709 | _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token, |
| ... | ... | @@ -3614,7 +3711,8 @@ exports: |
| 3614 | 3711 | _xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description, |
| 3615 | 3712 | _xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key, |
| 3616 | 3713 | _xpc_create_from_plist, _xpc_create_from_plist_descriptor, |
| 3617 | _xpc_create_from_serialization, _xpc_create_from_serialization_with_ool, | |
| 3714 | _xpc_create_from_plist_with_string_cache, _xpc_create_from_serialization, | |
| 3715 | _xpc_create_from_serialization_with_ool, _xpc_create_from_serialization_with_string_cache, | |
| 3618 | 3716 | _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments, |
| 3619 | 3717 | _xpc_create_with_format, _xpc_create_with_format_and_arguments, |
| 3620 | 3718 | _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes, |
| ... | ... | @@ -3640,18 +3738,19 @@ exports: |
| 3640 | 3738 | _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, |
| 3641 | 3739 | _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, |
| 3642 | 3740 | _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, |
| 3643 | _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value, | |
| 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, | |
| 3655 | 3754 | _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_publisher_set_throttling, |
| 3656 | 3755 | _xpc_event_stream_check_in, _xpc_event_stream_check_in2, _xpc_exit_reason_get_label, |
| 3657 | 3756 | _xpc_extension_type_init, _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel, |
| ... | ... | @@ -3671,49 +3770,56 @@ exports: |
| 3671 | 3770 | _xpc_is_system_session, _xpc_is_xpcservice, _xpc_listener_activate, |
| 3672 | 3771 | _xpc_listener_cancel, _xpc_listener_copy_description, _xpc_listener_create, |
| 3673 | 3772 | _xpc_listener_create_anonymous, _xpc_listener_create_endpoint, |
| 3674 | _xpc_listener_reject_peer, _xpc_listener_set_peer_code_signing_requirement, | |
| 3773 | _xpc_listener_reject_peer, _xpc_listener_set_incoming_session_handler, | |
| 3774 | _xpc_listener_set_peer_code_signing_requirement, _xpc_listener_set_peer_requirement, | |
| 3675 | 3775 | _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right, |
| 3676 | 3776 | _xpc_mach_send_create, _xpc_mach_send_create_with_disposition, |
| 3677 | 3777 | _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right, |
| 3678 | 3778 | _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, | |
| 3689 | 3792 | _xpc_service_instance_dup2, _xpc_service_instance_get_context, |
| 3690 | 3793 | _xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid, |
| 3691 | 3794 | _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, | |
| 3705 | 3809 | _xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid, |
| 3706 | 3810 | _xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler, |
| 3707 | 3811 | _xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create, |
| 3708 | 3812 | _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 ] | |
| 3718 | 3824 | objc-classes: [ OS_xpc_object ] |
| 3719 | 3825 | ... |
lib/libc/include/any-macos-any/Availability.h+12-7| ... | ... | @@ -469,6 +469,9 @@ |
| 469 | 469 | * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos, |
| 470 | 470 | * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension |
| 471 | 471 | * |
| 472 | * Within each platform a tuple of versions will represent the version the API was | |
| 473 | * introduced in, followed by the version it was deperecated in. | |
| 474 | * | |
| 472 | 475 | * Examples: |
| 473 | 476 | * |
| 474 | 477 | * __API_DEPRECATED("Deprecated", macos(10.4, 10.8)) |
| ... | ... | @@ -487,6 +490,7 @@ |
| 487 | 490 | #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop") |
| 488 | 491 | |
| 489 | 492 | |
| 493 | ||
| 490 | 494 | #define __API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__) |
| 491 | 495 | #define __API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__) |
| 492 | 496 | |
| ... | ... | @@ -496,6 +500,7 @@ |
| 496 | 500 | #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN15,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN14,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN13,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN12,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN11,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN10,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN9,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN8,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN7,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN6,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN5,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN4,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN3,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN2,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN1,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__) |
| 497 | 501 | #define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop") |
| 498 | 502 | |
| 503 | ||
| 499 | 504 | /* |
| 500 | 505 | * API Unavailability |
| 501 | 506 | * Use to specify that an API is unavailable for a particular platform. |
| ... | ... | @@ -524,7 +529,7 @@ |
| 524 | 529 | #endif |
| 525 | 530 | |
| 526 | 531 | #ifndef __API_AVAILABLE_END |
| 527 | #define __API_AVAILABLE_END(...) | |
| 532 | #define __API_AVAILABLE_END | |
| 528 | 533 | #endif |
| 529 | 534 | |
| 530 | 535 | #ifndef __API_DEPRECATED |
| ... | ... | @@ -536,7 +541,7 @@ |
| 536 | 541 | #endif |
| 537 | 542 | |
| 538 | 543 | #ifndef __API_DEPRECATED_END |
| 539 | #define __API_DEPRECATED_END(...) | |
| 544 | #define __API_DEPRECATED_END | |
| 540 | 545 | #endif |
| 541 | 546 | |
| 542 | 547 | #ifndef __API_DEPRECATED_WITH_REPLACEMENT |
| ... | ... | @@ -548,7 +553,7 @@ |
| 548 | 553 | #endif |
| 549 | 554 | |
| 550 | 555 | #ifndef __API_DEPRECATED_WITH_REPLACEMENT_END |
| 551 | #define __API_DEPRECATED_WITH_REPLACEMENT_END(...) | |
| 556 | #define __API_DEPRECATED_WITH_REPLACEMENT_END | |
| 552 | 557 | #endif |
| 553 | 558 | |
| 554 | 559 | #ifndef __API_OBSOLETED |
| ... | ... | @@ -560,7 +565,7 @@ |
| 560 | 565 | #endif |
| 561 | 566 | |
| 562 | 567 | #ifndef __API_OBSOLETED_END |
| 563 | #define __API_OBSOLETED_END(...) | |
| 568 | #define __API_OBSOLETED_END | |
| 564 | 569 | #endif |
| 565 | 570 | |
| 566 | 571 | #ifndef __API_OBSOLETED_WITH_REPLACEMENT |
| ... | ... | @@ -572,7 +577,7 @@ |
| 572 | 577 | #endif |
| 573 | 578 | |
| 574 | 579 | #ifndef __API_OBSOLETED_WITH_REPLACEMENT_END |
| 575 | #define __API_OBSOLETED_WITH_REPLACEMENT_END(...) | |
| 580 | #define __API_OBSOLETED_WITH_REPLACEMENT_END | |
| 576 | 581 | #endif |
| 577 | 582 | |
| 578 | 583 | #ifndef __API_UNAVAILABLE |
| ... | ... | @@ -584,7 +589,7 @@ |
| 584 | 589 | #endif |
| 585 | 590 | |
| 586 | 591 | #ifndef __API_UNAVAILABLE_END |
| 587 | #define __API_UNAVAILABLE_END(...) | |
| 592 | #define __API_UNAVAILABLE_END | |
| 588 | 593 | #endif |
| 589 | 594 | |
| 590 | 595 | /* |
| ... | ... | @@ -600,7 +605,7 @@ |
| 600 | 605 | #endif |
| 601 | 606 | |
| 602 | 607 | #ifndef __SPI_AVAILABLE_END |
| 603 | #define __SPI_AVAILABLE_END(...) | |
| 608 | #define __SPI_AVAILABLE_END | |
| 604 | 609 | #endif |
| 605 | 610 | |
| 606 | 611 | #ifndef __SPI_DEPRECATED |
lib/libc/include/any-macos-any/AvailabilityInternal.h+66-54| ... | ... | @@ -33,81 +33,93 @@ |
| 33 | 33 | #include <AvailabilityVersions.h> |
| 34 | 34 | |
| 35 | 35 | #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) */ | |
| 45 | 47 | #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ |
| 46 | 48 | |
| 47 | 49 | #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) */ | |
| 57 | 61 | #endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ |
| 58 | 62 | |
| 59 | 63 | #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 | |
| 64 | 75 | /* for compatibility with existing code. New code should use platform specific checks */ |
| 65 | 76 | #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) */ | |
| 73 | 79 | #endif /* __WATCH_OS_VERSION_MIN_REQUIRED */ |
| 74 | 80 | |
| 75 | 81 | #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 | |
| 80 | 93 | /* for compatibility with existing code. New code should use platform specific checks */ |
| 81 | 94 | #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) */ | |
| 89 | 97 | #endif /* __TV_OS_VERSION_MIN_REQUIRED */ |
| 90 | 98 | |
| 91 | 99 | |
| 92 | 100 | |
| 93 | 101 | #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) */ | |
| 100 | 110 | #endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */ |
| 101 | 111 | |
| 102 | 112 | #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) */ | |
| 111 | 123 | #endif /* __VISION_OS_VERSION_MIN_REQUIRED */ |
| 112 | 124 | |
| 113 | 125 |
lib/libc/include/any-macos-any/AvailabilityVersions.h+22-5| ... | ... | @@ -74,7 +74,6 @@ |
| 74 | 74 | #define __MAC_12_7 120700 |
| 75 | 75 | #define __MAC_13_0 130000 |
| 76 | 76 | #define __MAC_13_1 130100 |
| 77 | #define __MAC_13_1 130100 | |
| 78 | 77 | #define __MAC_13_2 130200 |
| 79 | 78 | #define __MAC_13_3 130300 |
| 80 | 79 | #define __MAC_13_4 130400 |
| ... | ... | @@ -95,6 +94,9 @@ |
| 95 | 94 | #define __MAC_15_3 150300 |
| 96 | 95 | #define __MAC_15_4 150400 |
| 97 | 96 | #define __MAC_15_5 150500 |
| 97 | #define __MAC_15_6 150600 | |
| 98 | #define __MAC_16_0 160000 | |
| 99 | #define __MAC_26_0 260000 | |
| 98 | 100 | /* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 99 | 101 | |
| 100 | 102 | #define __IPHONE_2_0 20000 |
| ... | ... | @@ -149,8 +151,6 @@ |
| 149 | 151 | #define __IPHONE_14_2 140200 |
| 150 | 152 | #define __IPHONE_14_3 140300 |
| 151 | 153 | #define __IPHONE_14_5 140500 |
| 152 | #define __IPHONE_14_4 140400 | |
| 153 | #define __IPHONE_14_5 140500 | |
| 154 | 154 | #define __IPHONE_14_6 140600 |
| 155 | 155 | #define __IPHONE_14_7 140700 |
| 156 | 156 | #define __IPHONE_14_8 140800 |
| ... | ... | @@ -185,6 +185,9 @@ |
| 185 | 185 | #define __IPHONE_18_3 180300 |
| 186 | 186 | #define __IPHONE_18_4 180400 |
| 187 | 187 | #define __IPHONE_18_5 180500 |
| 188 | #define __IPHONE_18_6 180600 | |
| 189 | #define __IPHONE_19_0 190000 | |
| 190 | #define __IPHONE_26_0 260000 | |
| 188 | 191 | /* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 189 | 192 | |
| 190 | 193 | #define __WATCHOS_1_0 10000 |
| ... | ... | @@ -242,6 +245,9 @@ |
| 242 | 245 | #define __WATCHOS_11_3 110300 |
| 243 | 246 | #define __WATCHOS_11_4 110400 |
| 244 | 247 | #define __WATCHOS_11_5 110500 |
| 248 | #define __WATCHOS_11_6 110600 | |
| 249 | #define __WATCHOS_12_0 120000 | |
| 250 | #define __WATCHOS_26_0 260000 | |
| 245 | 251 | /* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 246 | 252 | |
| 247 | 253 | #define __TVOS_9_0 90000 |
| ... | ... | @@ -299,6 +305,9 @@ |
| 299 | 305 | #define __TVOS_18_3 180300 |
| 300 | 306 | #define __TVOS_18_4 180400 |
| 301 | 307 | #define __TVOS_18_5 180500 |
| 308 | #define __TVOS_18_6 180600 | |
| 309 | #define __TVOS_19_0 190000 | |
| 310 | #define __TVOS_26_0 260000 | |
| 302 | 311 | /* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 303 | 312 | |
| 304 | 313 | #define __BRIDGEOS_2_0 20000 |
| ... | ... | @@ -317,7 +326,6 @@ |
| 317 | 326 | #define __BRIDGEOS_6_6 60600 |
| 318 | 327 | #define __BRIDGEOS_7_0 70000 |
| 319 | 328 | #define __BRIDGEOS_7_1 70100 |
| 320 | #define __BRIDGEOS_7_1 70100 | |
| 321 | 329 | #define __BRIDGEOS_7_2 70200 |
| 322 | 330 | #define __BRIDGEOS_7_3 70300 |
| 323 | 331 | #define __BRIDGEOS_7_4 70400 |
| ... | ... | @@ -335,6 +343,8 @@ |
| 335 | 343 | #define __BRIDGEOS_9_3 90300 |
| 336 | 344 | #define __BRIDGEOS_9_4 90400 |
| 337 | 345 | #define __BRIDGEOS_9_5 90500 |
| 346 | #define __BRIDGEOS_9_6 90600 | |
| 347 | #define __BRIDGEOS_10_0 100000 | |
| 338 | 348 | |
| 339 | 349 | |
| 340 | 350 | #define __DRIVERKIT_19_0 190000 |
| ... | ... | @@ -357,6 +367,8 @@ |
| 357 | 367 | #define __DRIVERKIT_24_3 240300 |
| 358 | 368 | #define __DRIVERKIT_24_4 240400 |
| 359 | 369 | #define __DRIVERKIT_24_5 240500 |
| 370 | #define __DRIVERKIT_24_6 240600 | |
| 371 | #define __DRIVERKIT_25_0 250000 | |
| 360 | 372 | /* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 361 | 373 | |
| 362 | 374 | #define __VISIONOS_1_0 10000 |
| ... | ... | @@ -369,6 +381,9 @@ |
| 369 | 381 | #define __VISIONOS_2_3 20300 |
| 370 | 382 | #define __VISIONOS_2_4 20400 |
| 371 | 383 | #define __VISIONOS_2_5 20500 |
| 384 | #define __VISIONOS_2_6 20600 | |
| 385 | #define __VISIONOS_3_0 30000 | |
| 386 | #define __VISIONOS_26_0 260000 | |
| 372 | 387 | /* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ |
| 373 | 388 | |
| 374 | 389 | |
| ... | ... | @@ -436,7 +451,6 @@ |
| 436 | 451 | #define MAC_OS_VERSION_12_7 __MAC_12_7 |
| 437 | 452 | #define MAC_OS_VERSION_13_0 __MAC_13_0 |
| 438 | 453 | #define MAC_OS_VERSION_13_1 __MAC_13_1 |
| 439 | #define MAC_OS_VERSION_13_1 __MAC_13_1 | |
| 440 | 454 | #define MAC_OS_VERSION_13_2 __MAC_13_2 |
| 441 | 455 | #define MAC_OS_VERSION_13_3 __MAC_13_3 |
| 442 | 456 | #define MAC_OS_VERSION_13_4 __MAC_13_4 |
| ... | ... | @@ -457,6 +471,9 @@ |
| 457 | 471 | #define MAC_OS_VERSION_15_3 __MAC_15_3 |
| 458 | 472 | #define MAC_OS_VERSION_15_4 __MAC_15_4 |
| 459 | 473 | #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 | |
| 460 | 477 | |
| 461 | 478 | #endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ |
| 462 | 479 |
lib/libc/include/any-macos-any/_bounds.h+4| ... | ... | @@ -42,6 +42,8 @@ |
| 42 | 42 | #define _LIBC_SINGLE_BY_DEFAULT()	__ptrcheck_abi_assume_single() |
| 43 | 43 | #define _LIBC_PTRCHECK_REPLACED(R) __ptrcheck_unavailable_r(R) |
| 44 | 44 | |
| 45 | #define _LIBC_FORGE_PTR(P, S) __unsafe_forge_bidi_indexable(__typeof__(*P) *, P, S) | |
| 46 | ||
| 45 | 47 | #else /* _LIBC_ANNOTATE_BOUNDS */ |
| 46 | 48 | |
| 47 | 49 | #define _LIBC_COUNT(x) |
| ... | ... | @@ -58,6 +60,8 @@ |
| 58 | 60 | #define _LIBC_SINGLE_BY_DEFAULT() |
| 59 | 61 | #define _LIBC_PTRCHECK_REPLACED(R) |
| 60 | 62 | |
| 63 | #define _LIBC_FORGE_PTR(P, S) (P) | |
| 64 | ||
| 61 | 65 | #endif /* _LIBC_ANNOTATE_BOUNDS */ |
| 62 | 66 | |
| 63 | 67 | #endif /* _LIBC_BOUNDS_H_ */ |
lib/libc/include/any-macos-any/_ctermid.h+5-3| ... | ... | @@ -27,13 +27,15 @@ |
| 27 | 27 | #include <sys/cdefs.h> |
| 28 | 28 | #include <_bounds.h> |
| 29 | 29 | |
| 30 | #ifndef _LIBC_COUNT__L_CTERMID | |
| 31 | #define _LIBC_COUNT__L_CTERMID _LIBC_UNSAFE_INDEXABLE | |
| 32 | #endif /* _LIBC_COUNT__L_CTERMID */ | |
| 33 | ||
| 30 | 34 | _LIBC_SINGLE_BY_DEFAULT() |
| 31 | 35 | |
| 32 | 36 | __BEGIN_DECLS |
| 33 | 37 | |
| 34 | #define	L_ctermid	1024	/* size for ctermid(); PATH_MAX */ | |
| 35 | ||
| 36 | char *_LIBC_CSTR	ctermid(char *_LIBC_COUNT_OR_NULL(L_ctermid)); | |
| 38 | char *_LIBC_CSTR	ctermid(char *_LIBC_COUNT__L_CTERMID); | |
| 37 | 39 | |
| 38 | 40 | __END_DECLS |
| 39 | 41 |
lib/libc/include/any-macos-any/_locale.h+4-25| ... | ... | @@ -41,6 +41,10 @@ |
| 41 | 41 | #include <_bounds.h> |
| 42 | 42 | #include <_types.h> |
| 43 | 43 | |
| 44 | #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 200809L | |
| 45 | #include <_locale_posix2008.h> | |
| 46 | #endif | |
| 47 | ||
| 44 | 48 | _LIBC_SINGLE_BY_DEFAULT() |
| 45 | 49 | |
| 46 | 50 | struct lconv { |
| ... | ... | @@ -72,33 +76,8 @@ struct lconv { |
| 72 | 76 | |
| 73 | 77 | #include <sys/_types/_null.h> |
| 74 | 78 | |
| 75 | #define LC_ALL_MASK			( LC_COLLATE_MASK \ | |
| 76 | 					 | LC_CTYPE_MASK \ | |
| 77 | 					 | LC_MESSAGES_MASK \ | |
| 78 | 					 | LC_MONETARY_MASK \ | |
| 79 | 					 | LC_NUMERIC_MASK \ | |
| 80 | 					 | LC_TIME_MASK ) | |
| 81 | #define LC_COLLATE_MASK			(1 << 0) | |
| 82 | #define LC_CTYPE_MASK			(1 << 1) | |
| 83 | #define LC_MESSAGES_MASK		(1 << 2) | |
| 84 | #define LC_MONETARY_MASK		(1 << 3) | |
| 85 | #define LC_NUMERIC_MASK			(1 << 4) | |
| 86 | #define LC_TIME_MASK			(1 << 5) | |
| 87 | ||
| 88 | #define _LC_NUM_MASK			6 | |
| 89 | #define _LC_LAST_MASK			(1 << (_LC_NUM_MASK - 1)) | |
| 90 | ||
| 91 | #define LC_GLOBAL_LOCALE		((locale_t)-1) | |
| 92 | #define LC_C_LOCALE				((locale_t)NULL) | |
| 93 | ||
| 94 | #include <_types/_locale_t.h> | |
| 95 | ||
| 96 | 79 | __BEGIN_DECLS |
| 97 | locale_t	duplocale(locale_t); | |
| 98 | int		freelocale(locale_t); | |
| 99 | 80 | struct lconv	*localeconv(void); |
| 100 | locale_t	newlocale(int, __const char *, locale_t); | |
| 101 | locale_t	uselocale(locale_t); | |
| 102 | 81 | __END_DECLS |
| 103 | 82 | |
| 104 | 83 | #endif /* __LOCALE_H_ */ |
lib/libc/include/any-macos-any/_locale_posix2008.h created+65| ... | ... | @@ -0,0 +1,65 @@ |
| 1 | /* | |
| 2 | * Copyright (c) 2005 - 2025 Apple Computer, Inc. All rights reserved. | |
| 3 | * | |
| 4 | * @APPLE_LICENSE_HEADER_START@ | |
| 5 | * | |
| 6 | * This file contains Original Code and/or Modifications of Original Code | |
| 7 | * as defined in and that are subject to the Apple Public Source License | |
| 8 | * Version 2.0 (the 'License'). You may not use this file except in | |
| 9 | * compliance with the License. Please obtain a copy of the License at | |
| 10 | * http://www.opensource.apple.com/apsl/ and read it before using this | |
| 11 | * file. | |
| 12 | * | |
| 13 | * The Original Code and all software distributed under the License are | |
| 14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
| 15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
| 16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
| 17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. | |
| 18 | * Please see the License for the specific language governing rights and | |
| 19 | * limitations under the License. | |
| 20 | * | |
| 21 | * @APPLE_LICENSE_HEADER_END@ | |
| 22 | */ | |
| 23 | ||
| 24 | #ifndef __LOCALE_POSIX2008_H_ | |
| 25 | #define __LOCALE_POSIX2008_H_ | |
| 26 | ||
| 27 | #include <sys/cdefs.h> | |
| 28 | #include <_types.h> | |
| 29 | ||
| 30 | _LIBC_SINGLE_BY_DEFAULT() | |
| 31 | ||
| 32 | /* | |
| 33 | * These definitions were all historically provided by <xlocale.h>, but they | |
| 34 | * became standardized in POSIX.1-2008. We make them available via either | |
| 35 | * <xlocale.h> or <locale.h> at the appropriate conformance level. | |
| 36 | */ | |
| 37 | #define LC_ALL_MASK			( LC_COLLATE_MASK \ | |
| 38 | 					 | LC_CTYPE_MASK \ | |
| 39 | 					 | LC_MESSAGES_MASK \ | |
| 40 | 					 | LC_MONETARY_MASK \ | |
| 41 | 					 | LC_NUMERIC_MASK \ | |
| 42 | 					 | LC_TIME_MASK ) | |
| 43 | #define LC_COLLATE_MASK			(1 << 0) | |
| 44 | #define LC_CTYPE_MASK			(1 << 1) | |
| 45 | #define LC_MESSAGES_MASK		(1 << 2) | |
| 46 | #define LC_MONETARY_MASK		(1 << 3) | |
| 47 | #define LC_NUMERIC_MASK			(1 << 4) | |
| 48 | #define LC_TIME_MASK			(1 << 5) | |
| 49 | ||
| 50 | #define _LC_NUM_MASK			6 | |
| 51 | #define _LC_LAST_MASK			(1 << (_LC_NUM_MASK - 1)) | |
| 52 | ||
| 53 | #define LC_GLOBAL_LOCALE		((locale_t)-1) | |
| 54 | #define LC_C_LOCALE				((locale_t)NULL) | |
| 55 | ||
| 56 | #include <_types/_locale_t.h> | |
| 57 | ||
| 58 | __BEGIN_DECLS | |
| 59 | locale_t	duplocale(locale_t); | |
| 60 | int		freelocale(locale_t); | |
| 61 | locale_t	newlocale(int, __const char *, locale_t); | |
| 62 | locale_t	uselocale(locale_t); | |
| 63 | __END_DECLS | |
| 64 | ||
| 65 | #endif /* __LOCALE_POSIX2008_H_ */ |
lib/libc/include/any-macos-any/_stdio.h+4| ... | ... | @@ -308,6 +308,10 @@ __END_DECLS |
| 308 | 308 | |
| 309 | 309 | #if __DARWIN_C_LEVEL >= 198808L |
| 310 | 310 | |
| 311 | #define	L_ctermid	1024	/* size for ctermid(); PATH_MAX */ | |
| 312 | #undef _LIBC_COUNT__L_CTERMID | |
| 313 | #define _LIBC_COUNT__L_CTERMID _LIBC_COUNT_OR_NULL(L_ctermid) | |
| 314 | ||
| 311 | 315 | #include <_ctermid.h> |
| 312 | 316 | |
| 313 | 317 | __BEGIN_DECLS |
lib/libc/include/any-macos-any/_stdlib.h+10-5| ... | ... | @@ -123,18 +123,23 @@ typedef struct { |
| 123 | 123 | |
| 124 | 124 | #define	RAND_MAX	0x7fffffff |
| 125 | 125 | |
| 126 | // When _USE_EXTENDED_LOCALES_ is enabled (by including xlocale.h), | |
| 127 | // MB_CUR_MAX is defined by xlocale.h. | |
| 128 | #if !defined(MB_CUR_MAX) && !defined(_USE_EXTENDED_LOCALES_) | |
| 129 | 126 | #if __has_feature(modules) |
| 130 | 127 | // When clang modules are enabled, there can only be one definition of |
| 131 | 128 | // MB_CUR_MAX, and that needs to be the same one used by xlocale.h. |
| 132 | 129 | #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_ */ | |
| 134 | 138 | extern int __mb_cur_max; |
| 135 | 139 | #define	MB_CUR_MAX	__mb_cur_max |
| 140 | #endif /* _USE_EXTENDED_LOCALES_ */ | |
| 141 | #endif /* MB_CUR_MAX */ | |
| 136 | 142 | #endif /* __has_feature(modules) */ |
| 137 | #endif /* !MB_CUR_MAX && !_USE_EXTENDED_LOCALES_ */ | |
| 138 | 143 | |
| 139 | 144 | #include <malloc/_malloc.h> |
| 140 | 145 | #include <_abort.h> |
lib/libc/include/any-macos-any/_string.h+2-2| ... | ... | @@ -100,7 +100,7 @@ char *_LIBC_CSTR |
| 100 | 100 | 		_LIBC_PTRCHECK_REPLACED(strlcat); |
| 101 | 101 | int	 strncmp(const char *_LIBC_UNSAFE_INDEXABLE __s1, |
| 102 | 102 | 		const char *_LIBC_UNSAFE_INDEXABLE __s2, size_t __n); |
| 103 | char *_LIBC_UNSAFE_INDEXABLE | |
| 103 | char *_LIBC_COUNT(__n) | |
| 104 | 104 | 		strncpy(char *_LIBC_COUNT(__n) __dst, |
| 105 | 105 | const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n) |
| 106 | 106 | _LIBC_PTRCHECK_REPLACED(strlcpy); |
| ... | ... | @@ -155,7 +155,7 @@ __END_DECLS |
| 155 | 155 | __BEGIN_DECLS |
| 156 | 156 | char *_LIBC_CSTR |
| 157 | 157 | stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy); |
| 158 | char *_LIBC_CSTR | |
| 158 | char *_LIBC_COUNT(__n) | |
| 159 | 159 | stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst, |
| 160 | 160 | const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n) |
| 161 | 161 | __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3) |
lib/libc/include/any-macos-any/_xlocale.h+1| ... | ... | @@ -32,6 +32,7 @@ |
| 32 | 32 | #endif /* _USE_EXTENDED_LOCALES_ */ |
| 33 | 33 | |
| 34 | 34 | #include <_locale.h> |
| 35 | #include <_locale_posix2008.h> | |
| 35 | 36 | #include <__xlocale.h> |
| 36 | 37 | |
| 37 | 38 | _LIBC_SINGLE_BY_DEFAULT() |
lib/libc/include/any-macos-any/assert.h-3| ... | ... | @@ -40,9 +40,6 @@ |
| 40 | 40 | */ |
| 41 | 41 | |
| 42 | 42 | #include <sys/cdefs.h> |
| 43 | #ifdef __cplusplus | |
| 44 | #include <stdlib.h> | |
| 45 | #endif /* __cplusplus */ | |
| 46 | 43 | |
| 47 | 44 | /* |
| 48 | 45 | * Unlike other ANSI header files, <assert.h> may usefully be included |
lib/libc/include/any-macos-any/mach/host_info.h+5-4| ... | ... | @@ -207,11 +207,12 @@ typedef struct vm_purgeable_info *host_purgable_info_t; |
| 207 | 207 | |
| 208 | 208 | /* size of the latest version of the structure */ |
| 209 | 209 | #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))) | |
| 211 | 213 | /* previous versions: adjust the size according to what was added each time */ |
| 212 | #define HOST_VM_INFO64_REV0_COUNT /* added compression and swapper info (14 ints) */ \ | |
| 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))) | |
| 215 | 216 | |
| 216 | 217 | /* in <mach/vm_statistics.h> */ |
| 217 | 218 | /* vm_extmod_statistics */ |
lib/libc/include/any-macos-any/mach/mach_port.h+4-4| ... | ... | @@ -501,7 +501,7 @@ kern_return_t mach_port_kobject |
| 501 | 501 | ( |
| 502 | 502 | 	ipc_space_read_t task, |
| 503 | 503 | 	mach_port_name_t name, |
| 504 | 	natural_t *object_type, | |
| 504 | 	ipc_info_object_type_t *object_type, | |
| 505 | 505 | 	mach_vm_address_t *object_addr |
| 506 | 506 | ); |
| 507 | 507 | |
| ... | ... | @@ -610,7 +610,7 @@ kern_return_t mach_port_kobject_description |
| 610 | 610 | ( |
| 611 | 611 | 	ipc_space_read_t task, |
| 612 | 612 | 	mach_port_name_t name, |
| 613 | 	natural_t *object_type, | |
| 613 | 	ipc_info_object_type_t *object_type, | |
| 614 | 614 | 	mach_vm_address_t *object_addr, |
| 615 | 615 | 	kobject_description_t description |
| 616 | 616 | ); |
| ... | ... | @@ -1690,7 +1690,7 @@ union __RequestUnion__mach_port_subsystem { |
| 1690 | 1690 | 		mach_msg_header_t Head; |
| 1691 | 1691 | 		NDR_record_t NDR; |
| 1692 | 1692 | 		kern_return_t RetCode; |
| 1693 | 		natural_t object_type; | |
| 1693 | 		ipc_info_object_type_t object_type; | |
| 1694 | 1694 | 		mach_vm_address_t object_addr; |
| 1695 | 1695 | 	} __Reply__mach_port_kobject_t __attribute__((unused)); |
| 1696 | 1696 | #ifdef __MigPackStructs |
| ... | ... | @@ -1790,7 +1790,7 @@ union __RequestUnion__mach_port_subsystem { |
| 1790 | 1790 | 		mach_msg_header_t Head; |
| 1791 | 1791 | 		NDR_record_t NDR; |
| 1792 | 1792 | 		kern_return_t RetCode; |
| 1793 | 		natural_t object_type; | |
| 1793 | 		ipc_info_object_type_t object_type; | |
| 1794 | 1794 | 		mach_vm_address_t object_addr; |
| 1795 | 1795 | 		mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */ |
| 1796 | 1796 | 		mach_msg_type_number_t descriptionCnt; |
lib/libc/include/any-macos-any/mach/mach_traps.h+5| ... | ... | @@ -68,6 +68,7 @@ |
| 68 | 68 | |
| 69 | 69 | #include <stdint.h> |
| 70 | 70 | |
| 71 | #include <mach/error.h> | |
| 71 | 72 | #include <mach/std_types.h> |
| 72 | 73 | #include <mach/mach_types.h> |
| 73 | 74 | #include <mach/kern_return.h> |
| ... | ... | @@ -296,6 +297,10 @@ extern kern_return_t debug_control_port_for_pid( |
| 296 | 297 | 	int pid, |
| 297 | 298 | 	mach_port_name_t *t); |
| 298 | 299 | |
| 300 | extern mach_error_t mach_vm_reclaim_update_kernel_accounting_trap( | |
| 301 | 	mach_port_name_t target_tport, | |
| 302 | 	uint64_t *bytes_reclaimed); | |
| 303 | ||
| 299 | 304 | |
| 300 | 305 | __END_DECLS |
| 301 | 306 |
lib/libc/include/any-macos-any/mach/machine.h+5| ... | ... | @@ -332,6 +332,9 @@ typedef integer_t cpu_threadtype_t; |
| 332 | 332 | #define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */ |
| 333 | 333 | #define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */ |
| 334 | 334 | #define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */ |
| 335 | #define CPU_SUBTYPE_ARM_V8M_MAIN CPU_SUBTYPE_ARM_V8M /* Not meant to be run under xnu */ | |
| 336 | #define CPU_SUBTYPE_ARM_V8M_BASE ((cpu_subtype_t) 18) /* Not meant to be run under xnu */ | |
| 337 | #define CPU_SUBTYPE_ARM_V8_1M_MAIN ((cpu_subtype_t) 19) /* Not meant to be run under xnu */ | |
| 335 | 338 | |
| 336 | 339 | /* |
| 337 | 340 | * ARM64 subtypes |
| ... | ... | @@ -406,6 +409,8 @@ typedef integer_t cpu_threadtype_t; |
| 406 | 409 | #define CPUFAMILY_ARM_BRAVA 0x17d5b93a |
| 407 | 410 | #define CPUFAMILY_ARM_TAHITI 0x75d4acb9 |
| 408 | 411 | #define CPUFAMILY_ARM_TUPAI 0x204526d0 |
| 412 | #define CPUFAMILY_ARM_THERA 0xab345f09 | |
| 413 | #define CPUFAMILY_ARM_TILOS 0x01d7a72b | |
| 409 | 414 | |
| 410 | 415 | /* Described in rdar://64125549 */ |
| 411 | 416 | #define CPUSUBFAMILY_UNKNOWN 0 |
lib/libc/include/any-macos-any/mach/message.h+1-2| ... | ... | @@ -839,7 +839,7 @@ typedef kern_return_t mach_msg_return_t; |
| 839 | 839 | #define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015 |
| 840 | 840 | /* compatibility: no longer a returned error */ |
| 841 | 841 | #define MACH_SEND_NO_GRANT_DEST 0x10000016 |
| 842 | /* The destination port doesn't accept ports in body */ | |
| 842 | /* compatibility: no longer a returned error */ | |
| 843 | 843 | #define MACH_SEND_MSG_FILTERED 0x10000017 |
| 844 | 844 | /* Message send was rejected by message filter */ |
| 845 | 845 | #define MACH_SEND_AUX_TOO_SMALL 0x10000018 |
| ... | ... | @@ -885,7 +885,6 @@ typedef kern_return_t mach_msg_return_t; |
| 885 | 885 | /* invalid receive arguments, receive has not started */ |
| 886 | 886 | |
| 887 | 887 | |
| 888 | ||
| 889 | 888 | __BEGIN_DECLS |
| 890 | 889 | |
| 891 | 890 | /* |
lib/libc/include/any-macos-any/mach/port.h+133-49| ... | ... | @@ -152,28 +152,12 @@ typedef mach_port_t *mach_port_array_t; |
| 152 | 152 | *	and reused too quickly [to catch right/reference counting bugs]. |
| 153 | 153 | *	The dividing line between the constituent parts is exposed so |
| 154 | 154 | *	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. | |
| 160 | 156 | */ |
| 161 | 157 | |
| 162 | #ifndef NO_PORT_GEN | |
| 163 | ||
| 164 | 158 | #define MACH_PORT_INDEX(name) ((name) >> 8) |
| 165 | 159 | #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)) | |
| 177 | 161 | |
| 178 | 162 | /* |
| 179 | 163 | * These are the different rights a task may have for a port. |
| ... | ... | @@ -281,7 +265,7 @@ typedef struct mach_port_limits { |
| 281 | 265 | #define MACH_PORT_STATUS_FLAG_REVIVE 0x10 |
| 282 | 266 | #define MACH_PORT_STATUS_FLAG_TASKPTR 0x20 |
| 283 | 267 | #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 */ | |
| 285 | 269 | |
| 286 | 270 | typedef struct mach_port_info_ext { |
| 287 | 271 | 	mach_port_status_t mpie_status; |
| ... | ... | @@ -344,36 +328,95 @@ typedef struct mach_service_port_info { |
| 344 | 328 | |
| 345 | 329 | typedef struct mach_service_port_info * mach_service_port_info_t; |
| 346 | 330 | |
| 331 | /* | |
| 332 | * Platform binaries are not allowed to send OOL port array to any port. | |
| 333 | * | |
| 334 | * MACH_MSG_OOL_PORTS_DESCRIPTOR are allowed to be sent ONLY to receive | |
| 335 | * rights that are explicitly allow to receive that descriptor. | |
| 336 | * | |
| 337 | * Such ports have a dedicated port type, and are created using the | |
| 338 | * MPO_CONNECTION_PORT_WITH_PORT_ARRAY flag. | |
| 339 | * | |
| 340 | * Creation of such ports requires the binary to have the following entitlement. | |
| 341 | */ | |
| 342 | #define MACH_PORT_CONNECTION_PORT_WITH_PORT_ARRAY "com.apple.developer.allow-connection-port-with-port-array" | |
| 343 | ||
| 344 | /* Allows 1p process to create provisional reply port (to be rename to weak reply port) */ | |
| 345 | #define MACH_PORT_PROVISIONAL_REPLY_ENTITLEMENT "com.apple.private.allow-weak-reply-port" | |
| 346 | ||
| 347 | 347 | /* |
| 348 | 348 | * Flags for mach_port_options (used for |
| 349 | 349 | * invocation of mach_port_construct). |
| 350 | 350 | * Indicates attributes to be set for the newly |
| 351 | 351 | * allocated port. |
| 352 | 352 | */ |
| 353 | #define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */ | |
| 354 | #define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */ | |
| 355 | #define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */ | |
| 356 | #define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */ | |
| 357 | #define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */ | |
| 358 | #define MPO_STRICT 0x20 /* Apply strict guarding for port */ | |
| 359 | #define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */ | |
| 360 | #define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */ | |
| 361 | #define MPO_FILTER_MSG 0x100 /* Allow message filtering */ | |
| 362 | #define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */ | |
| 363 | #define MPO_SERVICE_PORT 0x400 /* Create a service port with the given name; should be used only by launchd */ | |
| 364 | #define MPO_CONNECTION_PORT 0x800 /* Derive new peer connection port from a given service port */ | |
| 365 | #define MPO_REPLY_PORT 0x1000 /* Designate port as a reply port. */ | |
| 366 | #define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/ | |
| 367 | #define MPO_PROVISIONAL_REPLY_PORT 0x4000 /* Designate port as a provisional reply port. */ | |
| 368 | #define MPO_EXCEPTION_PORT 0x8000 /* Used for hardened exceptions - immovable */ | |
| 369 | 353 | |
| 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) | |
| 370 | 413 | |
| 371 | 414 | /* |
| 372 | 415 | * Structure to define optional attributes for a newly |
| 373 | 416 | * constructed port. |
| 374 | 417 | */ |
| 375 | 418 | typedef struct mach_port_options { |
| 376 | 	uint32_t flags; /* Flags defining attributes for port */ | |
| 419 | 	uint32_t flags; | |
| 377 | 420 | 	mach_port_limits_t mpl; /* Message queue limit for port */ |
| 378 | 421 | 	union { |
| 379 | 422 | 		uint64_t reserved[2]; /* Reserved */ |
| ... | ... | @@ -405,6 +448,7 @@ typedef mach_port_options_t *mach_port_options_ptr_t; |
| 405 | 448 | * but are truly an enum, please add new values in the "holes". |
| 406 | 449 | */ |
| 407 | 450 | enum mach_port_guard_exception_codes { |
| 451 | 	kGUARD_EXC_NONE = 0, /* never sent */ | |
| 408 | 452 | 	kGUARD_EXC_DESTROY = 1, |
| 409 | 453 | 	kGUARD_EXC_MOD_REFS = 2, |
| 410 | 454 | 	kGUARD_EXC_INVALID_OPTIONS = 3, |
| ... | ... | @@ -413,9 +457,14 @@ enum mach_port_guard_exception_codes { |
| 413 | 457 | 	kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6, |
| 414 | 458 | 	kGUARD_EXC_SERVICE_PORT_VIOLATION_FATAL = 7, /* unused, for future sp defense enablement */ |
| 415 | 459 | 	kGUARD_EXC_UNGUARDED = 8, |
| 460 | 	kGUARD_EXC_KOBJECT_REPLY_PORT_SEMANTICS = 9, | |
| 461 | 	kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 10, | |
| 416 | 462 | 	kGUARD_EXC_INCORRECT_GUARD = 16, |
| 417 | 463 | 	kGUARD_EXC_IMMOVABLE = 32, |
| 418 | 464 | 	kGUARD_EXC_STRICT_REPLY = 64, |
| 465 | 	kGUARD_EXC_INVALID_NOTIFICATION_REQ = 65, | |
| 466 | 	kGUARD_EXC_INVALID_MPO_ENTITLEMENT = 66, | |
| 467 | 	kGUARD_EXC_DESCRIPTOR_VIOLATION = 67, | |
| 419 | 468 | 	kGUARD_EXC_MSG_FILTERED = 128, |
| 420 | 469 | 	/* start of [optionally] non-fatal guards */ |
| 421 | 470 | 	kGUARD_EXC_INVALID_RIGHT = 256, |
| ... | ... | @@ -434,40 +483,75 @@ enum mach_port_guard_exception_codes { |
| 434 | 483 | 	kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */ |
| 435 | 484 | 	kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused, for future sp defense enablement */ |
| 436 | 485 | 	kGUARD_EXC_PROVISIONAL_REPLY_PORT = 0x00100002, |
| 486 | 	kGUARD_EXC_OOL_PORT_ARRAY_CREATION = 0x00100003, /* unused */ | |
| 487 | 	kGUARD_EXC_MOVE_PROVISIONAL_REPLY_PORT = 0x00100004, | |
| 488 | 	kGUARD_EXC_REPLY_PORT_SINGLE_SO_RIGHT = 0x00100005, | |
| 437 | 489 | 	kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21, |
| 438 | 490 | 	kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, |
| 439 | 	kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 1u << 23, | |
| 440 | 491 | }; |
| 441 | 492 | |
| 442 | 493 | #define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED |
| 443 | 494 | #define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME |
| 444 | 495 | |
| 496 | ||
| 445 | 497 | /* |
| 446 | 498 | * Mach port guard flags. |
| 447 | 499 | */ |
| 448 | #define MPG_FLAGS_NONE (0x00ull) | |
| 500 | #define MPG_FLAGS_NONE 0x00 | |
| 449 | 501 | |
| 450 | 502 | /* |
| 451 | 503 | * These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions. |
| 452 | 504 | */ |
| 453 | #define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56) | |
| 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 | |
| 459 | 507 | |
| 460 | 508 | /* |
| 461 | 509 | * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions. |
| 462 | 510 | */ |
| 463 | #define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56) | |
| 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 */ | |
| 466 | 548 | |
| 467 | 549 | /* |
| 468 | * These flags are used as bits in the subcode of kGUARD_EXC_IMMOVABLE exceptions. | |
| 550 | * These flags are used as bits in the subcode of kGUARD_EXC_INVALID_OPTIONS exceptions. | |
| 469 | 551 | */ |
| 470 | #define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56) | |
| 552 | #define MPG_FLAGS_INVALID_OPTIONS_OOL_DISP 0x01 /* ipc_kmsg_copyin_ool_ports_descriptor() */ | |
| 553 | #define MPG_FLAGS_INVALID_OPTIONS_OOL_ARRAYS 0x02 /* ipc_validate_kmsg_header_from_user() */ | |
| 554 | #define MPG_FLAGS_INVALID_OPTIONS_OOL_RIGHT 0x03 /* ipc_validate_kmsg_header_from_user() */ | |
| 471 | 555 | |
| 472 | 556 | /* |
| 473 | 557 | * Flags for mach_port_guard_with_flags. These flags extend |
lib/libc/include/any-macos-any/mach/task_info.h+10| ... | ... | @@ -511,6 +511,16 @@ typedef struct task_security_config_info * task_security_config_info_t; |
| 511 | 511 | #define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \ |
| 512 | 512 | 	 (sizeof(struct task_security_config_info) / sizeof(natural_t))) |
| 513 | 513 | |
| 514 | ||
| 515 | #define TASK_IPC_SPACE_POLICY_INFO 33 /* Runtime security mitigations configuration for the task */ | |
| 516 | struct task_ipc_space_policy_info { | |
| 517 | 	uint32_t space_policy; /* Configuration bitmask */ | |
| 518 | }; | |
| 519 | ||
| 520 | typedef struct task_ipc_space_policy_info * task_ipc_space_policy_info_t; | |
| 521 | #define TASK_IPC_SPACE_POLICY_INFO_COUNT ((mach_msg_type_number_t) \ | |
| 522 | 	 (sizeof(struct task_ipc_space_policy_info) / sizeof(natural_t))) | |
| 523 | ||
| 514 | 524 | /* |
| 515 | 525 | * Type to control EXC_GUARD delivery options for a task |
| 516 | 526 | * via task_get/set_exc_guard_behavior interface(s). |
lib/libc/include/any-macos-any/mach/task_policy.h+1| ... | ... | @@ -121,6 +121,7 @@ typedef enum task_role { |
| 121 | 121 | 	TASK_NONUI_APPLICATION = 6, |
| 122 | 122 | 	TASK_DEFAULT_APPLICATION = 7, |
| 123 | 123 | 	TASK_DARWINBG_APPLICATION = 8, |
| 124 | 	TASK_USER_INIT_APPLICATION = 9, | |
| 124 | 125 | } task_role_t; |
| 125 | 126 | |
| 126 | 127 | struct task_category_policy { |
lib/libc/include/any-macos-any/mach/thread_info.h-1| ... | ... | @@ -74,7 +74,6 @@ |
| 74 | 74 | #include <mach/time_value.h> |
| 75 | 75 | #include <mach/message.h> |
| 76 | 76 | #include <mach/machine/vm_types.h> |
| 77 | ||
| 78 | 77 | /* |
| 79 | 78 | *	Generic information structure to allow for expansion. |
| 80 | 79 | */ |
lib/libc/include/any-macos-any/mach/vm_region.h+18| ... | ... | @@ -228,6 +228,7 @@ typedef struct vm_region_submap_info vm_region_submap_info_data_t; |
| 228 | 228 | 	 (sizeof(vm_region_submap_info_data_t) / sizeof(natural_t))) |
| 229 | 229 | |
| 230 | 230 | struct vm_region_submap_info_64 { |
| 231 | 	/* v0 fields */ | |
| 231 | 232 | 	vm_prot_t protection; /* present access protection */ |
| 232 | 233 | 	vm_prot_t max_protection; /* max avail through vm_prot */ |
| 233 | 234 | 	vm_inherit_t inheritance;/* behavior of map/obj on fork */ |
| ... | ... | @@ -245,18 +246,30 @@ struct vm_region_submap_info_64 { |
| 245 | 246 | 	vm_behavior_t behavior; /* access behavior hint */ |
| 246 | 247 | 	vm32_object_id_t object_id; /* obj/map name, not a handle */ |
| 247 | 248 | 	unsigned short user_wired_count; |
| 249 | 	unsigned short flags; | |
| 250 | 	/* v1 fields */ | |
| 248 | 251 | 	unsigned int pages_reusable; |
| 252 | 	/* v2 fields */ | |
| 249 | 253 | 	vm_object_id_t object_id_full; |
| 250 | 254 | }; |
| 251 | 255 | |
| 252 | 256 | typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t; |
| 253 | 257 | typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t; |
| 254 | 258 | |
| 259 | /* | |
| 260 | * Note that this size is hard-coded at the MIG boundary in mach_types.defs | |
| 261 | * so if we ever increase this you'll need to also bump the definition of | |
| 262 | * vm_region_recurse_info_t. | |
| 263 | */ | |
| 255 | 264 | #define VM_REGION_SUBMAP_INFO_V2_SIZE \ |
| 256 | 265 | 	(sizeof (vm_region_submap_info_data_64_t)) |
| 266 | ||
| 267 | /* v1 size is v2 size minus v2's new fields */ | |
| 257 | 268 | #define VM_REGION_SUBMAP_INFO_V1_SIZE \ |
| 258 | 269 | 	(VM_REGION_SUBMAP_INFO_V2_SIZE - \ |
| 259 | 270 | 	 sizeof (vm_object_id_t) /* object_id_full */ ) |
| 271 | ||
| 272 | /* v0 size is v1 size minus v1's new fields */ | |
| 260 | 273 | #define VM_REGION_SUBMAP_INFO_V0_SIZE \ |
| 261 | 274 | 	(VM_REGION_SUBMAP_INFO_V1_SIZE - \ |
| 262 | 275 | 	 sizeof (unsigned int) /* pages_reusable */ ) |
| ... | ... | @@ -274,6 +287,10 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t |
| 274 | 287 | /* set this to the latest version */ |
| 275 | 288 | #define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V2_COUNT_64 |
| 276 | 289 | |
| 290 | #define VM_REGION_FLAG_JIT_ENABLED 0x1 | |
| 291 | #define VM_REGION_FLAG_TPRO_ENABLED 0x2 | |
| 292 | ||
| 293 | ||
| 277 | 294 | struct vm_region_submap_short_info_64 { |
| 278 | 295 | 	vm_prot_t protection; /* present access protection */ |
| 279 | 296 | 	vm_prot_t max_protection; /* max avail through vm_prot */ |
| ... | ... | @@ -288,6 +305,7 @@ struct vm_region_submap_short_info_64 { |
| 288 | 305 | 	vm_behavior_t behavior; /* access behavior hint */ |
| 289 | 306 | 	vm32_object_id_t object_id; /* obj/map name, not a handle */ |
| 290 | 307 | 	unsigned short user_wired_count; |
| 308 | 	unsigned short flags; | |
| 291 | 309 | }; |
| 292 | 310 | |
| 293 | 311 | typedef struct vm_region_submap_short_info_64 *vm_region_submap_short_info_64_t; |
lib/libc/include/any-macos-any/mach/vm_statistics.h+61-12| ... | ... | @@ -66,6 +66,9 @@ |
| 66 | 66 | #ifndef _MACH_VM_STATISTICS_H_ |
| 67 | 67 | #define _MACH_VM_STATISTICS_H_ |
| 68 | 68 | |
| 69 | ||
| 70 | #include <Availability.h> | |
| 71 | #include <os/base.h> | |
| 69 | 72 | #include <stdbool.h> |
| 70 | 73 | #include <sys/cdefs.h> |
| 71 | 74 | |
| ... | ... | @@ -74,6 +77,8 @@ |
| 74 | 77 | |
| 75 | 78 | __BEGIN_DECLS |
| 76 | 79 | |
| 80 | #pragma mark VM Statistics | |
| 81 | ||
| 77 | 82 | /* |
| 78 | 83 | * vm_statistics |
| 79 | 84 | * |
| ... | ... | @@ -141,7 +146,7 @@ struct vm_statistics64 { |
| 141 | 146 | 	natural_t wire_count; /* # of pages wired down */ |
| 142 | 147 | 	uint64_t zero_fill_count; /* # of zero fill pages */ |
| 143 | 148 | 	uint64_t reactivations; /* # of pages reactivated */ |
| 144 | 	uint64_t pageins; /* # of pageins */ | |
| 149 | 	uint64_t pageins; /* # of pageins (lifetime) */ | |
| 145 | 150 | 	uint64_t pageouts; /* # of pageouts */ |
| 146 | 151 | 	uint64_t faults; /* # of faults */ |
| 147 | 152 | 	uint64_t cow_faults; /* # of copy-on-writes */ |
| ... | ... | @@ -158,15 +163,17 @@ struct vm_statistics64 { |
| 158 | 163 | 	natural_t speculative_count; /* # of pages speculative */ |
| 159 | 164 | |
| 160 | 165 | 	/* 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) */ | |
| 165 | 170 | 	natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */ |
| 166 | 171 | 	natural_t throttled_count; /* # of pages throttled */ |
| 167 | 172 | 	natural_t external_page_count; /* # of pages that are file-backed (non-swap) */ |
| 168 | 173 | 	natural_t internal_page_count; /* # of pages that are anonymous */ |
| 169 | 174 | 	uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */ |
| 175 | 	/* added for rev2 */ | |
| 176 | 	uint64_t swapped_count; /* # of compressor-stored pages currently stored in swap */ | |
| 170 | 177 | } __attribute__((aligned(8))); |
| 171 | 178 | |
| 172 | 179 | typedef struct vm_statistics64 *vm_statistics64_t; |
| ... | ... | @@ -232,6 +239,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t; |
| 232 | 239 | #define VM_PAGE_QUERY_PAGE_CS_NX 0x400 |
| 233 | 240 | #define VM_PAGE_QUERY_PAGE_REUSABLE 0x800 |
| 234 | 241 | |
| 242 | #pragma mark User Flags | |
| 243 | ||
| 235 | 244 | /* |
| 236 | 245 | * VM allocation flags: |
| 237 | 246 | * |
| ... | ... | @@ -334,17 +343,27 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t; |
| 334 | 343 | __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 335 | 344 | 	kGUARD_EXC_DEALLOC_GAP = 1, |
| 336 | 345 | 	kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2, |
| 337 | 	kGUARD_EXC_SEC_LOOKUP_DENIED = 3, | |
| 338 | 346 | 	kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4, |
| 339 | 	kGUARD_EXC_SEC_RANGE_DENIED = 6, | |
| 340 | 	kGUARD_EXC_SEC_ACCESS_FAULT = 7, | |
| 341 | 347 | 	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 | ||
| 345 | 361 | }); |
| 346 | 362 | |
| 347 | 363 | |
| 364 | ||
| 365 | #pragma mark Ledger Tags | |
| 366 | ||
| 348 | 367 | /* current accounting postmark */ |
| 349 | 368 | #define __VM_LEDGER_ACCOUNTING_POSTMARK 2019032600 |
| 350 | 369 | |
| ... | ... | @@ -372,6 +391,14 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 372 | 391 | #define VM_LEDGER_FLAGS_USER (VM_LEDGER_FLAG_NO_FOOTPRINT | VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG) |
| 373 | 392 | #define VM_LEDGER_FLAGS_ALL (VM_LEDGER_FLAGS_USER | VM_LEDGER_FLAG_FROM_KERNEL) |
| 374 | 393 | |
| 394 | #pragma mark User Memory Tags | |
| 395 | ||
| 396 | /* | |
| 397 | * These tags may be used to identify memory regions created with | |
| 398 | * `mach_vm_map()` or `mach_vm_allocate()` via the top 8 bits of the `flags` | |
| 399 | * parameter. Users should pass `VM_MAKE_TAG(tag) | flags` (see section | |
| 400 | * "User Flags"). | |
| 401 | */ | |
| 375 | 402 | #define VM_MEMORY_MALLOC 1 |
| 376 | 403 | #define VM_MEMORY_MALLOC_SMALL 2 |
| 377 | 404 | #define VM_MEMORY_MALLOC_LARGE 3 |
| ... | ... | @@ -400,6 +427,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 400 | 427 | /* Was a nested pmap (VM_MEMORY_SHARED_PMAP) which has now been unnested */ |
| 401 | 428 | #define VM_MEMORY_UNSHARED_PMAP 35 |
| 402 | 429 | |
| 430 | /* for libchannel memory, mostly used on visionOS for communication with realtime threads */ | |
| 431 | #define VM_MEMORY_LIBCHANNEL 36 | |
| 403 | 432 | |
| 404 | 433 | // Placeholders for now -- as we analyze the libraries and find how they |
| 405 | 434 | // use memory, we can make these labels more specific. |
| ... | ... | @@ -411,6 +440,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 411 | 440 | #define VM_MEMORY_JAVA 44 |
| 412 | 441 | #define VM_MEMORY_COREDATA 45 |
| 413 | 442 | #define VM_MEMORY_COREDATA_OBJECTIDS 46 |
| 443 | ||
| 414 | 444 | #define VM_MEMORY_ATS 50 |
| 415 | 445 | #define VM_MEMORY_LAYERKIT 51 |
| 416 | 446 | #define VM_MEMORY_CGIMAGE 52 |
| ... | ... | @@ -506,6 +536,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 506 | 536 | /* DHMM data */ |
| 507 | 537 | #define VM_MEMORY_DHMM 84 |
| 508 | 538 | |
| 539 | /* memory needed for DFR related actions */ | |
| 540 | #define VM_MEMORY_DFR 85 | |
| 509 | 541 | |
| 510 | 542 | /* memory allocated by SceneKit.framework */ |
| 511 | 543 | #define VM_MEMORY_SCENEKIT 86 |
| ... | ... | @@ -562,6 +594,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 562 | 594 | /* memory allocated by CoreMedia */ |
| 563 | 595 | #define VM_MEMORY_CM_HLS 106 |
| 564 | 596 | |
| 597 | /* memory allocated for CompositorServices */ | |
| 598 | #define VM_MEMORY_COMPOSITOR_SERVICES 107 | |
| 599 | ||
| 565 | 600 | /* Reserve 230-239 for Rosetta */ |
| 566 | 601 | #define VM_MEMORY_ROSETTA 230 |
| 567 | 602 | #define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231 |
| ... | ... | @@ -573,7 +608,21 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { |
| 573 | 608 | #define VM_MEMORY_ROSETTA_10 239 |
| 574 | 609 | |
| 575 | 610 | /* 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 | |
| 577 | 626 | #define VM_MEMORY_APPLICATION_SPECIFIC_16 255 |
| 578 | 627 | |
| 579 | 628 | #define VM_MEMORY_COUNT 256 |
lib/libc/include/any-macos-any/mach_debug/ipc_info.h+75| ... | ... | @@ -70,6 +70,81 @@ |
| 70 | 70 | #include <mach/port.h> |
| 71 | 71 | #include <mach/machine/vm_types.h> |
| 72 | 72 | |
| 73 | /*! | |
| 74 | * @brief | |
| 75 | * Type for mach_port_kobject_description() only. | |
| 76 | * | |
| 77 | * @discussion | |
| 78 | * This type preserved the `IOT_*` values that @c ipc_kobject_type_t used | |
| 79 | * to carry, whose ABI of this type was known to debugging tools of userspace, | |
| 80 | * by copying XNU's source. | |
| 81 | * | |
| 82 | * This provides a guaranteed stable interface now (however no guarantee | |
| 83 | * is made that values are still in use). | |
| 84 | * | |
| 85 | * Values should never be removed to that list, merely abandonned with | |
| 86 | * a comment. | |
| 87 | */ | |
| 88 | __enum_decl(ipc_info_object_type_t, natural_t, { | |
| 89 | 	IPC_OTYPE_NONE = 0, | |
| 90 | 	IPC_OTYPE_THREAD_CONTROL = 1, | |
| 91 | 	IPC_OTYPE_TASK_CONTROL = 2, | |
| 92 | 	IPC_OTYPE_HOST = 3, | |
| 93 | 	IPC_OTYPE_HOST_PRIV = 4, | |
| 94 | 	IPC_OTYPE_PROCESSOR = 5, | |
| 95 | 	IPC_OTYPE_PROCESSOR_SET = 6, | |
| 96 | 	IPC_OTYPE_PROCESSOR_SET_NAME = 7, | |
| 97 | 	IPC_OTYPE_TIMER = 8, | |
| 98 | 	IPC_OTYPE_PORT_SUBST_ONCE = 9, /* obsolete: no instances */ | |
| 99 | 	IPC_OTYPE_MIG = 10, /* obsolete: no instances */ | |
| 100 | 	IPC_OTYPE_MEMORY_OBJECT = 11, /* no port instances */ | |
| 101 | 	IPC_OTYPE_XMM_PAGER = 12, /* obsolete: no instances */ | |
| 102 | 	IPC_OTYPE_XMM_KERNEL = 13, /* obsolete: no instances */ | |
| 103 | 	IPC_OTYPE_XMM_REPLY = 14, /* obsolete: no instances */ | |
| 104 | 	IPC_OTYPE_UND_REPLY = 15, | |
| 105 | 	IPC_OTYPE_HOST_NOTIFY = 16, /* obsolete: no instances */ | |
| 106 | 	IPC_OTYPE_HOST_SECURITY = 17, /* obsolete: no instances */ | |
| 107 | 	IPC_OTYPE_LEDGER = 18, /* obsolete: no instances */ | |
| 108 | 	IPC_OTYPE_MAIN_DEVICE = 19, | |
| 109 | 	IPC_OTYPE_TASK_NAME = 20, | |
| 110 | 	IPC_OTYPE_SUBSYSTEM = 21, /* obsolete: no instances */ | |
| 111 | 	IPC_OTYPE_IO_DONE_QUEUE = 22, /* obsolete: no instances */ | |
| 112 | 	IPC_OTYPE_SEMAPHORE = 23, | |
| 113 | 	IPC_OTYPE_LOCK_SET = 24, /* obsolete: no instances */ | |
| 114 | 	IPC_OTYPE_CLOCK = 25, | |
| 115 | 	IPC_OTYPE_CLOCK_CTRL = 26, /* obsolete: no instances */ | |
| 116 | 	IPC_OTYPE_IOKIT_IDENT = 27, | |
| 117 | 	IPC_OTYPE_NAMED_ENTRY = 28, | |
| 118 | 	IPC_OTYPE_IOKIT_CONNECT = 29, | |
| 119 | 	IPC_OTYPE_IOKIT_OBJECT = 30, | |
| 120 | 	IPC_OTYPE_UPL = 31, /* obsolete: no instances */ | |
| 121 | 	IPC_OTYPE_MEM_OBJ_CONTROL = 32, /* obsolete: no instances */ | |
| 122 | 	IPC_OTYPE_AU_SESSIONPORT = 33, | |
| 123 | 	IPC_OTYPE_FILEPORT = 34, | |
| 124 | 	IPC_OTYPE_LABELH = 35, /* obsolete: no instances */ | |
| 125 | 	IPC_OTYPE_TASK_RESUME = 36, | |
| 126 | 	IPC_OTYPE_VOUCHER = 37, | |
| 127 | 	IPC_OTYPE_VOUCHER_ATTR_CONTROL = 38, /* obsolete: no instances */ | |
| 128 | 	IPC_OTYPE_WORK_INTERVAL = 39, | |
| 129 | 	IPC_OTYPE_UX_HANDLER = 40, | |
| 130 | 	IPC_OTYPE_UEXT_OBJECT = 41, | |
| 131 | 	IPC_OTYPE_ARCADE_REG = 42, | |
| 132 | 	IPC_OTYPE_EVENTLINK = 43, | |
| 133 | 	IPC_OTYPE_TASK_INSPECT = 44, | |
| 134 | 	IPC_OTYPE_TASK_READ = 45, | |
| 135 | 	IPC_OTYPE_THREAD_INSPECT = 46, | |
| 136 | 	IPC_OTYPE_THREAD_READ = 47, | |
| 137 | 	IPC_OTYPE_SUID_CRED = 48, /* obsolete: no instances */ | |
| 138 | 	IPC_OTYPE_HYPERVISOR = 49, | |
| 139 | 	IPC_OTYPE_TASK_ID_TOKEN = 50, | |
| 140 | 	IPC_OTYPE_TASK_FATAL = 51, | |
| 141 | 	IPC_OTYPE_KCDATA = 52, | |
| 142 | 	IPC_OTYPE_EXCLAVES_RESOURCE = 53, | |
| 143 | ||
| 144 | 	/* catchall */ | |
| 145 | 	IPC_OTYPE_UNKNOWN = ~0u, | |
| 146 | }); | |
| 147 | ||
| 73 | 148 | /* |
| 74 | 149 | *	Remember to update the mig type definitions |
| 75 | 150 | *	in mach_debug_types.defs when adding/removing fields. |
lib/libc/include/any-macos-any/malloc/_malloc.h+70-1| ... | ... | @@ -55,8 +55,8 @@ void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __all |
| 55 | 55 | void * __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); |
| 56 | 56 | void free(void * __unsafe_indexable); |
| 57 | 57 | void * __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); |
| 58 | void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2); | |
| 59 | 58 | #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) |
| 59 | void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2); | |
| 60 | 60 | void * __sized_by_or_null(__size) valloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1); |
| 61 | 61 | #endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ |
| 62 | 62 | #if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \ |
| ... | ... | @@ -67,6 +67,75 @@ void * __sized_by_or_null(__size) aligned_alloc(size_t __alignment, size_t __siz |
| 67 | 67 | /* rdar://120689514 */ |
| 68 | 68 | int 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); |
| 69 | 69 | |
| 70 | #if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING | |
| 71 | static 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 | ||
| 80 | static 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 | ||
| 89 | static 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 | ||
| 99 | static 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 | ||
| 108 | static 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) | |
| 120 | static 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 | ||
| 130 | static int __attribute__((always_inline)) malloc_type_posix_memalign_backdeploy(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) { | |
| 131 | 	__attribute__((weak_import)) int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id); | |
| 132 | 	__auto_type func = posix_memalign; | |
| 133 | 	if (malloc_type_posix_memalign) { | |
| 134 | 		return malloc_type_posix_memalign(memptr, alignment, size, type_id); | |
| 135 | 	} | |
| 136 | 	return func(memptr, alignment, size); | |
| 137 | } | |
| 138 | #endif | |
| 70 | 139 | __END_DECLS |
| 71 | 140 | |
| 72 | 141 | #endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */ |
lib/libc/include/any-macos-any/malloc/_malloc_type.h+82-19| ... | ... | @@ -39,44 +39,107 @@ typedef unsigned long long malloc_type_id_t; |
| 39 | 39 | #define __need_size_t |
| 40 | 40 | #include <stddef.h> |
| 41 | 41 | #undef __need_size_t |
| 42 | #endif | |
| 42 | #endif /* size_t */ | |
| 43 | 43 | #include <sys/cdefs.h> /* __BEGIN_DECLS */ |
| 44 | 44 | |
| 45 | #define _MALLOC_TYPE_AVAILABILITY __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 46 | ||
| 47 | 45 | __BEGIN_DECLS |
| 48 | 46 | |
| 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 | ||
| 65 | static 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); | |
| 66 | static 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); | |
| 67 | static void __attribute__((always_inline)) malloc_type_free_backdeploy(void * __unsafe_indexable ptr, malloc_type_id_t type_id); | |
| 68 | static 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); | |
| 69 | static 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) | |
| 73 | static 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 | |
| 75 | static 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 | ||
| 79 | typedef struct _malloc_zone_t malloc_zone_t; | |
| 80 | ||
| 81 | static 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); | |
| 82 | static 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); | |
| 83 | static void __attribute__((always_inline)) malloc_type_zone_free_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id); | |
| 84 | static 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); | |
| 85 | static 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); | |
| 86 | static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_memalign_backdeploy(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3); | |
| 87 | ||
| 88 | #else | |
| 89 | ||
| 49 | 90 | /* <malloc/_malloc.h> */ |
| 50 | 91 | |
| 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)) | |
| 93 | void * __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)) | |
| 95 | 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); | |
| 96 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 97 | void 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)) | |
| 99 | 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); | |
| 100 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 101 | void * __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)) | |
| 103 | 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); | |
| 57 | 104 | /* rdar://120689514 */ |
| 58 | _MALLOC_TYPE_AVAILABILITY int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id) /*__alloc_size(3)*/; | |
| 59 | ||
| 105 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 106 | int 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)*/; | |
| 60 | 107 | |
| 61 | 108 | /* <malloc/malloc.h> */ |
| 62 | 109 | |
| 63 | 110 | typedef struct _malloc_zone_t malloc_zone_t; |
| 64 | 111 | |
| 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)) | |
| 113 | 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); | |
| 114 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 115 | 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); | |
| 116 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 117 | void 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)) | |
| 119 | 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); | |
| 120 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 121 | 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); | |
| 122 | __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0)) | |
| 123 | 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); | |
| 124 | ||
| 125 | #endif | |
| 71 | 126 | |
| 72 | 127 | __END_DECLS |
| 73 | 128 | |
| 74 | 129 | /* Rewrite enablement */ |
| 130 | ||
| 75 | 131 | #if defined(__has_feature) && __has_feature(typed_memory_operations) |
| 76 | #if __has_builtin(__is_target_os) && (__is_target_os(ios) || __is_target_os(driverkit) || __is_target_os(macos) || __is_target_os(xros) || __is_target_os(watchos) || __is_target_os(tvos) || (__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore)))) | |
| 132 | ||
| 133 | #if (__has_builtin(__is_target_os) && __is_target_os(darwin) && !__is_target_os(bridgeos)) ||\ | |
| 134 | (__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore))) | |
| 135 | #if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING | |
| 136 | #define _MALLOC_TYPE_ENABLED 1 | |
| 137 | #define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override##_backdeploy, type_param_pos))) | |
| 138 | #else | |
| 77 | 139 | #define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos))) |
| 78 | 140 | #define _MALLOC_TYPE_ENABLED 1 |
| 79 | #endif | |
| 141 | #endif | |
| 142 | #endif | |
| 80 | 143 | #endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */ |
| 81 | 144 | |
| 82 | 145 | #endif /* MALLOC_TARGET_64BIT */ |
lib/libc/include/any-macos-any/malloc/malloc.h+157-18| ... | ... | @@ -2,14 +2,14 @@ |
| 2 | 2 | * Copyright (c) 1999-2023 Apple Computer, Inc. All rights reserved. |
| 3 | 3 | * |
| 4 | 4 | * @APPLE_LICENSE_HEADER_START@ |
| 5 | * | |
| 5 | * | |
| 6 | 6 | * This file contains Original Code and/or Modifications of Original Code |
| 7 | 7 | * as defined in and that are subject to the Apple Public Source License |
| 8 | 8 | * Version 2.0 (the 'License'). You may not use this file except in |
| 9 | 9 | * compliance with the License. Please obtain a copy of the License at |
| 10 | 10 | * http://www.opensource.apple.com/apsl/ and read it before using this |
| 11 | 11 | * file. |
| 12 | * | |
| 12 | * | |
| 13 | 13 | * The Original Code and all software distributed under the License are |
| 14 | 14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
| 15 | 15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, |
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. |
| 18 | 18 | * Please see the License for the specific language governing rights and |
| 19 | 19 | * limitations under the License. |
| 20 | * | |
| 20 | * | |
| 21 | 21 | * @APPLE_LICENSE_HEADER_END@ |
| 22 | 22 | */ |
| 23 | 23 | |
| ... | ... | @@ -62,6 +62,57 @@ __ptrcheck_abi_assume_single() |
| 62 | 62 | #endif // MALLOC_ZONE_FN_PTR |
| 63 | 63 | |
| 64 | 64 | __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 | */ | |
| 94 | typedef 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)) | |
| 110 | void * __sized_by_or_null(size) malloc_type_zone_malloc_with_options(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id, malloc_zone_malloc_options_t opts) __result_use_check __alloc_align(2) __alloc_size(3); | |
| 111 | #endif /* __LP64__ */ | |
| 112 | ||
| 113 | // The remainder of these functions are declared in malloc/_malloc_type.h, and | |
| 114 | // the backdeployment variant definitions are at the bottom of this file. | |
| 115 | ||
| 65 | 116 | /*********	Type definitions	************/ |
| 66 | 117 | |
| 67 | 118 | /* |
| ... | ... | @@ -160,8 +211,7 @@ typedef struct _malloc_zone_t { |
| 160 | 211 | 			void * __unsafe_indexable ptr); |
| 161 | 212 | |
| 162 | 213 | 	/* |
| 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. | |
| 165 | 215 | 	 * Added in version >= 15. |
| 166 | 216 | 	 */ |
| 167 | 217 | 	void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_with_options))( |
| ... | ... | @@ -188,10 +238,9 @@ typedef struct _malloc_zone_t { |
| 188 | 238 | 			struct _malloc_zone_t *zone, size_t alignment, size_t size, |
| 189 | 239 | 			malloc_type_id_t type_id); |
| 190 | 240 | |
| 191 | 	/* Must be NULL for non-libmalloc zone implementations */ | |
| 192 | 241 | 	void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_type_malloc_with_options))( |
| 193 | 			struct _malloc_zone_t *zone, size_t align, size_t size, uint64_t options, | |
| 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); | |
| 195 | 244 | } malloc_zone_t; |
| 196 | 245 | |
| 197 | 246 | /*! |
| ... | ... | @@ -352,6 +401,38 @@ extern void malloc_destroy_zone(malloc_zone_t *zone); |
| 352 | 401 | extern void * __sized_by_or_null(size) malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2) _MALLOC_TYPED(malloc_type_zone_malloc, 2); |
| 353 | 402 | 	/* Allocates a new pointer of size size; zone must be non-NULL */ |
| 354 | 403 | |
| 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)) | |
| 434 | extern 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 | ||
| 355 | 436 | extern void * __sized_by_or_null(num_items * size) malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3) _MALLOC_TYPED(malloc_type_zone_calloc, 3); |
| 356 | 437 | 	/* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */ |
| 357 | 438 | |
| ... | ... | @@ -590,22 +671,80 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void |
| 590 | 671 | // Version 13: |
| 591 | 672 | // - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for |
| 592 | 673 | // setting errno to ENOMEM on failure |
| 593 | // - malloc_zone_t::try_free_default | |
| 674 | // - malloc_zone_t::try_free_default (libmalloc only, NULL otherwise) | |
| 594 | 675 | // Version 14: |
| 595 | // malloc_introspection_t::zone_type | |
| 676 | // malloc_introspection_t::zone_type (mandatory, should be 0) | |
| 596 | 677 | // Version 15: |
| 597 | // malloc_zone_t::malloc_with_options | |
| 678 | // malloc_zone_t::malloc_with_options (optional) | |
| 598 | 679 | // 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: | |
| 606 | 688 | // * Check zone version to ensure zone struct is large enough to include the member. |
| 607 | 689 | // * Check that the function pointer is not null. |
| 608 | 690 | |
| 691 | #if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING | |
| 692 | static 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 | ||
| 701 | static 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 | ||
| 710 | static 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 | ||
| 720 | static 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 | ||
| 729 | static 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 | ||
| 738 | static void *__sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_memalign_backdeploy(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3) { | |
| 739 | 	__attribute__((weak_import)) void *__sized_by_or_null(size) malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_align(2) __alloc_size(3); | |
| 740 | 	__auto_type func = malloc_zone_memalign; | |
| 741 | 	if (malloc_type_zone_memalign) { | |
| 742 | 		return malloc_type_zone_memalign(zone, alignment, size, type_id); | |
| 743 | 	} | |
| 744 | 	return func(zone, alignment, size); | |
| 745 | } | |
| 746 | #endif // defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING | |
| 747 | ||
| 609 | 748 | __END_DECLS |
| 610 | 749 | |
| 611 | 750 | #endif /* _MALLOC_MALLOC_H_ */ |
lib/libc/include/any-macos-any/math.h+27-1| ... | ... | @@ -129,10 +129,18 @@ extern int __math_errhandling(void); |
| 129 | 129 | * * |
| 130 | 130 | ******************************************************************************/ |
| 131 | 131 | |
| 132 | #if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules) | |
| 133 | /* libc++'s math.h comes before this header in the search order. It | |
| 134 | * will include this header first and then undef several of these | |
| 135 | * macros. That doesn't work when the two headers are in different | |
| 136 | * clang modules. The only way to make that work is to not declare | |
| 137 | * the macros here, and let libc++ handle the declarations. | |
| 138 | */ | |
| 132 | 139 | #define fpclassify(x) \ |
| 133 | 140 | ( sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) \ |
| 134 | 141 | : sizeof(x) == sizeof(double) ? __fpclassifyd((double)(x)) \ |
| 135 | 142 | : __fpclassifyl((long double)(x))) |
| 143 | #endif /* !defined(__cplusplus) && !__has_feature(modules) */ | |
| 136 | 144 | |
| 137 | 145 | extern int __fpclassifyf(float); |
| 138 | 146 | extern int __fpclassifyd(double); |
| ... | ... | @@ -152,6 +160,7 @@ extern int __fpclassifyl(long double); |
| 152 | 160 | Thus, if you compile with -ffast-math, actual function calls are |
| 153 | 161 | generated for these utilities. */ |
| 154 | 162 | |
| 163 | #if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules) | |
| 155 | 164 | #define isnormal(x) \ |
| 156 | 165 | ( sizeof(x) == sizeof(float) ? __inline_isnormalf((float)(x)) \ |
| 157 | 166 | : sizeof(x) == sizeof(double) ? __inline_isnormald((double)(x)) \ |
| ... | ... | @@ -176,6 +185,7 @@ extern int __fpclassifyl(long double); |
| 176 | 185 | ( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x)) \ |
| 177 | 186 | : sizeof(x) == sizeof(double) ? __inline_signbitd((double)(x)) \ |
| 178 | 187 | : __inline_signbitl((long double)(x))) |
| 188 | #endif /* !defined(__cplusplus) && !__has_feature(modules) */ | |
| 179 | 189 | |
| 180 | 190 | __header_always_inline int __inline_isfinitef(float); |
| 181 | 191 | __header_always_inline int __inline_isfinited(double); |
| ... | ... | @@ -262,6 +272,13 @@ __header_always_inline int __inline_isnormall(long double __x) { |
| 262 | 272 | or similar is specified. These are not available in iOS versions prior |
| 263 | 273 | to 6.0. If you need them, you must target that version or later. */ |
| 264 | 274 | |
| 275 | #if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules) | |
| 276 | /* libc++'s math.h comes before this header in the search order. It | |
| 277 | * will include this header first and then undef several of these | |
| 278 | * macros. That doesn't work when the two headers are in different | |
| 279 | * clang modules. The only way to make that work is to not declare | |
| 280 | * the macros here, and let libc++ handle the declarations. | |
| 281 | */ | |
| 265 | 282 | #define isnormal(x) \ |
| 266 | 283 | ( sizeof(x) == sizeof(float) ? __isnormalf((float)(x)) \ |
| 267 | 284 | : sizeof(x) == sizeof(double) ? __isnormald((double)(x)) \ |
| ... | ... | @@ -286,7 +303,8 @@ __header_always_inline int __inline_isnormall(long double __x) { |
| 286 | 303 | ( sizeof(x) == sizeof(float) ? __signbitf((float)(x)) \ |
| 287 | 304 | : sizeof(x) == sizeof(double) ? __signbitd((double)(x)) \ |
| 288 | 305 | : __signbitl((long double)(x))) |
| 289 | ||
| 306 | #endif /* !defined(__cplusplus) && !__has_feature(modules) */ | |
| 307 | ||
| 290 | 308 | extern int __isnormalf(float); |
| 291 | 309 | extern int __isnormald(double); |
| 292 | 310 | extern int __isnormall(long double); |
| ... | ... | @@ -546,12 +564,20 @@ extern float fmaf(float, float, float); |
| 546 | 564 | extern double fma(double, double, double); |
| 547 | 565 | extern long double fmal(long double, long double, long double); |
| 548 | 566 | |
| 567 | #if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules) | |
| 568 | /* libc++'s math.h comes before this header in the search order. It | |
| 569 | * will include this header first and then undef several of these | |
| 570 | * macros. That doesn't work when the two headers are in different | |
| 571 | * clang modules. The only way to make that work is to not declare | |
| 572 | * the macros here, and let libc++ handle the declarations. | |
| 573 | */ | |
| 549 | 574 | #define isgreater(x, y) __builtin_isgreater((x),(y)) |
| 550 | 575 | #define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y)) |
| 551 | 576 | #define isless(x, y) __builtin_isless((x),(y)) |
| 552 | 577 | #define islessequal(x, y) __builtin_islessequal((x),(y)) |
| 553 | 578 | #define islessgreater(x, y) __builtin_islessgreater((x),(y)) |
| 554 | 579 | #define isunordered(x, y) __builtin_isunordered((x),(y)) |
| 580 | #endif /* !defined(__cplusplus) && !__has_feature(modules) */ | |
| 555 | 581 | |
| 556 | 582 | #if defined __i386__ || defined __x86_64__ |
| 557 | 583 | /* Deprecated functions; use the INFINITY and NAN macros instead. */ |
lib/libc/include/any-macos-any/net/if.h+1-10| ... | ... | @@ -154,16 +154,6 @@ struct if_clonereq { |
| 154 | 154 | |
| 155 | 155 | #define IFQ_MAXLEN 128 |
| 156 | 156 | #define IFNET_SLOWHZ 1 /* granularity is 1 second */ |
| 157 | #define IFQ_DEF_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ | |
| 158 | #define IFQ_DEF_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ | |
| 159 | #define IFQ_DEF_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */ | |
| 160 | #define IFQ_DEF_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */ | |
| 161 | #define IFQ_DEF_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ | |
| 162 | #define IFQ_LL_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ | |
| 163 | #define IFQ_LL_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ | |
| 164 | #define IFQ_LL_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */ | |
| 165 | #define IFQ_LL_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */ | |
| 166 | #define IFQ_LL_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ | |
| 167 | 157 | /* |
| 168 | 158 | * Message format for use in obtaining information about interfaces |
| 169 | 159 | * from sysctl and the routing socket |
| ... | ... | @@ -332,6 +322,7 @@ struct ifreq { |
| 332 | 322 | #define IFRTYPE_FUNCTIONAL_LAST 8 |
| 333 | 323 | 		u_int8_t ifru_is_directlink; |
| 334 | 324 | 		u_int8_t ifru_is_vpn; |
| 325 | 		u_int8_t ifru_is_companionlink; | |
| 335 | 326 | 	} ifr_ifru; |
| 336 | 327 | #define ifr_addr ifr_ifru.ifru_addr /* address */ |
| 337 | 328 | #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ |
lib/libc/include/any-macos-any/netinet/tcp.h+5-2| ... | ... | @@ -118,14 +118,17 @@ struct tcphdr { |
| 118 | 118 | }; |
| 119 | 119 | |
| 120 | 120 | #define TCPOPT_EOL 0 |
| 121 | #define TCPOLEN_EOL 1 | |
| 121 | 122 | #define TCPOPT_NOP 1 |
| 123 | #define TCPOLEN_NOP 1 | |
| 122 | 124 | #define TCPOPT_MAXSEG 2 |
| 123 | 125 | #define TCPOLEN_MAXSEG 4 |
| 124 | 126 | #define TCPOPT_WINDOW 3 |
| 125 | 127 | #define TCPOLEN_WINDOW 3 |
| 126 | #define TCPOPT_SACK_PERMITTED 4 /* Experimental */ | |
| 128 | #define TCPOPT_SACK_PERMITTED 4 /* SACK capability in SYN */ | |
| 127 | 129 | #define TCPOLEN_SACK_PERMITTED 2 |
| 128 | #define TCPOPT_SACK 5 /* Experimental */ | |
| 130 | #define TCPOPT_SACK 5 | |
| 131 | #define TCPOLEN_SACKHDR 2 | |
| 129 | 132 | #define TCPOLEN_SACK 8 /* len of sack block */ |
| 130 | 133 | #define TCPOPT_TIMESTAMP 8 |
| 131 | 134 | #define TCPOLEN_TIMESTAMP 10 |
lib/libc/include/any-macos-any/netinet6/in6.h+1| ... | ... | @@ -101,6 +101,7 @@ |
| 101 | 101 | |
| 102 | 102 | #include <sys/_types.h> |
| 103 | 103 | #include <sys/_types/_sa_family_t.h> |
| 104 | #include <sys/_types/_in_port_t.h> | |
| 104 | 105 | |
| 105 | 106 | /* |
| 106 | 107 | * Identification of the network protocol stack |
lib/libc/include/any-macos-any/os/availability.h+15-7| ... | ... | @@ -115,6 +115,9 @@ |
| 115 | 115 | * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos, |
| 116 | 116 | * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension |
| 117 | 117 | * |
| 118 | * Within each platform a tuple of versions will represent the version the API was | |
| 119 | * introduced in, followed by the version it was deperecated in. | |
| 120 | * | |
| 118 | 121 | * Examples: |
| 119 | 122 | * |
| 120 | 123 | * API_DEPRECATED("Deprecated", macos(10.4, 10.8)) |
| ... | ... | @@ -143,6 +146,10 @@ |
| 143 | 146 | * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos, |
| 144 | 147 | * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension |
| 145 | 148 | * |
| 149 | * Within each platform a tuple of versions will represent the version the API was | |
| 150 | * introduced in, followed by the version it was deperecated in, and finally the version it | |
| 151 | * was removed in. | |
| 152 | * | |
| 146 | 153 | * Examples: |
| 147 | 154 | * |
| 148 | 155 | * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0)) |
| ... | ... | @@ -151,6 +158,7 @@ |
| 151 | 158 | * API_OBSOLETED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4, 12.0), ios(9.0, 10.0, 11.0)) |
| 152 | 159 | * API_OBSOLETED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6, 11.0), watchos(2.0, 3.0, 4.0)) |
| 153 | 160 | */ |
| 161 | ||
| 154 | 162 | #define API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__) |
| 155 | 163 | #define API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__) |
| 156 | 164 | |
| ... | ... | @@ -189,7 +197,7 @@ |
| 189 | 197 | #endif |
| 190 | 198 | |
| 191 | 199 | #ifndef API_AVAILABLE_END |
| 192 | #define API_AVAILABLE_END(...) | |
| 200 | #define API_AVAILABLE_END | |
| 193 | 201 | #endif |
| 194 | 202 | |
| 195 | 203 | #ifndef API_DEPRECATED |
| ... | ... | @@ -201,7 +209,7 @@ |
| 201 | 209 | #endif |
| 202 | 210 | |
| 203 | 211 | #ifndef API_DEPRECATED_END |
| 204 | #define API_DEPRECATED_END(...) | |
| 212 | #define API_DEPRECATED_END | |
| 205 | 213 | #endif |
| 206 | 214 | |
| 207 | 215 | #ifndef API_DEPRECATED_WITH_REPLACEMENT |
| ... | ... | @@ -213,7 +221,7 @@ |
| 213 | 221 | #endif |
| 214 | 222 | |
| 215 | 223 | #ifndef API_DEPRECATED_WITH_REPLACEMENT_END |
| 216 | #define API_DEPRECATED_WITH_REPLACEMENT_END(...) | |
| 224 | #define API_DEPRECATED_WITH_REPLACEMENT_END | |
| 217 | 225 | #endif |
| 218 | 226 | |
| 219 | 227 | #ifndef API_OBSOLETED |
| ... | ... | @@ -225,7 +233,7 @@ |
| 225 | 233 | #endif |
| 226 | 234 | |
| 227 | 235 | #ifndef API_OBSOLETED_END |
| 228 | #define API_OBSOLETED_END(...) | |
| 236 | #define API_OBSOLETED_END | |
| 229 | 237 | #endif |
| 230 | 238 | |
| 231 | 239 | #ifndef API_OBSOLETED_WITH_REPLACEMENT |
| ... | ... | @@ -237,7 +245,7 @@ |
| 237 | 245 | #endif |
| 238 | 246 | |
| 239 | 247 | #ifndef API_OBSOLETED_WITH_REPLACEMENT_END |
| 240 | #define API_OBSOLETED_WITH_REPLACEMENT_END(...) | |
| 248 | #define API_OBSOLETED_WITH_REPLACEMENT_END | |
| 241 | 249 | #endif |
| 242 | 250 | |
| 243 | 251 | #ifndef API_UNAVAILABLE |
| ... | ... | @@ -249,7 +257,7 @@ |
| 249 | 257 | #endif |
| 250 | 258 | |
| 251 | 259 | #ifndef API_UNAVAILABLE_END |
| 252 | #define API_UNAVAILABLE_END(...) | |
| 260 | #define API_UNAVAILABLE_END | |
| 253 | 261 | #endif |
| 254 | 262 | |
| 255 | 263 | #if __has_include(<AvailabilityProhibitedInternal.h>) |
| ... | ... | @@ -269,7 +277,7 @@ |
| 269 | 277 | #endif |
| 270 | 278 | |
| 271 | 279 | #ifndef SPI_AVAILABLE_END |
| 272 | #define SPI_AVAILABLE_END(...) | |
| 280 | #define SPI_AVAILABLE_END | |
| 273 | 281 | #endif |
| 274 | 282 | |
| 275 | 283 | #ifndef SPI_DEPRECATED |
lib/libc/include/any-macos-any/os/base.h+5| ... | ... | @@ -71,7 +71,11 @@ |
| 71 | 71 | #define OS_WEAK __attribute__((__weak__)) |
| 72 | 72 | #define OS_WEAK_IMPORT __attribute__((__weak_import__)) |
| 73 | 73 | #define OS_NOINLINE __attribute__((__noinline__)) |
| 74 | #ifndef __BUILDING_XNU_LIBRARY__ | |
| 74 | 75 | #define OS_ALWAYS_INLINE __attribute__((__always_inline__)) |
| 76 | #else /* __BUILDING_XNU_LIBRARY__ */ | |
| 77 | #define OS_ALWAYS_INLINE | |
| 78 | #endif /* __BUILDING_XNU_LIBRARY__ */ | |
| 75 | 79 | #define OS_TRANSPARENT_UNION __attribute__((__transparent_union__)) |
| 76 | 80 | #define OS_ALIGNED(n) __attribute__((__aligned__((n)))) |
| 77 | 81 | #define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y))) |
| ... | ... | @@ -343,4 +347,5 @@ typedef void (^os_block_t)(void); |
| 343 | 347 | #define OS_COUNTED_BY(N) __counted_by(N) |
| 344 | 348 | #define OS_SIZED_BY(N) __sized_by(N) |
| 345 | 349 | |
| 350 | ||
| 346 | 351 | #endif // __OS_BASE__ |
lib/libc/include/any-macos-any/os/workgroup_base.h+6| ... | ... | @@ -26,6 +26,12 @@ |
| 26 | 26 | #define OS_WORKGROUP_ASSUME_NONNULL_BEGIN |
| 27 | 27 | #define OS_WORKGROUP_ASSUME_NONNULL_END |
| 28 | 28 | #endif |
| 29 | #if __has_feature(enumerator_attributes) | |
| 30 | #define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) \ | |
| 31 | 		API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__) | |
| 32 | #else | |
| 33 | #define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) | |
| 34 | #endif | |
| 29 | 35 | #define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__)) |
| 30 | 36 | #define OS_WORKGROUP_EXPORT OS_EXPORT |
| 31 | 37 | #define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED |
lib/libc/include/any-macos-any/secure/_common.h+2| ... | ... | @@ -39,5 +39,7 @@ |
| 39 | 39 | |
| 40 | 40 | #define __darwin_obsz0(object) __builtin_object_size (object, 0) |
| 41 | 41 | #define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0) |
| 42 | #define __darwin_pass_obsz0 __attribute__((__pass_object_size__(0))) | |
| 43 | #define __darwin_pass_obsz __attribute__((__pass_object_size__(_USE_FORTIFY_LEVEL > 1 ? 1 : 0))) | |
| 42 | 44 | |
| 43 | 45 | #endif |
lib/libc/include/any-macos-any/secure/_stdio.h+72-31| ... | ... | @@ -35,54 +35,95 @@ _LIBC_SINGLE_BY_DEFAULT() |
| 35 | 35 | |
| 36 | 36 | #if _USE_FORTIFY_LEVEL > 0 |
| 37 | 37 | |
| 38 | #ifndef __has_builtin | |
| 39 | #define _undef__has_builtin | |
| 40 | #define __has_builtin(x) 0 | |
| 41 | #endif | |
| 38 | extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t, | |
| 39 | 			 const char * __restrict, ...); | |
| 40 | extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t, | |
| 41 | 			 const char * __restrict, va_list); | |
| 42 | 42 | |
| 43 | /* sprintf, vsprintf, snprintf, vsnprintf */ | |
| 44 | #if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__) | |
| 45 | 43 | extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t, |
| 46 | 44 | 			 const char * __restrict, ...); |
| 45 | extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t, | |
| 46 | 			 const char * __restrict, va_list); | |
| 47 | 47 | |
| 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 */ | |
| 51 | static inline char *_LIBC_COUNT(__n) | |
| 52 | __libc_ptrchk_strbuf_chk(char *_LIBC_COUNT(__n) __str, size_t __n) { return __str; } | |
| 53 | ||
| 54 | #undef __sprintf_chk_func /* sprintf is unavailable */ | |
| 55 | #undef __vsprintf_chk_func /* vsprintf is unavailable */ | |
| 56 | ||
| 57 | #define __vsnprintf_chk_func(str, len, flag, format, ap) ({ \ | |
| 58 | 	size_t __len = (len); \ | |
| 59 | 	__builtin___vsnprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), format, ap); \ | |
| 60 | }) | |
| 61 | ||
| 62 | #define __snprintf_chk_func(str, len, flag, ...) ({ \ | |
| 63 | 	size_t __len = (len); \ | |
| 64 | 	__builtin___snprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), __VA_ARGS__); \ | |
| 65 | }) | |
| 66 | ||
| 67 | #else | |
| 68 | ||
| 69 | #ifndef __has_builtin | |
| 70 | #define __undef__has_builtin | |
| 71 | #define __has_builtin(x) defined(__GNUC__) | |
| 51 | 72 | #endif |
| 52 | 73 | |
| 53 | #if __DARWIN_C_LEVEL >= 200112L | |
| 54 | #if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__) | |
| 55 | extern 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 | |
| 57 | 78 | |
| 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) | |
| 61 | 82 | #endif |
| 62 | 83 | |
| 63 | #if __has_builtin(__builtin___vsprintf_chk) || defined(__GNUC__) | |
| 64 | extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t, | |
| 65 | 			 const char * __restrict, va_list); | |
| 66 | 84 | |
| 85 | #if __has_builtin(__builtin___sprintf_chk) | |
| 86 | #define __sprintf_chk_func(str, flag, ...) \ | |
| 87 | 	__builtin___sprintf_chk (str, flag, __darwin_obsz(str), __VA_ARGS__) | |
| 88 | #endif | |
| 89 | ||
| 90 | #if __has_builtin(__builtin___vsprintf_chk) | |
| 91 | #define __vsprintf_chk_func(str, flag, format, ap) \ | |
| 92 | 	__builtin___vsprintf_chk (str, flag, __darwin_obsz(str), format, ap) | |
| 93 | #endif | |
| 94 | ||
| 95 | ||
| 96 | #ifdef __undef__has_builtin | |
| 97 | #undef __undef__has_builtin | |
| 98 | #undef __has_builtin | |
| 99 | #endif | |
| 100 | ||
| 101 | #endif | |
| 102 | ||
| 103 | /* sprintf, vsprintf, snprintf, vsnprintf */ | |
| 104 | ||
| 105 | #ifdef __sprintf_chk_func | |
| 106 | #undef sprintf | |
| 107 | #define sprintf(str, ...) __sprintf_chk_func (str, 0, __VA_ARGS__) | |
| 108 | #endif | |
| 109 | ||
| 110 | #if __DARWIN_C_LEVEL >= 200112L | |
| 111 | ||
| 112 | #ifdef __vsprintf_chk_func | |
| 67 | 113 | #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__) | |
| 70 | 115 | #endif |
| 71 | 116 | |
| 72 | #if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__) | |
| 73 | extern 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 | |
| 75 | 121 | |
| 122 | #ifdef __vsnprintf_chk_func | |
| 76 | 123 | #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__) | |
| 79 | 125 | #endif |
| 80 | 126 | |
| 81 | #endif /* __DARWIN_C_LEVEL >= 200112L */ | |
| 82 | ||
| 83 | #ifdef _undef__has_builtin | |
| 84 | #undef _undef__has_builtin | |
| 85 | #undef __has_builtin | |
| 86 | 127 | #endif |
| 87 | 128 | |
| 88 | 129 | #endif /* _USE_FORTIFY_LEVEL > 0 */ |
lib/libc/include/any-macos-any/secure/_string.h+220-75| ... | ... | @@ -34,117 +34,262 @@ |
| 34 | 34 | |
| 35 | 35 | #if _USE_FORTIFY_LEVEL > 0 |
| 36 | 36 | |
| 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) | |
| 40 | static 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 | |
| 44 | 45 | #endif |
| 45 | 46 | |
| 46 | /* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy, | |
| 47 | strncpy, stpncpy, strcat, strlcat, and strncat */ | |
| 47 | #if __has_builtin(__builtin___memmove_chk) | |
| 48 | static 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 | |
| 48 | 54 | |
| 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) | |
| 56 | static 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 | |
| 56 | 61 | #endif |
| 62 | ||
| 63 | #undef __stpncpy_chk_func /* stpncpy unavailable */ | |
| 64 | #undef __strncpy_chk_func /* strncpy unavailable */ | |
| 65 | ||
| 66 | #if __has_builtin(__builtin___strlcpy_chk) | |
| 67 | static inline size_t | |
| 68 | __strlcpy_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) { | |
| 69 | 	return __builtin___strlcpy_chk(__dst, __src, __n, __darwin_obsz(__dst)); | |
| 70 | } | |
| 71 | #define __strlcpy_chk_func __strlcpy_ptrchk | |
| 57 | 72 | #endif |
| 58 | 73 | |
| 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) | |
| 75 | static 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) | |
| 83 | static inline void *_LIBC_SIZE(__n) | |
| 84 | __memccpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, int __c, size_t __n) { | |
| 85 | 	return _LIBC_FORGE_PTR(__builtin___memccpy_chk(__dst, __src, __c, __n, __darwin_obsz0(__dst)), __n); | |
| 86 | } | |
| 87 | #define __memccpy_chk_func __memccpy_ptrchk | |
| 88 | #endif | |
| 89 | ||
| 90 | #undef __strcpy_chk_func /* strcpy unavailable */ | |
| 91 | #undef __stpcpy_chk_func /* stpcpy unavailable */ | |
| 92 | #undef __strcat_chk_func /* strcat unavailable */ | |
| 93 | #undef __strncat_chk_func /* strncat unavailable */ | |
| 94 | ||
| 95 | #else /* __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES */ | |
| 96 | ||
| 97 | #define __is_modern_darwin(ios, macos) \ | |
| 98 | 	(__IPHONE_OS_VERSION_MIN_REQUIRED >= (ios) || \ | |
| 99 | 	 __MAC_OS_X_VERSION_MIN_REQUIRED >= (macos) || \ | |
| 100 | 	 defined(__DRIVERKIT_VERSION_MIN_REQUIRED)) | |
| 101 | ||
| 102 | /* __is_gcc(gcc_major, gcc_minor) | |
| 103 | * Special values: | |
| 104 | * 10.0 means "test should always fail when __has_builtin isn't supported" | |
| 105 | (because gcc got __has_builtin in version 10.0); this is used for builtins | |
| 106 | that gcc did not support yet at the time __has_builtin was introduced, so | |
| 107 | there is no point checking the compiler version. | |
| 108 | * 0.0 means that we did not research when gcc started supporting this builtin, | |
| 109 | but it's believed to have been the case at least since gcc 4.0, which came | |
| 110 | out in 2005. (Hello from 2025! What year is it now? Can't believe we're still | |
| 111 | using C!) | |
| 112 | */ | |
| 113 | #define __is_gcc(major, minor) \ | |
| 114 | 	(__GNUC__ > (gcc_major) || \ | |
| 115 | 	(__GNUC__ == (gcc_major) && __GNUC_MINOR__ >= (gcc_minor))) | |
| 116 | ||
| 117 | #ifdef __has_builtin | |
| 118 | #define __supports_builtin(builtin, gcc_major, gcc_minor) \ | |
| 119 | 	__has_builtin(builtin) | |
| 120 | #else | |
| 121 | #define __supports_builtin(builtin, gcc_major, gcc_minor) __is_gcc(gcc_major, gcc_minor) | |
| 122 | #endif | |
| 123 | ||
| 124 | ||
| 125 | #if __supports_builtin(__builtin___memcpy_chk, 0, 0) | |
| 126 | #define __memcpy_chk_func(dest, ...) \ | |
| 63 | 127 | 		__builtin___memcpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest)) |
| 64 | 128 | #endif |
| 65 | 129 | |
| 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, ...) \ | |
| 70 | 132 | 		__builtin___memmove_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest)) |
| 71 | 133 | #endif |
| 72 | 134 | |
| 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, ...) \ | |
| 77 | 137 | 		__builtin___memset_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest)) |
| 78 | 138 | #endif |
| 79 | 139 | |
| 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)) | |
| 85 | 143 | #endif |
| 86 | 144 | |
| 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)) | |
| 93 | 148 | #endif |
| 94 | #endif /* __DARWIN_C_LEVEL >= 200809L */ | |
| 95 | 149 | |
| 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) | |
| 104 | 151 | |
| 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, ...) \ | |
| 112 | 154 | 		__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest)) |
| 113 | 155 | #endif |
| 114 | 156 | |
| 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, ...) \ | |
| 119 | 159 | 		__builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest)) |
| 120 | 160 | #endif |
| 121 | #endif /* __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 */ | |
| 122 | #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ | |
| 123 | 161 | |
| 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)) | |
| 129 | 165 | #endif |
| 130 | 166 | |
| 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, ...) \ | |
| 135 | 182 | 		__builtin___strcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest)) |
| 136 | 183 | #endif |
| 137 | 184 | |
| 138 | 185 | #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, ...) \ | |
| 143 | 188 | 		__builtin___strncat_chk (dest, __VA_ARGS__, __darwin_obsz (dest)) |
| 144 | 189 | #endif |
| 145 | 190 | #endif |
| 146 | 191 | |
| 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 */ | |
| 148 | 292 | |
| 149 | 293 | #endif /* _USE_FORTIFY_LEVEL > 0 */ |
| 294 | ||
| 150 | 295 | #endif /* _SECURE__STRING_H_ */ |
lib/libc/include/any-macos-any/secure/_strings.h+43-6| ... | ... | @@ -39,18 +39,55 @@ |
| 39 | 39 | /* Removed in Issue 7 */ |
| 40 | 40 | #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L |
| 41 | 41 | |
| 42 | #if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__) | |
| 42 | #ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES | |
| 43 | ||
| 44 | static 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 | ||
| 49 | static inline void | |
| 50 | __bzero_ptrcheck(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, size_t __n) { | |
| 51 | 	memset(__dst, 0, __n); | |
| 52 | } | |
| 53 | ||
| 54 | #define __bcopy_chk_func __bcopy_ptrcheck | |
| 55 | #define __bzero_chk_func __bzero_ptrcheck | |
| 56 | ||
| 57 | #else | |
| 58 | ||
| 59 | #ifndef __has_builtin | |
| 60 | #define __undef__has_builtin | |
| 61 | #define __has_builtin(x) defined(__GNUC__) | |
| 62 | #endif | |
| 63 | ||
| 64 | #if __has_builtin(__builtin___memmove_chk) | |
| 65 | #define __bcopy_chk_func(src, dst, ...) \ | |
| 66 | 	__builtin___memmove_chk(dst, src, __VA_ARGS__, __darwin_obsz0 (dst)) | |
| 67 | #endif | |
| 68 | ||
| 69 | #if __has_builtin(__builtin___memset_chk) | |
| 70 | #define __bzero_chk_func(dst, ...) \ | |
| 71 | 	__builtin___memset_chk(dst, 0, __VA_ARGS__, __darwin_obsz0 (dst)) | |
| 72 | #endif | |
| 73 | ||
| 74 | #ifdef __undef__has_builtin | |
| 75 | #undef __undef__has_builtin | |
| 76 | #undef __has_builtin | |
| 77 | #endif | |
| 78 | ||
| 79 | #endif | |
| 80 | ||
| 81 | #ifdef __bcopy_chk_func | |
| 43 | 82 | #undef bcopy |
| 44 | 83 | /* 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__) | |
| 47 | 85 | #endif |
| 48 | 86 | |
| 49 | #if __has_builtin(__builtin___memset_chk) || defined(__GNUC__) | |
| 87 | #ifdef __bzero_chk_func | |
| 50 | 88 | #undef bzero |
| 51 | 89 | /* 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__) | |
| 54 | 91 | #endif |
| 55 | 92 | |
| 56 | 93 | #endif |
lib/libc/include/any-macos-any/setjmp.h-3| ... | ... | @@ -51,9 +51,6 @@ typedef int jmp_buf[_JBLEN]; |
| 51 | 51 | typedef int sigjmp_buf[_JBLEN + 1]; |
| 52 | 52 | |
| 53 | 53 | #elif defined(__arm__) && !defined(__ARM_ARCH_7K__) |
| 54 | ||
| 55 | #include <machine/signal.h> | |
| 56 | ||
| 57 | 54 | /* |
| 58 | 55 | *	_JBLEN is number of ints required to save the following: |
| 59 | 56 | *	r4-r8, r10, fp, sp, lr, sig == 10 register_t sized |
lib/libc/include/any-macos-any/spawn.h+8-2| ... | ... | @@ -69,6 +69,12 @@ int posix_spawnp(pid_t * __restrict, const char * __restrict, |
| 69 | 69 | char *const __argv[__restrict], |
| 70 | 70 | char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0)); |
| 71 | 71 | |
| 72 | int 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 | ||
| 75 | int posix_spawn_file_actions_addfchdir(posix_spawn_file_actions_t *, | |
| 76 | int) __API_AVAILABLE(macos(26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos); | |
| 77 | ||
| 72 | 78 | int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); |
| 73 | 79 | |
| 74 | 80 | int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, |
| ... | ... | @@ -174,10 +180,10 @@ int posix_spawn_file_actions_addinherit_np(posix_spawn_file_actions_t *, |
| 174 | 180 | int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos); |
| 175 | 181 | |
| 176 | 182 | int 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); | |
| 178 | 184 | |
| 179 | 185 | int 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); | |
| 181 | 187 | |
| 182 | 188 | __END_DECLS |
| 183 | 189 |
lib/libc/include/any-macos-any/sys/_symbol_aliasing.h+36-18| ... | ... | @@ -341,18 +341,6 @@ |
| 341 | 341 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) |
| 342 | 342 | #endif |
| 343 | 343 | |
| 344 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140400 | |
| 345 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) x | |
| 346 | #else | |
| 347 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) | |
| 348 | #endif | |
| 349 | ||
| 350 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500 | |
| 351 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x | |
| 352 | #else | |
| 353 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) | |
| 354 | #endif | |
| 355 | ||
| 356 | 344 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600 |
| 357 | 345 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x |
| 358 | 346 | #else |
| ... | ... | @@ -557,6 +545,24 @@ |
| 557 | 545 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x) |
| 558 | 546 | #endif |
| 559 | 547 | |
| 548 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180600 | |
| 549 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x) x | |
| 550 | #else | |
| 551 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x) | |
| 552 | #endif | |
| 553 | ||
| 554 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 190000 | |
| 555 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x) x | |
| 556 | #else | |
| 557 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x) | |
| 558 | #endif | |
| 559 | ||
| 560 | #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260000 | |
| 561 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x) x | |
| 562 | #else | |
| 563 | #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x) | |
| 564 | #endif | |
| 565 | ||
| 560 | 566 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000 |
| 561 | 567 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x |
| 562 | 568 | #else |
| ... | ... | @@ -857,12 +863,6 @@ |
| 857 | 863 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) |
| 858 | 864 | #endif |
| 859 | 865 | |
| 860 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130100 | |
| 861 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) x | |
| 862 | #else | |
| 863 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) | |
| 864 | #endif | |
| 865 | ||
| 866 | 866 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200 |
| 867 | 867 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x |
| 868 | 868 | #else |
| ... | ... | @@ -983,3 +983,21 @@ |
| 983 | 983 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x) |
| 984 | 984 | #endif |
| 985 | 985 | |
| 986 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150600 | |
| 987 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x) x | |
| 988 | #else | |
| 989 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x) | |
| 990 | #endif | |
| 991 | ||
| 992 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 160000 | |
| 993 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x) x | |
| 994 | #else | |
| 995 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x) | |
| 996 | #endif | |
| 997 | ||
| 998 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260000 | |
| 999 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x) x | |
| 1000 | #else | |
| 1001 | #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x) | |
| 1002 | #endif | |
| 1003 |
lib/libc/include/any-macos-any/sys/_types/_graftdmg_un.h+3| ... | ... | @@ -43,6 +43,9 @@ |
| 43 | 43 | #define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */ |
| 44 | 44 | #define SBC_PRESERVE_GRAFT 0x0020 /* Preserve graft itself until unmount */ |
| 45 | 45 | |
| 46 | /* Flag values for ungraftdmg */ | |
| 47 | #define UNGRAFTDMG_NOFORCE 0x0000000000000002ULL /* Disallow ungraft if a non-dir vnode inside the graft is in use */ | |
| 48 | ||
| 46 | 49 | typedef struct secure_boot_cryptex_args { |
| 47 | 50 | 	u_int32_t sbc_version; |
| 48 | 51 | 	u_int32_t sbc_4cc; |
lib/libc/include/any-macos-any/sys/attr.h+6-1| ... | ... | @@ -50,9 +50,10 @@ |
| 50 | 50 | #define FSOPT_PACK_INVAL_ATTRS 0x00000008 |
| 51 | 51 | |
| 52 | 52 | |
| 53 | #define FSOPT_ATTR_CMN_EXTENDED 0x00000020 | |
| 53 | #define FSOPT_ATTR_CMN_EXTENDED 0x00000020 | |
| 54 | 54 | #define FSOPT_RETURN_REALDEV 0x00000200 |
| 55 | 55 | #define FSOPT_NOFOLLOW_ANY 0x00000800 |
| 56 | #define FSOPT_RESOLVE_BENEATH 0x00001000 | |
| 56 | 57 | |
| 57 | 58 | /* we currently aren't anywhere near this amount for a valid |
| 58 | 59 | * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2 |
| ... | ... | @@ -369,6 +370,9 @@ typedef struct vol_capabilities_attr { |
| 369 | 370 | * |
| 370 | 371 | * VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE |
| 371 | 372 | * fcntl. |
| 373 | * | |
| 374 | * VOL_CAP_INT_BARRIERFSYNC: When set, the volume supports the F_BARRIERFSYNC | |
| 375 | * fcntl. | |
| 372 | 376 | */ |
| 373 | 377 | #define VOL_CAP_INT_SEARCHFS 0x00000001 |
| 374 | 378 | #define VOL_CAP_INT_ATTRLIST 0x00000002 |
| ... | ... | @@ -393,6 +397,7 @@ typedef struct vol_capabilities_attr { |
| 393 | 397 | #define VOL_CAP_INT_RENAME_SECLUDE 0x00200000 |
| 394 | 398 | #define VOL_CAP_INT_ATTRIBUTION_TAG 0x00400000 |
| 395 | 399 | #define VOL_CAP_INT_PUNCHHOLE 0x00800000 |
| 400 | #define VOL_CAP_INT_BARRIERFSYNC 0x01000000 | |
| 396 | 401 | |
| 397 | 402 | typedef struct vol_attributes_attr { |
| 398 | 403 | 	attribute_set_t validattr; |
lib/libc/include/any-macos-any/sys/cdefs.h+40-14| ... | ... | @@ -199,7 +199,16 @@ |
| 199 | 199 | */ |
| 200 | 200 | #define __exported __attribute__((__visibility__("default"))) |
| 201 | 201 | #define __exported_push _Pragma("GCC visibility push(default)") |
| 202 | #ifndef __BUILDING_XNU_LIBRARY__ | |
| 203 | #define __exported_push_hidden _Pragma("GCC visibility push(hidden)") | |
| 202 | 204 | #define __exported_pop _Pragma("GCC visibility pop") |
| 205 | #define __exported_hidden __private_extern__ | |
| 206 | #else /* __BUILDING_XNU_LIBRARY__ */ | |
| 207 | /* Don't hide symbols that the might be need to be used from outside */ | |
| 208 | #define __exported_push_hidden | |
| 209 | #define __exported_pop | |
| 210 | #define __exported_hidden | |
| 211 | #endif /* __BUILDING_XNU_LIBRARY__ */ | |
| 203 | 212 | |
| 204 | 213 | /* __deprecated causes the compiler to produce a warning when encountering |
| 205 | 214 | * code using the deprecated functionality. |
| ... | ... | @@ -509,12 +518,14 @@ |
| 509 | 518 | * for plain C (see also <ptrcheck.h>). |
| 510 | 519 | * |
| 511 | 520 | * 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. | |
| 514 | 524 | * |
| 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 | |
| 516 | 526 | * how unchecked buffer manipulation operations are flagged when observed |
| 517 | * by the compiler directly: | |
| 527 | * by the compiler directly. Similarly, use of and assignment to the struct/class fields | |
| 528 | * that have the attribute also get flagged by the compiler. | |
| 518 | 529 | * |
| 519 | 530 | * // An unsafe function that needs to be avoided. |
| 520 | 531 | * __unsafe_buffer_usage |
| ... | ... | @@ -527,14 +538,30 @@ |
| 527 | 538 | * int array[5]; |
| 528 | 539 | * |
| 529 | 540 | * // Direct unsafe buffer manipulation through subscript operator: |
| 530 | * array[idx] = 3; // warning [-Wunsafe-buffer-usage] | |
| 541 | * array[idx] = 3; // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage] | |
| 531 | 542 | * // Unsafe buffer manipulation through function foo(): |
| 532 | * foo(array, 5); // warning [-Wunsafe-buffer-usage] | |
| 543 | * foo(array, 5); // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage] | |
| 533 | 544 | * // Checked buffer manipulation, with bounds information automatically |
| 534 | 545 | * // preserved for the purposes of runtime checks in standard library: |
| 535 | 546 | * foo(array); // no warning |
| 536 | 547 | * } |
| 537 | 548 | * |
| 549 | * struct Reader { | |
| 550 | * // Field involved in unsafe buffer manipulation | |
| 551 | * __unsafe_buffer_usage | |
| 552 | * void *ptr; | |
| 553 | * | |
| 554 | * __unsafe_buffer_usage | |
| 555 | * size_t sz, count; | |
| 556 | * }; | |
| 557 | * | |
| 558 | * void add_element(Reader rdr, int value) { | |
| 559 | * if(rdr.count < rdr.sz) { // warning: unsafe buffer access [-Wunsafe-buffer-usage] | |
| 560 | * rdr.ptr[rdr.count] = value; // warning: unsafe buffer access [-Wunsafe-buffer-usage] | |
| 561 | * rdr.count++; // warning: unsafe buffer access [-Wunsafe-buffer-usage] | |
| 562 | * } | |
| 563 | * } | |
| 564 | * | |
| 538 | 565 | * While annotating a function as __unsafe_buffer_usage has an effect similar |
| 539 | 566 | * to annotating it as __deprecated, the __unsafe_buffer_usage attribute |
| 540 | 567 | * should be used whenever the resulting warning needs to be controlled |
| ... | ... | @@ -542,11 +569,12 @@ |
| 542 | 569 | * don't attempt to achieve bounds safety this way) as opposed to -Wdeprecated |
| 543 | 570 | * (enabled in most codebases). |
| 544 | 571 | * |
| 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. | |
| 550 | 578 | * |
| 551 | 579 | * Pragmas __unsafe_buffer_usage_begin and __unsafe_buffer_usage_end |
| 552 | 580 | * annotate a range of code as intentionally containing unsafe buffer |
| ... | ... | @@ -560,9 +588,7 @@ |
| 560 | 588 | * |
| 561 | 589 | * These pragmas are NOT a way to mass-annotate functions with the attribute |
| 562 | 590 | * __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. | |
| 566 | 592 | */ |
| 567 | 593 | #if __has_cpp_attribute(clang::unsafe_buffer_usage) |
| 568 | 594 | #define __has_safe_buffers 1 |
lib/libc/include/any-macos-any/sys/clonefile.h+5-4| ... | ... | @@ -30,10 +30,11 @@ |
| 30 | 30 | #define _SYS_CLONEFILE_H_ |
| 31 | 31 | |
| 32 | 32 | /* 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 */ | |
| 37 | 38 | |
| 38 | 39 | |
| 39 | 40 | #include <sys/cdefs.h> |
lib/libc/include/any-macos-any/sys/errno.h+6-1| ... | ... | @@ -260,7 +260,12 @@ __END_DECLS |
| 260 | 260 | |
| 261 | 261 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL |
| 262 | 262 | #define EQFULL 106 /* Interface output queue is full */ |
| 263 | #define ELAST 106 /* Must be equal largest errno */ | |
| 263 | #endif | |
| 264 | ||
| 265 | #define ENOTCAPABLE 107 /* Capabilities insufficient */ | |
| 266 | ||
| 267 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL | |
| 268 | #define ELAST 107 /* Must be equal largest errno */ | |
| 264 | 269 | #endif |
| 265 | 270 | |
| 266 | 271 | #endif /* _SYS_ERRNO_H_ */ |
lib/libc/include/any-macos-any/sys/fcntl.h+7-11| ... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 | /* |
| 2 | * Copyright (c) 2000-2022 Apple Inc. All rights reserved. | |
| 2 | * Copyright (c) 2000-2025 Apple Inc. All rights reserved. | |
| 3 | 3 | * |
| 4 | 4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ |
| 5 | 5 | * |
| ... | ... | @@ -126,6 +126,7 @@ |
| 126 | 126 | #define O_TRUNC 0x00000400 /* truncate to zero length */ |
| 127 | 127 | #define O_EXCL 0x00000800 /* error if already exists */ |
| 128 | 128 | #define O_RESOLVE_BENEATH 0x00001000 /* only for open(2), same value as FMARK */ |
| 129 | #define O_UNIQUE 0x00002000 /* only for open(2), same value as FDEFER */ | |
| 129 | 130 | |
| 130 | 131 | |
| 131 | 132 | #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) |
| ... | ... | @@ -181,6 +182,8 @@ |
| 181 | 182 | #define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */ |
| 182 | 183 | #define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */ |
| 183 | 184 | #define AT_SYMLINK_NOFOLLOW_ANY 0x0800 /* Path should not contain any symlinks */ |
| 185 | #define AT_RESOLVE_BENEATH 0x2000 /* Path must reside in the hierarchy beneath the starting directory */ | |
| 186 | #define AT_NODELETEBUSY 0x4000 /* Don't delete busy files */ | |
| 184 | 187 | #endif |
| 185 | 188 | #endif |
| 186 | 189 | |
| ... | ... | @@ -258,10 +261,8 @@ |
| 258 | 261 | #define F_THAW_FS 54 /* "thaw" all fs operations */ |
| 259 | 262 | #define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */ |
| 260 | 263 | |
| 261 | ||
| 262 | 264 | #define F_ADDSIGS 59 /* add detached signatures */ |
| 263 | 265 | |
| 264 | ||
| 265 | 266 | #define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */ |
| 266 | 267 | |
| 267 | 268 | #define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */ |
| ... | ... | @@ -282,7 +283,6 @@ |
| 282 | 283 | |
| 283 | 284 | /* See F_DUPFD_CLOEXEC below for 67 */ |
| 284 | 285 | |
| 285 | ||
| 286 | 286 | #define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */ |
| 287 | 287 | #define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */ |
| 288 | 288 | |
| ... | ... | @@ -300,10 +300,8 @@ |
| 300 | 300 | |
| 301 | 301 | #define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */ |
| 302 | 302 | |
| 303 | ||
| 304 | 303 | #define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */ |
| 305 | 304 | |
| 306 | ||
| 307 | 305 | #define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */ |
| 308 | 306 | |
| 309 | 307 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL |
| ... | ... | @@ -314,7 +312,6 @@ |
| 314 | 312 | #define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */ |
| 315 | 313 | #endif |
| 316 | 314 | |
| 317 | ||
| 318 | 315 | #define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */ |
| 319 | 316 | #define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */ |
| 320 | 317 | |
| ... | ... | @@ -335,10 +332,10 @@ |
| 335 | 332 | |
| 336 | 333 | #define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2)) |
| 337 | 334 | |
| 338 | ||
| 339 | 335 | #define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */ |
| 340 | 336 | |
| 341 | 337 | #define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */ |
| 338 | #define F_NOCACHE_EXT 112 /* turn data caching off/on for this fd and relax size and alignment restrictions for write */ | |
| 342 | 339 | |
| 343 | 340 | #define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */ |
| 344 | 341 | |
| ... | ... | @@ -359,7 +356,6 @@ |
| 359 | 356 | #define F_UNLCK 2 /* unlock */ |
| 360 | 357 | #define F_WRLCK 3 /* exclusive or write lock */ |
| 361 | 358 | |
| 362 | ||
| 363 | 359 | /* |
| 364 | 360 | * [XSI] The values used for l_whence shall be defined as described |
| 365 | 361 | * in <unistd.h> |
| ... | ... | @@ -409,6 +405,7 @@ struct flocktimeout { |
| 409 | 405 | 	struct flock fl; /* flock passed for file locking */ |
| 410 | 406 | 	struct timespec timeout; /* timespec struct for timeout */ |
| 411 | 407 | }; |
| 408 | ||
| 412 | 409 | #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ |
| 413 | 410 | |
| 414 | 411 | #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) |
| ... | ... | @@ -521,7 +518,6 @@ typedef struct fspecread { |
| 521 | 518 | 	off_t fsr_length; /* IN: size of the region */ |
| 522 | 519 | } fspecread_t; |
| 523 | 520 | |
| 524 | ||
| 525 | 521 | /* fattributiontag_t used by F_ATTRIBUTION_TAG */ |
| 526 | 522 | #define ATTRIBUTION_NAME_MAX 255 |
| 527 | 523 | typedef struct fattributiontag { |
| ... | ... | @@ -573,7 +569,6 @@ struct log2phys { |
| 573 | 569 | #define O_POPUP 0x80000000 /* force window to popup on open */ |
| 574 | 570 | #define O_ALERT 0x20000000 /* small, clean popup window */ |
| 575 | 571 | |
| 576 | ||
| 577 | 572 | #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ |
| 578 | 573 | |
| 579 | 574 | |
| ... | ... | @@ -628,4 +623,5 @@ int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_ST |
| 628 | 623 | #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ |
| 629 | 624 | __END_DECLS |
| 630 | 625 | |
| 626 | ||
| 631 | 627 | #endif /* !_SYS_FCNTL_H_ */ |
lib/libc/include/any-macos-any/sys/kern_control.h+1-1| ... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 | /* |
| 2 | * Copyright (c) 2000-2004, 2012-2016 Apple Inc. All rights reserved. | |
| 2 | * Copyright (c) 2000-2004, 2012-2025 Apple Inc. All rights reserved. | |
| 3 | 3 | * |
| 4 | 4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ |
| 5 | 5 | * |
lib/libc/include/any-macos-any/sys/mount.h+4-2| ... | ... | @@ -384,7 +384,8 @@ struct netfs_status { |
| 384 | 384 | #define VQ_DESIRED_DISK 0x4000 /* the desired disk space */ |
| 385 | 385 | #define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */ |
| 386 | 386 | #define VQ_PURGEABLE_SPACE_CHANGE 0x10000 /* purgeable disk space has significantly changed */ |
| 387 | #define VQ_FLAG20000 0x20000 /* placeholder */ | |
| 387 | #define VQ_IDLE_PURGE_NOTIFY 0x20000 /* Above nearlowdisk and below desired disk space */ | |
| 388 | #define VQ_FLAG40000 0x40000 /* placeholder */ | |
| 388 | 389 | |
| 389 | 390 | |
| 390 | 391 | |
| ... | ... | @@ -413,7 +414,7 @@ OS_ENUM(graftdmg_type, uint32_t, |
| 413 | 414 | GRAFTDMG_CRYPTEX_BOOT = 1, |
| 414 | 415 | GRAFTDMG_CRYPTEX_PREBOOT = 2, |
| 415 | 416 | GRAFTDMG_CRYPTEX_DOWNLEVEL = 3, |
| 416 | // Reserved: CRYPTEX1_AUTH_ENV_GENERIC = 4, | |
| 417 | GRAFTDMG_CRYPTEX_AUTH_ENV_GENERIC = 4, | |
| 417 | 418 | // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5, |
| 418 | 419 | GRAFTDMG_CRYPTEX_PDI_NONCE = 6, |
| 419 | 420 | GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7, |
| ... | ... | @@ -459,6 +460,7 @@ int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs); |
| 459 | 460 | int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); |
| 460 | 461 | #endif /* !__DARWIN_ONLY_64_BIT_INO_T */ |
| 461 | 462 | int unmount(const char *, int); |
| 463 | int funmount(int, int) __OSX_AVAILABLE(16.0) __IOS_AVAILABLE(19.0) __TVOS_AVAILABLE(19.0) __WATCHOS_AVAILABLE(12.0); | |
| 462 | 464 | int getvfsbyname(const char *, struct vfsconf *); |
| 463 | 465 | __END_DECLS |
| 464 | 466 |
lib/libc/include/any-macos-any/sys/paths.h+11| ... | ... | @@ -40,5 +40,16 @@ |
| 40 | 40 | #define _PATH_RSRCNAME "rsrc" |
| 41 | 41 | #define _PATH_RSRCFORKSPEC "/..namedfork/rsrc" |
| 42 | 42 | |
| 43 | /* Prefix Path Namespace */ | |
| 44 | #define RESOLVE_NOFOLLOW_ANY 0x00000001 /* no symlinks allowed in path */ | |
| 45 | #define RESOLVE_NODOTDOT 0x00000002 /* prevent '..' path traversal */ | |
| 46 | #define RESOLVE_LOCAL 0x00000004 /* prevent a path lookup into a network filesystem */ | |
| 47 | #define RESOLVE_NODEVFS 0x00000008 /* prevent a path lookup into `devfs` filesystem */ | |
| 48 | #define RESOLVE_IMMOVABLE 0x00000010 /* prevent a path lookup into a removable filesystem */ | |
| 49 | #define RESOLVE_UNIQUE 0x00000020 /* prevent a path lookup on a vnode with multiple links */ | |
| 50 | #define RESOLVE_NOXATTRS 0x00000040 /* prevent a path lookup on named streams */ | |
| 51 | ||
| 52 | #define RESOLVE_VALIDMASK 0x0000007F | |
| 53 | ||
| 43 | 54 | #endif /* __APPLE_API_PRIVATE */ |
| 44 | 55 | #endif /* !_SYS_PATHS_H_ */ |
lib/libc/include/any-macos-any/sys/proc.h+1| ... | ... | @@ -86,6 +86,7 @@ |
| 86 | 86 | struct session; |
| 87 | 87 | struct pgrp; |
| 88 | 88 | struct proc; |
| 89 | struct proc_ident; | |
| 89 | 90 | |
| 90 | 91 | /* Exported fields for kern sysctls */ |
| 91 | 92 | struct extern_proc { |
lib/libc/include/any-macos-any/sys/proc_info.h+8| ... | ... | @@ -349,6 +349,11 @@ struct proc_threadwithpathinfo { |
| 349 | 349 | 	struct vnode_info_path pvip; |
| 350 | 350 | }; |
| 351 | 351 | |
| 352 | struct proc_archinfo { | |
| 353 | 	cpu_type_t p_cputype; | |
| 354 | 	cpu_subtype_t p_cpusubtype; | |
| 355 | }; | |
| 356 | ||
| 352 | 357 | /* |
| 353 | 358 | * Socket |
| 354 | 359 | */ |
| ... | ... | @@ -758,6 +763,9 @@ struct channel_fdinfo { |
| 758 | 763 | #define PROC_PID_RUSAGE 16 |
| 759 | 764 | #define PROC_PID_RUSAGE_SIZE 0 |
| 760 | 765 | |
| 766 | #define PROC_PIDARCHINFO 19 | |
| 767 | #define PROC_PIDARCHINFO_SIZE (sizeof(struct proc_archinfo)) | |
| 768 | ||
| 761 | 769 | /* Flavors for proc_pidfdinfo */ |
| 762 | 770 | |
| 763 | 771 | #define PROC_PIDFDVNODEINFO 1 |
lib/libc/include/any-macos-any/sys/resource.h+4| ... | ... | @@ -514,6 +514,7 @@ struct proc_rlimit_control_wakeupmon { |
| 514 | 514 | #define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8 |
| 515 | 515 | #define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9 |
| 516 | 516 | #define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10 |
| 517 | #define IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS 14 | |
| 517 | 518 | |
| 518 | 519 | /* scope */ |
| 519 | 520 | #define IOPOL_SCOPE_PROCESS 0 |
| ... | ... | @@ -564,6 +565,9 @@ struct proc_rlimit_control_wakeupmon { |
| 564 | 565 | #define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0 |
| 565 | 566 | #define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON 1 |
| 566 | 567 | |
| 568 | #define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_OFF 0 | |
| 569 | #define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_ON 1 | |
| 570 | ||
| 567 | 571 | #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ |
| 568 | 572 | |
| 569 | 573 |
lib/libc/include/any-macos-any/sys/signal.h+1| ... | ... | @@ -164,6 +164,7 @@ union sigval { |
| 164 | 164 | #define SIGEV_NONE 0 /* No async notification */ |
| 165 | 165 | #define SIGEV_SIGNAL 1 /* aio - completion notification */ |
| 166 | 166 | #define SIGEV_THREAD 3 /* [NOTIMP] [RTS] call notification function */ |
| 167 | #define SIGEV_KEVENT 4 /* Generate a kevent */ | |
| 167 | 168 | |
| 168 | 169 | struct sigevent { |
| 169 | 170 | 	int sigev_notify; /* Notification type */ |
lib/libc/include/any-macos-any/sys/stdio.h+1| ... | ... | @@ -37,6 +37,7 @@ |
| 37 | 37 | #define RENAME_EXCL 0x00000004 |
| 38 | 38 | #define RENAME_RESERVED1 0x00000008 |
| 39 | 39 | #define RENAME_NOFOLLOW_ANY 0x00000010 |
| 40 | #define RENAME_RESOLVE_BENEATH 0x00000020 | |
| 40 | 41 | #endif |
| 41 | 42 | |
| 42 | 43 | #if __DARWIN_C_LEVEL >= 200809L |
lib/libc/include/any-macos-any/sys/sysctl.h+2-1| ... | ... | @@ -154,7 +154,8 @@ struct ctlname { |
| 154 | 154 | #define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */ |
| 155 | 155 | #define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */ |
| 156 | 156 | #define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */ |
| 157 | #define CTLFLAG_EXPERIMENT 0x00100000 /* Allows writing w/ the trial experiment entitlement. */ | |
| 157 | #define CTLFLAG_EXPERIMENT 0x00100000 /* Allows read/write w/ the trial experiment entitlement. */ | |
| 158 | #define CTLFLAG_LEGACY_EXPERIMENT 0x00080000 /* Allows writing w/ the legacy trial experiment entitlement. */ | |
| 158 | 159 | |
| 159 | 160 | /* |
| 160 | 161 | * USE THIS instead of a hardwired number from the categories below |
lib/libc/include/any-macos-any/unistd.h+14-4| ... | ... | @@ -72,7 +72,15 @@ |
| 72 | 72 | #include <_types.h> |
| 73 | 73 | #include <sys/unistd.h> |
| 74 | 74 | #include <Availability.h> |
| 75 | #define _LIBC_COUNT__PATH_MAX	_LIBC_UNSAFE_INDEXABLE | |
| 76 | #if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) | |
| 77 | #if defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck | |
| 78 | /* required for bounds annotations, but pollutes namespace */ | |
| 75 | 79 | #include <sys/syslimits.h> |
| 80 | #undef _LIBC_COUNT__PATH_MAX | |
| 81 | #define _LIBC_COUNT__PATH_MAX	_LIBC_COUNT_OR_NULL(PATH_MAX) | |
| 82 | #endif /* defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck */ | |
| 83 | #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ | |
| 76 | 84 | #include <sys/_types/_gid_t.h> |
| 77 | 85 | #include <sys/_types/_intptr_t.h> |
| 78 | 86 | #include <sys/_types/_off_t.h> |
| ... | ... | @@ -517,8 +525,6 @@ extern int optind, opterr, optopt; |
| 517 | 525 | __END_DECLS |
| 518 | 526 | #endif /* __DARWIN_C_LEVEL >= 199209L */ |
| 519 | 527 | |
| 520 | ||
| 521 | ||
| 522 | 528 | /* Additional functionality provided by: |
| 523 | 529 | * POSIX.1c-1995, |
| 524 | 530 | * POSIX.1i-1995, |
| ... | ... | @@ -526,7 +532,6 @@ __END_DECLS |
| 526 | 532 | */ |
| 527 | 533 | |
| 528 | 534 | #if __DARWIN_C_LEVEL >= 199506L |
| 529 | #include <_ctermid.h> | |
| 530 | 535 | /* These F_* are really XSI or Issue 6 */ |
| 531 | 536 | #define F_ULOCK 0 /* unlock locked section */ |
| 532 | 537 | #define	F_LOCK 1 /* lock a section for exclusive use */ |
| ... | ... | @@ -536,6 +541,11 @@ __END_DECLS |
| 536 | 541 | __BEGIN_DECLS |
| 537 | 542 | |
| 538 | 543 | /* Begin XSI */ |
| 544 | /* Removed in Issue 7 */ | |
| 545 | #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L | |
| 546 | #include <_ctermid.h> | |
| 547 | #endif | |
| 548 | ||
| 539 | 549 | /* Removed in Issue 6 */ |
| 540 | 550 | #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L |
| 541 | 551 | #if !defined(_POSIX_C_SOURCE) |
| ... | ... | @@ -565,7 +575,7 @@ char *_LIBC_CSTR	getpass(const char *) __POSIX_C_DEPRECATED(199506L); |
| 565 | 575 | |
| 566 | 576 | /* Removed in Issue 7 */ |
| 567 | 577 | #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L |
| 568 | char *_LIBC_CSTR	getwd(char *_LIBC_COUNT_OR_NULL(PATH_MAX)) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */ | |
| 578 | char *_LIBC_CSTR	getwd(char *_LIBC_COUNT__PATH_MAX) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */ | |
| 569 | 579 | #endif |
| 570 | 580 | |
| 571 | 581 | int	 lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown); |
lib/libc/include/any-macos-any/xpc/base.h+4| ... | ... | @@ -93,8 +93,10 @@ __BEGIN_DECLS |
| 93 | 93 | #if defined(__XPC_TEST__) && __XPC_TEST__ |
| 94 | 94 | #define XPC_TESTSTATIC |
| 95 | 95 | #define XPC_TESTEXTERN extern |
| 96 | #define XPC_TESTNORETURN | |
| 96 | 97 | #else // defined(__XPC_TEST__) && __XPC_TEST__ |
| 97 | 98 | #define XPC_TESTSTATIC static |
| 99 | #define XPC_TESTNORETURN XPC_NORETURN | |
| 98 | 100 | #endif // defined(__XPC_TEST__) && __XPC_TEST__ |
| 99 | 101 | |
| 100 | 102 | #if __has_feature(objc_arc) |
| ... | ... | @@ -242,6 +244,8 @@ __BEGIN_DECLS |
| 242 | 244 | #define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg) |
| 243 | 245 | #define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module") |
| 244 | 246 | |
| 247 | #define XPC_SWIFT_SENDABLE __attribute__((__swift_attr__("@Sendable"))) | |
| 248 | ||
| 245 | 249 | __END_DECLS |
| 246 | 250 | |
| 247 | 251 | #endif // __XPC_BASE_H__ |
lib/libc/include/any-macos-any/xpc/connection.h+37-13| ... | ... | @@ -141,8 +141,8 @@ typedef void (*xpc_finalizer_t)(void * _Nullable value); |
| 141 | 141 | * The GCD queue to which the event handler block will be submitted. This |
| 142 | 142 | * parameter may be NULL, in which case the connection's target queue will be |
| 143 | 143 | * 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(). | |
| 146 | 146 | * |
| 147 | 147 | * @result |
| 148 | 148 | * A new connection object. The caller is responsible for disposing of the |
| ... | ... | @@ -178,8 +178,8 @@ xpc_connection_create(const char * _Nullable name, |
| 178 | 178 | * The GCD queue to which the event handler block will be submitted. This |
| 179 | 179 | * parameter may be NULL, in which case the connection's target queue will be |
| 180 | 180 | * 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(). | |
| 183 | 183 | * |
| 184 | 184 | * @param flags |
| 185 | 185 | * Additional attributes with which to create the connection. |
| ... | ... | @@ -240,14 +240,11 @@ xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint); |
| 240 | 240 | * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. |
| 241 | 241 | * |
| 242 | 242 | * @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. | |
| 247 | 245 | * |
| 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 | |
| 251 | 248 | * handler block executing concurrently. If you wish to process events |
| 252 | 249 | * concurrently, you can dispatch_async(3) to a concurrent queue from within |
| 253 | 250 | * the event handler. |
| ... | ... | @@ -330,7 +327,7 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) |
| 330 | 327 | XPC_EXPORT XPC_NONNULL_ALL |
| 331 | 328 | void |
| 332 | 329 | xpc_connection_set_event_handler(xpc_connection_t connection, |
| 333 | 	xpc_handler_t handler); | |
| 330 | 	XPC_SWIFT_SENDABLE xpc_handler_t handler); | |
| 334 | 331 | |
| 335 | 332 | /*! |
| 336 | 333 | * @function xpc_connection_activate |
| ... | ... | @@ -534,7 +531,7 @@ XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4 |
| 534 | 531 | void |
| 535 | 532 | xpc_connection_send_message_with_reply(xpc_connection_t connection, |
| 536 | 533 | 	xpc_object_t message, dispatch_queue_t _Nullable replyq, |
| 537 | 	xpc_handler_t handler); | |
| 534 | 	XPC_SWIFT_SENDABLE xpc_handler_t handler); | |
| 538 | 535 | |
| 539 | 536 | /*! |
| 540 | 537 | * @function xpc_connection_send_message_with_reply_sync |
| ... | ... | @@ -983,6 +980,33 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT |
| 983 | 980 | int |
| 984 | 981 | xpc_connection_set_peer_lightweight_code_requirement(xpc_connection_t connection, xpc_object_t lwcr); |
| 985 | 982 | |
| 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 | */ | |
| 1003 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 1004 | API_UNAVAILABLE(tvos, watchos) | |
| 1005 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL | |
| 1006 | void | |
| 1007 | xpc_connection_set_peer_requirement(xpc_connection_t connection, | |
| 1008 | 		xpc_peer_requirement_t peer_requirement); | |
| 1009 | ||
| 986 | 1010 | /*! |
| 987 | 1011 | * @function xpc_connection_copy_invalidation_reason |
| 988 | 1012 | * Returns a description of why the connection was invalidated. |
lib/libc/include/any-macos-any/xpc/listener.h+36-7| ... | ... | @@ -24,7 +24,7 @@ __BEGIN_DECLS |
| 24 | 24 | * connect to the server |
| 25 | 25 | * |
| 26 | 26 | */ |
| 27 | OS_OBJECT_DECL_CLASS(xpc_listener); | |
| 27 | OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener); | |
| 28 | 28 | |
| 29 | 29 | #pragma mark Constants |
| 30 | 30 | /*! |
| ... | ... | @@ -202,19 +202,22 @@ xpc_listener_reject_peer(xpc_session_t peer, const char *reason); |
| 202 | 202 | * The listener object which is to be modified. |
| 203 | 203 | * |
| 204 | 204 | * @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. | |
| 207 | 207 | * |
| 208 | 208 | * @result |
| 209 | 209 | * 0 on success, non-zero on error |
| 210 | 210 | * |
| 211 | 211 | * @discussion |
| 212 | * This function will return an error promptly if the code signing requirement string is invalid. | |
| 212 | * This function will return an error promptly if the code signing requirement | |
| 213 | * string is invalid. | |
| 213 | 214 | * |
| 214 | * It is a programming error to call `xpc_listener_set_peer_code_signing_requirement` more than once per listener. | |
| 215 | * It is a programming error to call `xpc_listener_set_peer_*requirement` more | |
| 216 | * than once per listener. | |
| 215 | 217 | * |
| 216 | * All messages received on this listener will be checked to ensure they come from a peer who 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. | |
| 218 | 221 | * |
| 219 | 222 | * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements |
| 220 | 223 | */ |
| ... | ... | @@ -224,6 +227,32 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT |
| 224 | 227 | int |
| 225 | 228 | xpc_listener_set_peer_code_signing_requirement(xpc_listener_t listener, const char *requirement); |
| 226 | 229 | |
| 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 | */ | |
| 250 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 251 | API_UNAVAILABLE(tvos, watchos) | |
| 252 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL | |
| 253 | void | |
| 254 | xpc_listener_set_peer_requirement(xpc_listener_t listener, xpc_peer_requirement_t requirement); | |
| 255 | ||
| 227 | 256 | __END_DECLS |
| 228 | 257 | XPC_ASSUME_NONNULL_END |
| 229 | 258 |
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 | ||
| 10 | XPC_ASSUME_NONNULL_BEGIN | |
| 11 | __BEGIN_DECLS | |
| 12 | ||
| 13 | XPC_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 | */ | |
| 31 | OS_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 | */ | |
| 56 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 57 | API_UNAVAILABLE(tvos, watchos) | |
| 58 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED | |
| 59 | xpc_peer_requirement_t _Nullable | |
| 60 | xpc_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 | */ | |
| 89 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 90 | API_UNAVAILABLE(tvos, watchos) | |
| 91 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED | |
| 92 | xpc_peer_requirement_t _Nullable | |
| 93 | xpc_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 | */ | |
| 124 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 125 | API_UNAVAILABLE(tvos, watchos) | |
| 126 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED | |
| 127 | xpc_peer_requirement_t _Nullable | |
| 128 | xpc_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 | */ | |
| 156 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 157 | API_UNAVAILABLE(tvos, watchos) | |
| 158 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED | |
| 159 | xpc_peer_requirement_t _Nullable | |
| 160 | xpc_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 | */ | |
| 204 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 205 | API_UNAVAILABLE(tvos, watchos) | |
| 206 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED | |
| 207 | xpc_peer_requirement_t _Nullable | |
| 208 | xpc_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 | */ | |
| 231 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 232 | API_UNAVAILABLE(tvos, watchos) | |
| 233 | XPC_EXPORT XPC_SWIFT_NOEXPORT | |
| 234 | bool | |
| 235 | xpc_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 | |
| 240 | XPC_ASSUME_NONNULL_END | |
| 241 | ||
| 242 | #endif |
lib/libc/include/any-macos-any/xpc/session.h+50-12| ... | ... | @@ -25,8 +25,11 @@ __BEGIN_DECLS |
| 25 | 25 | * Clients can initiate a session with a service that accepts xpc_connection_t connections but session |
| 26 | 26 | * semantics will be maintained. |
| 27 | 27 | * |
| 28 | * Sessions can be created in an active or inactive state. They must be | |
| 29 | * activated and subsequently cancelled before they can be released. | |
| 30 | * | |
| 28 | 31 | */ |
| 29 | OS_OBJECT_DECL_CLASS(xpc_session); | |
| 32 | OS_OBJECT_DECL_SENDABLE_CLASS(xpc_session); | |
| 30 | 33 | |
| 31 | 34 | #pragma mark Constants |
| 32 | 35 | /*! |
| ... | ... | @@ -244,8 +247,8 @@ xpc_session_set_target_queue(xpc_session_t session, |
| 244 | 247 | * |
| 245 | 248 | * @discussion |
| 246 | 249 | * 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. | |
| 249 | 252 | * |
| 250 | 253 | * If activation fails, the session is automatically cancelled. |
| 251 | 254 | */ |
| ... | ... | @@ -266,8 +269,9 @@ xpc_session_activate(xpc_session_t session, |
| 266 | 269 | * The session object to cancel. |
| 267 | 270 | * |
| 268 | 271 | * @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. | |
| 271 | 275 | */ |
| 272 | 276 | API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) |
| 273 | 277 | XPC_EXPORT XPC_SWIFT_NOEXPORT |
| ... | ... | @@ -388,20 +392,26 @@ xpc_session_send_message_with_reply_async(xpc_session_t session, |
| 388 | 392 | * The session object which is to be modified. |
| 389 | 393 | * |
| 390 | 394 | * @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. | |
| 393 | 397 | * |
| 394 | 398 | * @result |
| 395 | 399 | * 0 on success, non-zero on error |
| 396 | 400 | * |
| 397 | 401 | * @discussion |
| 398 | * This function will return an error promptly if the code signing requirement string is invalid. | |
| 402 | * This function will return an error promptly if the code signing requirement | |
| 403 | * string is invalid. | |
| 399 | 404 | * |
| 400 | * It is a programming error to call `xpc_session_set_peer_code_signing_requirement` more than once per session. | |
| 405 | * It is a programming error to call `xpc_session_set_peer_*requirement` more | |
| 406 | * than once per session. | |
| 401 | 407 | * |
| 402 | * All messages received on this session will be checked to ensure they come from a peer who 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. | |
| 405 | 415 | * |
| 406 | 416 | * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements |
| 407 | 417 | */ |
| ... | ... | @@ -411,6 +421,34 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT |
| 411 | 421 | int |
| 412 | 422 | xpc_session_set_peer_code_signing_requirement(xpc_session_t session, const char *requirement); |
| 413 | 423 | |
| 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 | */ | |
| 446 | API_AVAILABLE(macos(26.0), ios(26.0)) | |
| 447 | API_UNAVAILABLE(tvos, watchos) | |
| 448 | XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL | |
| 449 | void | |
| 450 | xpc_session_set_peer_requirement(xpc_session_t session, xpc_peer_requirement_t requirement); | |
| 451 | ||
| 414 | 452 | /* This is included for compatibility and should not be used in new code */ |
| 415 | 453 | #define XPC_TYPE_SESSION (&_xpc_type_session) |
| 416 | 454 | XPC_EXPORT |
lib/libc/include/any-macos-any/xpc/xpc.h+2-1| ... | ... | @@ -344,6 +344,7 @@ XPC_ASSUME_NONNULL_END |
| 344 | 344 | #include <xpc/debug.h> |
| 345 | 345 | #if __BLOCKS__ |
| 346 | 346 | #include <xpc/activity.h> |
| 347 | #include <xpc/peer_requirement.h> | |
| 347 | 348 | #include <xpc/connection.h> |
| 348 | 349 | #include <xpc/rich_error.h> |
| 349 | 350 | #include <xpc/session.h> |
| ... | ... | @@ -2771,7 +2772,7 @@ API_UNAVAILABLE(ios) |
| 2771 | 2772 | XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 |
| 2772 | 2773 | void |
| 2773 | 2774 | xpc_set_event_stream_handler(const char *stream, |
| 2774 | 	dispatch_queue_t _Nullable targetq, xpc_handler_t handler); | |
| 2775 | 	dispatch_queue_t _Nullable targetq, XPC_SWIFT_SENDABLE xpc_handler_t handler); | |
| 2775 | 2776 | #endif // __BLOCKS__ |
| 2776 | 2777 | |
| 2777 | 2778 | __END_DECLS |