mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
libc: Update macOS headers to SDK 26.0
This commit is contained in:
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"MinimalDisplayName":"15.5"}
|
||||
{"MinimalDisplayName":"26.0"}
|
||||
|
||||
Vendored
+511
-405
@@ -3,7 +3,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/libSystem.B.dylib'
|
||||
current-version: 1351
|
||||
current-version: 1356
|
||||
reexported-libraries:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -25,7 +25,8 @@ reexported-libraries:
|
||||
'/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib',
|
||||
'/usr/lib/system/libsystem_sanitizers.dylib', '/usr/lib/system/libsystem_secinit.dylib',
|
||||
'/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib',
|
||||
'/usr/lib/system/libunwind.dylib', '/usr/lib/system/libxpc.dylib' ]
|
||||
'/usr/lib/system/libsystem_trial.dylib', '/usr/lib/system/libunwind.dylib',
|
||||
'/usr/lib/system/libxpc.dylib' ]
|
||||
exports:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst ]
|
||||
symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist',
|
||||
@@ -399,7 +400,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libcorecrypto.dylib'
|
||||
current-version: 1736.120.5
|
||||
current-version: 1922.0.25
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -450,18 +451,18 @@ exports:
|
||||
_cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad,
|
||||
_ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt,
|
||||
_ccccm_encrypt, _ccccm_finalize, _ccccm_finalize_and_generate_tag,
|
||||
_ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_one_shot,
|
||||
_ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, _ccccm_reset,
|
||||
_ccccm_set_iv, _ccccm_update, _cccfb8_block_size, _cccfb8_context_size,
|
||||
_cccfb8_init, _cccfb8_one_shot, _cccfb8_update, _cccfb_block_size,
|
||||
_cccfb_context_size, _cccfb_init, _cccfb_one_shot, _cccfb_update,
|
||||
_ccchacha20, _ccchacha20_final, _ccchacha20_init, _ccchacha20_reset,
|
||||
_ccchacha20_setcounter, _ccchacha20_setnonce, _ccchacha20_update,
|
||||
_ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot,
|
||||
_ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot,
|
||||
_ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce,
|
||||
_ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset,
|
||||
_ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify,
|
||||
_ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_nonce_size,
|
||||
_ccccm_one_shot, _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt,
|
||||
_ccccm_reset, _ccccm_set_iv, _ccccm_update, _cccfb8_block_size,
|
||||
_cccfb8_context_size, _cccfb8_init, _cccfb8_one_shot, _cccfb8_update,
|
||||
_cccfb_block_size, _cccfb_context_size, _cccfb_init, _cccfb_one_shot,
|
||||
_cccfb_update, _ccchacha20, _ccchacha20_final, _ccchacha20_init,
|
||||
_ccchacha20_reset, _ccchacha20_setcounter, _ccchacha20_setnonce,
|
||||
_ccchacha20_update, _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt,
|
||||
_ccchacha20poly1305_decrypt_oneshot, _ccchacha20poly1305_encrypt,
|
||||
_ccchacha20poly1305_encrypt_oneshot, _ccchacha20poly1305_finalize,
|
||||
_ccchacha20poly1305_incnonce, _ccchacha20poly1305_info, _ccchacha20poly1305_init,
|
||||
_ccchacha20poly1305_reset, _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify,
|
||||
_ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp,
|
||||
_ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share,
|
||||
_ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment,
|
||||
@@ -530,14 +531,15 @@ exports:
|
||||
_ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224,
|
||||
_ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full,
|
||||
_ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes,
|
||||
_ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update,
|
||||
_ccdrbg_context_size, _ccdrbg_df_bc_init, _ccdrbg_done, _ccdrbg_factory_nistctr,
|
||||
_ccdrbg_factory_nisthmac, _ccdrbg_generate, _ccdrbg_init,
|
||||
_ccdrbg_must_reseed, _ccdrbg_reseed, _ccec_affinify, _ccec_blind,
|
||||
_ccec_compact_export, _ccec_compact_export_pub, _ccec_compact_generate_key,
|
||||
_ccec_compact_generate_key_init, _ccec_compact_generate_key_step,
|
||||
_ccec_compact_import_priv, _ccec_compact_import_priv_size,
|
||||
_ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key,
|
||||
_ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_parallel,
|
||||
_ccdigest_update, _ccdrbg_context_size, _ccdrbg_df_bc_init,
|
||||
_ccdrbg_done, _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac,
|
||||
_ccdrbg_generate, _ccdrbg_init, _ccdrbg_must_reseed, _ccdrbg_reseed,
|
||||
_ccec_affinify, _ccec_blind, _ccec_compact_export, _ccec_compact_export_pub,
|
||||
_ccec_compact_generate_key, _ccec_compact_generate_key_init,
|
||||
_ccec_compact_generate_key_step, _ccec_compact_import_priv,
|
||||
_ccec_compact_import_priv_size, _ccec_compact_import_pub,
|
||||
_ccec_compact_import_pub_size, _ccec_compact_transform_key,
|
||||
_ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size,
|
||||
_ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192,
|
||||
_ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup,
|
||||
@@ -623,29 +625,44 @@ exports:
|
||||
_cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk,
|
||||
_cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret,
|
||||
_cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256,
|
||||
_cchpke_params_x25519_AESGCM256_HKDF_SHA256, _cchpke_params_xwing_AESGCM128_HKDF_SHA256,
|
||||
_cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open,
|
||||
_cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed,
|
||||
_cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info,
|
||||
_cckem_export_privkey, _cckem_export_pubkey, _cckem_full_ctx_init,
|
||||
_cckem_generate_key, _cckem_import_privkey, _cckem_import_pubkey,
|
||||
_cckem_kyber1024, _cckem_kyber768, _cckem_privkey_nbytes_ctx,
|
||||
_cckem_privkey_nbytes_info, _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx,
|
||||
_cckem_pubkey_nbytes_info, _cckem_public_ctx, _cckem_shared_key_nbytes_ctx,
|
||||
_cckem_shared_key_nbytes_info, _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx,
|
||||
_cckem_generate_key, _cckem_generate_key_with_seed, _cckem_import_privkey,
|
||||
_cckem_import_pubkey, _cckem_kyber1024, _cckem_kyber768, _cckem_mlkem1024,
|
||||
_cckem_mlkem768, _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info,
|
||||
_cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info,
|
||||
_cckem_public_ctx, _cckem_seed_nbytes_ctx, _cckem_seed_nbytes_info,
|
||||
_cckem_shared_key_nbytes_ctx, _cckem_shared_key_nbytes_info,
|
||||
_cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, _cckem_xwing_mlkem768x25519,
|
||||
_cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block,
|
||||
_ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf,
|
||||
_ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt,
|
||||
_ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt,
|
||||
_ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt,
|
||||
_ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt,
|
||||
_ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt,
|
||||
_ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt,
|
||||
_ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt,
|
||||
_ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint,
|
||||
_ccn_print, _ccn_read_uint, _ccn_set_bit, _ccn_seti, _ccn_sub,
|
||||
_ccn_swap, _ccn_write_int, _ccn_write_int_size, _ccn_write_uint,
|
||||
_ccn_write_uint_padded, _ccn_write_uint_padded_ct, _ccn_write_uint_size,
|
||||
_ccn_xor, _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed,
|
||||
_ccmldsa65, _ccmldsa87, _ccmldsa_derive_key_from_seed, _ccmldsa_export_privkey,
|
||||
_ccmldsa_export_pubkey, _ccmldsa_full_ctx_init, _ccmldsa_generate_key,
|
||||
_ccmldsa_generate_key_with_seed, _ccmldsa_hash_nbytes_ctx,
|
||||
_ccmldsa_hash_nbytes_params, _ccmldsa_import_privkey, _ccmldsa_import_pubkey,
|
||||
_ccmldsa_prehash, _ccmldsa_prehash_with_context, _ccmldsa_privkey_nbytes_ctx,
|
||||
_ccmldsa_privkey_nbytes_params, _ccmldsa_pub_ctx_init, _ccmldsa_pubkey_nbytes_ctx,
|
||||
_ccmldsa_pubkey_nbytes_params, _ccmldsa_public_ctx, _ccmldsa_seed_nbytes_ctx,
|
||||
_ccmldsa_seed_nbytes_params, _ccmldsa_sign, _ccmldsa_sign_prehashed,
|
||||
_ccmldsa_sign_with_context, _ccmldsa_signature_nbytes_ctx,
|
||||
_ccmldsa_signature_nbytes_params, _ccmldsa_sizeof_full_ctx,
|
||||
_ccmldsa_sizeof_pub_ctx, _ccmldsa_verify, _ccmldsa_verify_prehashed,
|
||||
_ccmldsa_verify_with_context, _ccmode_factory_cbc_decrypt,
|
||||
_ccmode_factory_cbc_encrypt, _ccmode_factory_ccm_decrypt,
|
||||
_ccmode_factory_ccm_encrypt, _ccmode_factory_cfb8_decrypt,
|
||||
_ccmode_factory_cfb8_encrypt, _ccmode_factory_cfb_decrypt,
|
||||
_ccmode_factory_cfb_encrypt, _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt,
|
||||
_ccmode_factory_gcm_encrypt, _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt,
|
||||
_ccmode_factory_siv_encrypt, _ccmode_factory_xts_decrypt,
|
||||
_ccmode_factory_xts_encrypt, _ccn_add, _ccn_add1, _ccn_bitlen,
|
||||
_ccn_cmp, _ccn_cmpn, _ccn_lprint, _ccn_print, _ccn_read_uint,
|
||||
_ccn_set_bit, _ccn_seti, _ccn_sub, _ccn_swap, _ccn_write_int,
|
||||
_ccn_write_int_size, _ccn_write_uint, _ccn_write_uint_padded,
|
||||
_ccn_write_uint_padded_ct, _ccn_write_uint_size, _ccn_xor,
|
||||
_ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed,
|
||||
_ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size,
|
||||
_ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update,
|
||||
_ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt,
|
||||
@@ -692,35 +709,36 @@ exports:
|
||||
_ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment,
|
||||
_ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck,
|
||||
_ccsae_sizeof_kck_h2c, _ccsae_sizeof_pt, _ccsae_verify_commitment,
|
||||
_ccsae_verify_confirmation, _ccscrypt, _ccscrypt_storage_size,
|
||||
_ccsha1_di, _ccsha1_eay_di, _ccsha1_ltc_di, _ccsha224_di,
|
||||
_ccsha224_ltc_di, _ccsha256_di, _ccsha256_ltc_di, _ccsha384_di,
|
||||
_ccsha384_ltc_di, _ccsha3_224_di, _ccsha3_256_di, _ccsha3_384_di,
|
||||
_ccsha3_512_di, _ccsha512_256_di, _ccsha512_256_ltc_di, _ccsha512_di,
|
||||
_ccsha512_ltc_di, _ccsigma_clear, _ccsigma_clear_key, _ccsigma_compute_mac,
|
||||
_ccsigma_derive_session_keys, _ccsigma_export_key_share, _ccsigma_import_peer_key_share,
|
||||
_ccsigma_import_peer_verification_key, _ccsigma_import_signing_key,
|
||||
_ccsigma_init, _ccsigma_kex_init_ctx, _ccsigma_kex_resp_ctx,
|
||||
_ccsigma_mfi_info, _ccsigma_mfi_nvm_info, _ccsigma_open, _ccsigma_peer_role,
|
||||
_ccsigma_seal, _ccsigma_set_signing_function, _ccsigma_sign,
|
||||
_ccsigma_verify, _ccsiv_aad, _ccsiv_block_size, _ccsiv_ciphertext_size,
|
||||
_ccsiv_context_size, _ccsiv_crypt, _ccsiv_hmac_aad, _ccsiv_hmac_block_size,
|
||||
_ccsiv_hmac_ciphertext_size, _ccsiv_hmac_context_size, _ccsiv_hmac_crypt,
|
||||
_ccsiv_hmac_init, _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size,
|
||||
_ccsiv_hmac_reset, _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot,
|
||||
_ccsiv_plaintext_size, _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256,
|
||||
_ccspake_cp_256_rfc, _ccspake_cp_384, _ccspake_cp_384_rfc,
|
||||
_ccspake_cp_521, _ccspake_cp_521_rfc, _ccspake_generate_L,
|
||||
_ccspake_kex_generate, _ccspake_kex_process, _ccspake_mac_compute,
|
||||
_ccspake_mac_hkdf_cmac_aes128_sha256, _ccspake_mac_hkdf_hmac_sha256,
|
||||
_ccspake_mac_hkdf_hmac_sha512, _ccspake_mac_verify_and_get_session_key,
|
||||
_ccspake_prover_init, _ccspake_prover_initialize, _ccspake_reduce_w,
|
||||
_ccspake_reduce_w_RFC9383, _ccspake_sizeof_ctx, _ccspake_sizeof_point,
|
||||
_ccspake_sizeof_w, _ccspake_verifier_init, _ccspake_verifier_initialize,
|
||||
_ccsrp_client_process_challenge, _ccsrp_client_set_noUsernameInX,
|
||||
_ccsrp_client_start_authentication, _ccsrp_client_verify_session,
|
||||
_ccsrp_ctx_init, _ccsrp_ctx_init_option, _ccsrp_ctx_init_with_size_option,
|
||||
_ccsrp_exchange_size, _ccsrp_generate_salt_and_verification,
|
||||
_ccsae_verify_commitment_with_rejected_groups, _ccsae_verify_confirmation,
|
||||
_ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di,
|
||||
_ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di,
|
||||
_ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_di,
|
||||
_ccsha3_256_di, _ccsha3_384_di, _ccsha3_512_di, _ccsha512_256_di,
|
||||
_ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsigma_clear,
|
||||
_ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys,
|
||||
_ccsigma_exclave_pairing_info, _ccsigma_export_key_share,
|
||||
_ccsigma_import_peer_key_share, _ccsigma_import_peer_verification_key,
|
||||
_ccsigma_import_signing_key, _ccsigma_init, _ccsigma_kex_init_ctx,
|
||||
_ccsigma_kex_resp_ctx, _ccsigma_mfi_info, _ccsigma_mfi_nvm_info,
|
||||
_ccsigma_open, _ccsigma_peer_role, _ccsigma_seal, _ccsigma_set_signing_function,
|
||||
_ccsigma_sign, _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size,
|
||||
_ccsiv_ciphertext_size, _ccsiv_context_size, _ccsiv_crypt,
|
||||
_ccsiv_hmac_aad, _ccsiv_hmac_block_size, _ccsiv_hmac_ciphertext_size,
|
||||
_ccsiv_hmac_context_size, _ccsiv_hmac_crypt, _ccsiv_hmac_init,
|
||||
_ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, _ccsiv_hmac_reset,
|
||||
_ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, _ccsiv_plaintext_size,
|
||||
_ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, _ccspake_cp_256_rfc,
|
||||
_ccspake_cp_384, _ccspake_cp_384_rfc, _ccspake_cp_521, _ccspake_cp_521_rfc,
|
||||
_ccspake_generate_L, _ccspake_get_session_key, _ccspake_kex_generate,
|
||||
_ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256,
|
||||
_ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512,
|
||||
_ccspake_mac_verify_and_get_session_key, _ccspake_prover_init,
|
||||
_ccspake_prover_initialize, _ccspake_reduce_w, _ccspake_reduce_w_RFC9383,
|
||||
_ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w,
|
||||
_ccspake_verifier_init, _ccspake_verifier_initialize, _ccsrp_client_process_challenge,
|
||||
_ccsrp_client_set_noUsernameInX, _ccsrp_client_start_authentication,
|
||||
_ccsrp_client_verify_session, _ccsrp_ctx_init, _ccsrp_ctx_init_option,
|
||||
_ccsrp_ctx_init_with_size_option, _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification,
|
||||
_ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key,
|
||||
_ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048,
|
||||
_ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192,
|
||||
@@ -770,7 +788,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libdispatch.dylib'
|
||||
current-version: 1521.120.4
|
||||
current-version: 1542.0.4
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -870,7 +888,8 @@ exports:
|
||||
_dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher,
|
||||
_dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2',
|
||||
_dispatch_queue_get_label, _dispatch_queue_get_qos_class,
|
||||
_dispatch_queue_get_specific, _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy,
|
||||
_dispatch_queue_get_specific, _dispatch_queue_get_threadid_4wdt,
|
||||
_dispatch_queue_offsets, _dispatch_queue_set_label_nocopy,
|
||||
_dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read,
|
||||
_dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain,
|
||||
_dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait,
|
||||
@@ -887,8 +906,8 @@ exports:
|
||||
_dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f,
|
||||
_dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self,
|
||||
_dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec,
|
||||
_dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_walltime,
|
||||
_dispatch_workloop_copy_current, _dispatch_workloop_create,
|
||||
_dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_verify_current_queue_4swiftonly,
|
||||
_dispatch_walltime, _dispatch_workloop_copy_current, _dispatch_workloop_create,
|
||||
_dispatch_workloop_create_inactive, _dispatch_workloop_is_current,
|
||||
_dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent,
|
||||
_dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class,
|
||||
@@ -907,18 +926,20 @@ exports:
|
||||
_os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup,
|
||||
_os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox,
|
||||
_os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id,
|
||||
_os_workgroup_interval_data_set_flags, _os_workgroup_interval_data_set_telemetry,
|
||||
_os_workgroup_interval_finish, _os_workgroup_interval_start,
|
||||
_os_workgroup_interval_update, _os_workgroup_join, _os_workgroup_join_self,
|
||||
_os_workgroup_leave, _os_workgroup_leave_self, _os_workgroup_max_parallel_threads,
|
||||
_os_workgroup_interval_data_set_complexity, _os_workgroup_interval_data_set_flags,
|
||||
_os_workgroup_interval_data_set_telemetry, _os_workgroup_interval_finish,
|
||||
_os_workgroup_interval_start, _os_workgroup_interval_update,
|
||||
_os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave,
|
||||
_os_workgroup_leave_self, _os_workgroup_max_parallel_threads,
|
||||
_os_workgroup_parallel_create, _os_workgroup_set_working_arena,
|
||||
_os_workgroup_testcancel, _voucher_activity_create_with_data,
|
||||
_voucher_activity_create_with_data_2, _voucher_activity_create_with_location,
|
||||
_voucher_activity_flush, _voucher_activity_get_logging_preferences,
|
||||
_voucher_activity_get_metadata_buffer, _voucher_activity_id_allocate,
|
||||
_voucher_activity_initialize_4libtrace, _voucher_activity_should_send_strings,
|
||||
_voucher_activity_trace, _voucher_activity_trace_v, _voucher_activity_trace_v_2,
|
||||
_voucher_adopt, _voucher_copy, _voucher_copy_with_persona_mach_voucher,
|
||||
_voucher_activity_get_logging_preferences_with_port, _voucher_activity_get_metadata_buffer,
|
||||
_voucher_activity_id_allocate, _voucher_activity_initialize_4libtrace,
|
||||
_voucher_activity_should_send_strings, _voucher_activity_trace,
|
||||
_voucher_activity_trace_v, _voucher_activity_trace_v_2, _voucher_adopt,
|
||||
_voucher_copy, _voucher_copy_with_persona_mach_voucher, _voucher_copy_with_persona_mach_voucher_and_error,
|
||||
_voucher_copy_without_importance, _voucher_create_with_mach_msg,
|
||||
_voucher_decrement_importance_count4CF, _voucher_get_activity_id,
|
||||
_voucher_get_activity_id_and_creator, _voucher_get_current_persona,
|
||||
@@ -938,6 +959,8 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libdyld.dylib'
|
||||
current-version: 0
|
||||
compatibility-version: 0
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -947,8 +970,9 @@ exports:
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc,
|
||||
_NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent,
|
||||
__dyld_atfork_prepare, __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent,
|
||||
__dyld_dlopen_atfork_prepare, __dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance,
|
||||
__dyld_atfork_prepare, __dyld_call_with_writable_tpro_memory,
|
||||
__dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, __dyld_dlopen_atfork_prepare,
|
||||
__dyld_dlsym_blocked, __dyld_find_foreign_type_protocol_conformance,
|
||||
__dyld_find_foreign_type_protocol_conformance_on_disk, __dyld_find_pointer_hash_table_entry,
|
||||
__dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk,
|
||||
__dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol,
|
||||
@@ -1011,8 +1035,8 @@ exports:
|
||||
_macho_cpu_type_for_arch_name, _macho_dylib_install_name,
|
||||
_macho_for_each_defined_rpath, _macho_for_each_dependent_dylib,
|
||||
_macho_for_each_exported_symbol, _macho_for_each_imported_symbol,
|
||||
_macho_for_each_slice, _macho_for_each_slice_in_fd, _macho_source_version,
|
||||
dyld_stub_binder ]
|
||||
_macho_for_each_runnable_arch_name, _macho_for_each_slice,
|
||||
_macho_for_each_slice_in_fd, _macho_source_version, dyld_stub_binder ]
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol,
|
||||
_NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory,
|
||||
@@ -1052,7 +1076,7 @@ exports:
|
||||
tbd-version: 4
|
||||
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
install-name: '/usr/lib/system/libmacho.dylib'
|
||||
current-version: 1024.3
|
||||
current-version: 1030.6.3
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
umbrella: System
|
||||
@@ -1092,7 +1116,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libquarantine.dylib'
|
||||
current-version: 181.120.2
|
||||
current-version: 196.0.1
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1104,7 +1128,8 @@ exports:
|
||||
__qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free,
|
||||
__qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata,
|
||||
__qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init,
|
||||
__qtn_file_init_with_data, __qtn_file_init_with_fd, __qtn_file_init_with_mount_point,
|
||||
__qtn_file_init_with_data, __qtn_file_init_with_disk_image_backing_store,
|
||||
__qtn_file_init_with_fd, __qtn_file_init_with_mount_point,
|
||||
__qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier,
|
||||
__qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data,
|
||||
__qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid,
|
||||
@@ -1138,7 +1163,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libremovefile.dylib'
|
||||
current-version: 81
|
||||
current-version: 84
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1156,7 +1181,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_asl.dylib'
|
||||
current-version: 402
|
||||
current-version: 404
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1256,7 +1281,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_c.dylib'
|
||||
current-version: 1698.100.8
|
||||
current-version: 1725.0.11
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1398,36 +1423,37 @@ exports:
|
||||
_fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize,
|
||||
_getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd,
|
||||
_getdate, _getdate_err, _getdelim, _getdiskbyname, _getenv,
|
||||
'_getgroups$DARWIN_EXTSN', _gethostid, _gethostname, _getipv4sourcefilter,
|
||||
_getlastlogx, _getlastlogxbyname, _getline, _getloadavg, _getlogin,
|
||||
_getlogin_r, _getmntinfo, _getmntinfo_r_np, _getmode, _getopt,
|
||||
_getopt_long, _getopt_long_only, _getpagesize, _getpass, _getpeereid,
|
||||
_getprogname, _gets, _getsourcefilter, _getsubopt, _gettimeofday,
|
||||
_getttyent, _getttynam, _getusershell, _getutmp, _getutmpx,
|
||||
_getutxent, _getutxent_wtmp, _getutxid, _getutxline, _getvfsbyname,
|
||||
_getw, _getwc, _getwc_l, _getwchar, _getwchar_l, _getwd, _glob,
|
||||
_glob_b, _globfree, _gmtime, _gmtime_r, _grantpt, _hash_create,
|
||||
_hash_destroy, _hash_purge, _hash_search, _hash_stats, _hash_traverse,
|
||||
_hcreate, _hdestroy, _heapsort, _heapsort_b, _hsearch, _imaxabs,
|
||||
_imaxdiv, _inet_addr, _inet_aton, _inet_lnaof, _inet_makeaddr,
|
||||
_inet_net_ntop, _inet_net_pton, _inet_neta, _inet_netof, _inet_network,
|
||||
_inet_nsap_addr, _inet_nsap_ntoa, _inet_ntoa, _inet_ntop,
|
||||
_inet_ntop4, _inet_ntop6, _inet_pton, _initstate, _insque,
|
||||
_isalnum, _isalnum_l, _isalpha, _isalpha_l, _isascii, _isatty,
|
||||
_isblank, _isblank_l, _iscntrl, _iscntrl_l, _isdigit, _isdigit_l,
|
||||
_isgraph, _isgraph_l, _ishexnumber, _ishexnumber_l, _isideogram,
|
||||
_isideogram_l, _islower, _islower_l, _isnumber, _isnumber_l,
|
||||
_isphonogram, _isphonogram_l, _isprint, _isprint_l, _ispunct,
|
||||
_ispunct_l, _isrune, _isrune_l, _isspace, _isspace_l, _isspecial,
|
||||
_isspecial_l, _isupper, _isupper_l, _iswalnum, _iswalnum_l,
|
||||
_iswalpha, _iswalpha_l, _iswascii, _iswblank, _iswblank_l,
|
||||
_iswcntrl, _iswcntrl_l, _iswctype, _iswctype_l, _iswdigit,
|
||||
_iswdigit_l, _iswgraph, _iswgraph_l, _iswhexnumber, _iswhexnumber_l,
|
||||
_iswideogram, _iswideogram_l, _iswlower, _iswlower_l, _iswnumber,
|
||||
_iswnumber_l, _iswphonogram, _iswphonogram_l, _iswprint, _iswprint_l,
|
||||
_iswpunct, _iswpunct_l, _iswrune, _iswrune_l, _iswspace, _iswspace_l,
|
||||
_iswspecial, _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit,
|
||||
_iswxdigit_l, _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName,
|
||||
_getenv_copy_np, '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname,
|
||||
_getipv4sourcefilter, _getlastlogx, _getlastlogxbyname, _getline,
|
||||
_getloadavg, _getlogin, _getlogin_r, _getmntinfo, _getmntinfo_r_np,
|
||||
_getmode, _getopt, _getopt_long, _getopt_long_only, _getpagesize,
|
||||
_getpass, _getpeereid, _getprogname, _gets, _getsourcefilter,
|
||||
_getsubopt, _gettimeofday, _getttyent, _getttynam, _getusershell,
|
||||
_getutmp, _getutmpx, _getutxent, _getutxent_wtmp, _getutxid,
|
||||
_getutxline, _getvfsbyname, _getw, _getwc, _getwc_l, _getwchar,
|
||||
_getwchar_l, _getwd, _glob, _glob_b, _globfree, _gmtime, _gmtime_r,
|
||||
_grantpt, _hash_create, _hash_destroy, _hash_purge, _hash_search,
|
||||
_hash_stats, _hash_traverse, _hcreate, _hdestroy, _heapsort,
|
||||
_heapsort_b, _hsearch, _imaxabs, _imaxdiv, _inet_addr, _inet_aton,
|
||||
_inet_lnaof, _inet_makeaddr, _inet_net_ntop, _inet_net_pton,
|
||||
_inet_neta, _inet_netof, _inet_network, _inet_nsap_addr, _inet_nsap_ntoa,
|
||||
_inet_ntoa, _inet_ntop, _inet_ntop4, _inet_ntop6, _inet_pton,
|
||||
_initstate, _insque, _isalnum, _isalnum_l, _isalpha, _isalpha_l,
|
||||
_isascii, _isatty, _isblank, _isblank_l, _iscntrl, _iscntrl_l,
|
||||
_isdigit, _isdigit_l, _isgraph, _isgraph_l, _ishexnumber,
|
||||
_ishexnumber_l, _isideogram, _isideogram_l, _islower, _islower_l,
|
||||
_isnumber, _isnumber_l, _isphonogram, _isphonogram_l, _isprint,
|
||||
_isprint_l, _ispunct, _ispunct_l, _isrune, _isrune_l, _isspace,
|
||||
_isspace_l, _isspecial, _isspecial_l, _isupper, _isupper_l,
|
||||
_iswalnum, _iswalnum_l, _iswalpha, _iswalpha_l, _iswascii,
|
||||
_iswblank, _iswblank_l, _iswcntrl, _iswcntrl_l, _iswctype,
|
||||
_iswctype_l, _iswdigit, _iswdigit_l, _iswgraph, _iswgraph_l,
|
||||
_iswhexnumber, _iswhexnumber_l, _iswideogram, _iswideogram_l,
|
||||
_iswlower, _iswlower_l, _iswnumber, _iswnumber_l, _iswphonogram,
|
||||
_iswphonogram_l, _iswprint, _iswprint_l, _iswpunct, _iswpunct_l,
|
||||
_iswrune, _iswrune_l, _iswspace, _iswspace_l, _iswspecial,
|
||||
_iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, _iswxdigit_l,
|
||||
_isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName,
|
||||
_killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv,
|
||||
_lfind, _libc_set_introspection_hooks, _link_addr, _link_ntoa,
|
||||
_llabs, _lldiv, _localeconv, _localeconv_l, _localtime, _localtime_r,
|
||||
@@ -1552,7 +1578,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_collections.dylib'
|
||||
current-version: 1698.100.8
|
||||
current-version: 1725.0.11
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1582,7 +1608,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_configuration.dylib'
|
||||
current-version: 1351.120.3
|
||||
current-version: 1385.0.7
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1616,9 +1642,14 @@ parent-umbrella:
|
||||
exports:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMFSSEAM_DEFAULT, _CMPWDSEAM_DEFAULT,
|
||||
_CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT,
|
||||
_CONTAINER_PERSONA_PRIMARY, __container_init, __container_query_get_servicing_pid,
|
||||
symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMDISPATCHSEAM_DEFAULT, _CMFSSEAM_DEFAULT,
|
||||
_CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMSANDBOXSEAM_DEFAULT,
|
||||
_CONTAINER_CLASS_NAMES, _CONTAINER_NOTIFY_GENERATION_INITIAL,
|
||||
_CONTAINER_NOTIFY_GENERATION_INVALID, _CONTAINER_NOTIFY_USER_INVALIDATED,
|
||||
_CONTAINER_PERSONA_CURRENT, _CONTAINER_PERSONA_PRIMARY, __container_init,
|
||||
__container_notify_copy_notify_name, __container_query_get_next_result_sync,
|
||||
__container_query_get_result_at_index, __container_query_get_servicing_pid,
|
||||
__container_query_operation_set_private_flags, __container_query_reset_iterator,
|
||||
__container_references_get_servicing_pid, __container_traverse_continuation_create,
|
||||
__container_traverse_continuation_free, __container_traverse_continuation_pop,
|
||||
__container_traverse_continuation_push, __container_traverse_get_last_path_component,
|
||||
@@ -1630,12 +1661,14 @@ exports:
|
||||
_container_audit_token_for_pid, _container_audit_token_get_codesign_status,
|
||||
_container_audit_token_get_egid, _container_audit_token_get_euid,
|
||||
_container_audit_token_get_pid, _container_audit_token_get_platform,
|
||||
_container_audit_token_is_valid, _container_base64_decode,
|
||||
_container_base64_decode_string, _container_base64_encode,
|
||||
_container_base64_encode_string, _container_bundle_copy_data_container,
|
||||
_container_bundle_copy_data_container_path, _container_class_for_each_normalized_class,
|
||||
_container_class_normalized, _container_class_supports_data_subdirectory,
|
||||
_container_class_supports_randomized_path, _container_class_supports_randomized_path_on_current_platform,
|
||||
_container_audit_token_is_valid, _container_authorize, _container_authorize_container,
|
||||
_container_authorize_container_for_self, _container_authorize_get_result_description,
|
||||
_container_base64_decode, _container_base64_decode_string,
|
||||
_container_base64_encode, _container_base64_encode_string,
|
||||
_container_bundle_copy_data_container, _container_bundle_copy_data_container_path,
|
||||
_container_class_for_each_normalized_class, _container_class_normalized,
|
||||
_container_class_supports_data_subdirectory, _container_class_supports_randomized_path,
|
||||
_container_class_supports_randomized_path_on_current_platform,
|
||||
_container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object,
|
||||
_container_client_copy_entitlement, _container_client_create_from_audit_token,
|
||||
_container_client_get_audit_token, _container_client_get_codesign_identifier,
|
||||
@@ -1668,9 +1701,10 @@ exports:
|
||||
_container_disk_usage, _container_disposition, _container_disposition_for_array,
|
||||
_container_entitlements_copy_container_identifiers, _container_error_copy,
|
||||
_container_error_copy_unlocalized_description, _container_error_create,
|
||||
_container_error_free, _container_error_get_category, _container_error_get_path,
|
||||
_container_error_get_posix_errno, _container_error_get_type,
|
||||
_container_error_is_fatal, _container_error_is_file_system_error,
|
||||
_container_error_create_with_message, _container_error_free,
|
||||
_container_error_get_category, _container_error_get_message,
|
||||
_container_error_get_path, _container_error_get_posix_errno,
|
||||
_container_error_get_type, _container_error_is_fatal, _container_error_is_file_system_error,
|
||||
_container_error_reinitialize, _container_flush_container_cache,
|
||||
_container_flush_persona_cache, _container_free_array_of_containers,
|
||||
_container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes,
|
||||
@@ -1702,10 +1736,17 @@ exports:
|
||||
_container_log_ext_error_with_faults, _container_log_handle_for_category,
|
||||
_container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path,
|
||||
_container_log_replication_prune_for_uid, _container_log_set_client_fault_logging,
|
||||
_container_object_copy, _container_object_create, _container_object_create_blank,
|
||||
_container_object_free, _container_object_get_class, _container_object_get_creator_codesign_identifier,
|
||||
_container_object_get_identifier, _container_object_get_info,
|
||||
_container_object_get_path, _container_object_get_persona_unique_string,
|
||||
_container_notify_create, _container_notify_create_with_class,
|
||||
_container_notify_create_with_initial_gen_count, _container_notify_free,
|
||||
_container_notify_get_generation, _container_notify_get_last_error,
|
||||
_container_notify_has_changed, _container_notify_increment_generation,
|
||||
_container_notify_post, _container_notify_set_class, _container_notify_set_event_handler,
|
||||
_container_notify_set_flags, _container_notify_set_generation,
|
||||
_container_notify_set_queue, _container_notify_set_uid, _container_notify_start,
|
||||
_container_notify_stop, _container_object_copy, _container_object_create,
|
||||
_container_object_create_blank, _container_object_free, _container_object_get_class,
|
||||
_container_object_get_creator_codesign_identifier, _container_object_get_identifier,
|
||||
_container_object_get_info, _container_object_get_path, _container_object_get_persona_unique_string,
|
||||
_container_object_get_query, _container_object_get_sandbox_token,
|
||||
_container_object_get_uid, _container_object_get_unique_path_component,
|
||||
_container_object_get_user_managed_assets_relative_path, _container_object_get_uuid,
|
||||
@@ -1723,22 +1764,23 @@ exports:
|
||||
_container_paths_context_set_flags, _container_paths_context_set_persona_unique_string,
|
||||
_container_paths_context_set_transient, _container_paths_context_set_uid,
|
||||
_container_paths_copy_container_at, _container_paths_copy_container_from_path,
|
||||
_container_paths_copy_container_root_path_for_context, _container_paths_copy_uid_home_relative,
|
||||
_container_paths_create_uid_home_relative, _container_paths_enumerate_containers_at,
|
||||
_container_perfect_hash_copyout_external_bytes, _container_perfect_hash_count,
|
||||
_container_perfect_hash_create, _container_perfect_hash_create_from_external_bytes,
|
||||
_container_perfect_hash_destroy, _container_perfect_hash_index_of,
|
||||
_container_perfect_hash_num_indexes, _container_perform_with_client_context,
|
||||
_container_persona_collect_all_ids, _container_persona_convert_unique_string_to_persona_uid,
|
||||
_container_persona_foreach, _container_process_restored_container,
|
||||
_container_pwd_copy_user_home_path, _container_pwd_for_name,
|
||||
_container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path,
|
||||
_container_paths_copy_container_root_path_for_context, _container_paths_copy_part_subpath,
|
||||
_container_paths_copy_uid_home_relative, _container_paths_create_uid_home_relative,
|
||||
_container_paths_enumerate_containers_at, _container_perfect_hash_copyout_external_bytes,
|
||||
_container_perfect_hash_count, _container_perfect_hash_create,
|
||||
_container_perfect_hash_create_from_external_bytes, _container_perfect_hash_destroy,
|
||||
_container_perfect_hash_index_of, _container_perfect_hash_num_indexes,
|
||||
_container_perform_with_client_context, _container_persona_collect_all_ids,
|
||||
_container_persona_convert_unique_string_to_persona_uid, _container_persona_foreach,
|
||||
_container_process_restored_container, _container_pwd_copy_user_home_path,
|
||||
_container_pwd_for_name, _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path,
|
||||
_container_pwd_get_mobile_user_uid, _container_query_copy,
|
||||
_container_query_count_results, _container_query_create, _container_query_create_from_container,
|
||||
_container_query_free, _container_query_get_last_error, _container_query_get_single_result,
|
||||
_container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync,
|
||||
_container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client,
|
||||
_container_query_operation_set_flags, _container_query_operation_set_platform,
|
||||
_container_query_operation_set_flags, _container_query_operation_set_part,
|
||||
_container_query_operation_set_part_domain, _container_query_operation_set_platform,
|
||||
_container_query_set_class, _container_query_set_group_identifiers,
|
||||
_container_query_set_identifiers, _container_query_set_include_other_owners,
|
||||
_container_query_set_persona_unique_string, _container_query_set_transient,
|
||||
@@ -1748,9 +1790,12 @@ exports:
|
||||
_container_retry_test, _container_sandbox_extension_consume,
|
||||
_container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension,
|
||||
_container_sandbox_issue_extension, _container_seam_container_reset,
|
||||
_container_seam_container_set_common, _container_seam_fs_ensure_lazy_loaded,
|
||||
_container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_pwd_reset,
|
||||
_container_seam_pwd_set_common, _container_serialize_copy_deserialized_reference,
|
||||
_container_seam_container_set_common, _container_seam_dispatch_reset,
|
||||
_container_seam_dispatch_set_common, _container_seam_fs_ensure_lazy_loaded,
|
||||
_container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_notify_reset,
|
||||
_container_seam_notify_set_common, _container_seam_pwd_reset,
|
||||
_container_seam_pwd_set_common, _container_seam_sandbox_reset,
|
||||
_container_seam_sandbox_set_common, _container_serialize_copy_deserialized_reference,
|
||||
_container_serialize_copy_serialized_reference, _container_set_code_signing_info_for_identifier,
|
||||
_container_set_data_protection_for_current_user, _container_set_info_value,
|
||||
_container_set_test_lock, _container_stage_shared_system_content,
|
||||
@@ -1785,7 +1830,8 @@ exports:
|
||||
_container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block,
|
||||
_container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection,
|
||||
_container_xpc_shared_copy_connection, _gCMContainerSeam,
|
||||
_gCMFSSeam, _gCMPWDSeam ]
|
||||
_gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam,
|
||||
_gCMSandboxSeam ]
|
||||
- targets: [ x86_64-maccatalyst, arm64-maccatalyst, arm64e-maccatalyst ]
|
||||
symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID,
|
||||
_CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths,
|
||||
@@ -1813,13 +1859,13 @@ exports:
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration,
|
||||
_NSStartSearchPathEnumerationPrivate, ___user_local_dirname,
|
||||
___user_relative_dirname, __append_relative_path_component,
|
||||
__dirhelper, __dirhelper_relative, __get_user_dir_suffix,
|
||||
__libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration,
|
||||
_sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ]
|
||||
___user_relative_dirname, __dirhelper, __dirhelper_relative,
|
||||
__get_user_dir_suffix, __libcoreservices_fork_child, __set_user_dir_suffix,
|
||||
_sysdir_get_next_search_path_enumeration, _sysdir_start_search_path_enumeration,
|
||||
_sysdir_start_search_path_enumeration_private ]
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints,
|
||||
__idle_exit ]
|
||||
__dirhelper_remove_test, __dirhelper_test, __idle_exit ]
|
||||
--- !tapi-tbd
|
||||
tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
@@ -1879,7 +1925,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_dnssd.dylib'
|
||||
current-version: 2600.120.12
|
||||
current-version: 2881.0.25
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -1916,7 +1962,7 @@ exports:
|
||||
tbd-version: 4
|
||||
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
install-name: '/usr/lib/system/libsystem_eligibility.dylib'
|
||||
current-version: 181.120.32
|
||||
current-version: 286
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
umbrella: System
|
||||
@@ -1934,7 +1980,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_featureflags.dylib'
|
||||
current-version: 97
|
||||
current-version: 101
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -2072,7 +2118,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_kernel.dylib'
|
||||
current-version: 11417.121.6
|
||||
current-version: 12377.1.9
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -2217,7 +2263,8 @@ exports:
|
||||
_debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token,
|
||||
_disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server,
|
||||
_exc_server_routine, _exception_raise, _exception_raise_state,
|
||||
_exception_raise_state_identity, _exchangedata, _exclaves_audio_buffer_copyout,
|
||||
_exception_raise_state_identity, _exchangedata, _exclaves_aoe_message_loop,
|
||||
_exclaves_aoe_setup, _exclaves_aoe_work_loop, _exclaves_audio_buffer_copyout,
|
||||
_exclaves_audio_buffer_copyout_with_status, _exclaves_audio_buffer_create,
|
||||
_exclaves_boot, _exclaves_endpoint_call, _exclaves_inbound_buffer_copyin,
|
||||
_exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time,
|
||||
@@ -2235,9 +2282,9 @@ exports:
|
||||
_fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsetattrlist,
|
||||
_fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, _fstat64,
|
||||
_fstatat, _fstatat64, _fstatfs, _fstatfs64, _fstatfs_ext,
|
||||
_fsync, '_fsync$NOCANCEL', _ftruncate, _futimens, _futimes,
|
||||
_getattrlist, _getattrlistat, _getattrlistbulk, _getaudit,
|
||||
_getaudit_addr, _getauid, _getdirentries, _getdirentriesattr,
|
||||
_fsync, '_fsync$NOCANCEL', _ftruncate, _funmount, _futimens,
|
||||
_futimes, _getattrlist, _getattrlistat, _getattrlistbulk,
|
||||
_getaudit, _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr,
|
||||
_getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat,
|
||||
_getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np,
|
||||
_getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid,
|
||||
@@ -2280,13 +2327,14 @@ exports:
|
||||
_mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times,
|
||||
_mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id,
|
||||
_mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64,
|
||||
_mach_memory_entry_access_tracking, _mach_memory_entry_ownership,
|
||||
_mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry,
|
||||
_mach_memory_object_memory_entry_64, _mach_msg, _mach_msg2_internal,
|
||||
_mach_msg2_trap, _mach_msg_destroy, _mach_msg_overwrite, _mach_msg_overwrite_trap,
|
||||
_mach_msg_priority_encode, _mach_msg_priority_is_pthread_priority,
|
||||
_mach_msg_priority_overide_qos, _mach_msg_priority_qos, _mach_msg_priority_relpri,
|
||||
_mach_msg_receive, _mach_msg_send, _mach_msg_server, _mach_msg_server_importance,
|
||||
_mach_memory_entry_access_tracking, _mach_memory_entry_get_page_counts,
|
||||
_mach_memory_entry_ownership, _mach_memory_entry_purgable_control,
|
||||
_mach_memory_info, _mach_memory_object_memory_entry, _mach_memory_object_memory_entry_64,
|
||||
_mach_msg, _mach_msg2_internal, _mach_msg2_trap, _mach_msg_destroy,
|
||||
_mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode,
|
||||
_mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos,
|
||||
_mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive,
|
||||
_mach_msg_send, _mach_msg_server, _mach_msg_server_importance,
|
||||
_mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name,
|
||||
_mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed,
|
||||
_mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full,
|
||||
@@ -2313,18 +2361,21 @@ exports:
|
||||
_mach_thread_special_port_for_id, _mach_timebase_info, _mach_timebase_info_trap,
|
||||
_mach_vm_allocate, _mach_vm_behavior_set, _mach_vm_copy, _mach_vm_deallocate,
|
||||
_mach_vm_deferred_reclamation_buffer_allocate, _mach_vm_deferred_reclamation_buffer_flush,
|
||||
_mach_vm_deferred_reclamation_buffer_resize, _mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes,
|
||||
_mach_vm_deferred_reclamation_buffer_query, _mach_vm_deferred_reclamation_buffer_resize,
|
||||
_mach_vm_inherit, _mach_vm_machine_attribute, _mach_vm_map,
|
||||
_mach_vm_msync, _mach_vm_page_info, _mach_vm_page_query, _mach_vm_page_range_query,
|
||||
_mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create,
|
||||
_mach_vm_read, _mach_vm_read_list, _mach_vm_read_overwrite,
|
||||
_mach_vm_reclaim_is_reusable, _mach_vm_reclaim_query_state,
|
||||
_mach_vm_reclaim_ring_allocate, _mach_vm_reclaim_ring_capacity,
|
||||
_mach_vm_reclaim_copied_ring_free, _mach_vm_reclaim_copied_ring_query,
|
||||
_mach_vm_reclaim_get_rings_for_task, _mach_vm_reclaim_is_reusable,
|
||||
_mach_vm_reclaim_query_state, _mach_vm_reclaim_ring_allocate,
|
||||
_mach_vm_reclaim_ring_capacity, _mach_vm_reclaim_ring_copy,
|
||||
_mach_vm_reclaim_ring_flush, _mach_vm_reclaim_ring_resize,
|
||||
_mach_vm_reclaim_round_capacity, _mach_vm_reclaim_try_cancel,
|
||||
_mach_vm_reclaim_try_enter, _mach_vm_reclaim_update_kernel_accounting,
|
||||
_mach_vm_region, _mach_vm_region_recurse, _mach_vm_remap,
|
||||
_mach_vm_remap_new, _mach_vm_update_pointers_with_remote_tags,
|
||||
_mach_vm_reclaim_update_kernel_accounting_trap, _mach_vm_region,
|
||||
_mach_vm_region_recurse, _mach_vm_remap, _mach_vm_remap_new,
|
||||
_mach_vm_tag_describe, _mach_vm_update_pointers_with_remote_tags,
|
||||
_mach_vm_wire, _mach_vm_write, _mach_voucher_attr_command,
|
||||
_mach_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes,
|
||||
_mach_voucher_extract_attr_content, _mach_voucher_extract_attr_recipe,
|
||||
@@ -2360,10 +2411,11 @@ exports:
|
||||
_os_channel_create, _os_channel_create_extended, _os_channel_destroy,
|
||||
_os_channel_event_free, _os_channel_event_get_event_data,
|
||||
_os_channel_event_get_next_event, _os_channel_flow_admissible,
|
||||
_os_channel_flow_adv_get_ce_count, _os_channel_get_advisory_region,
|
||||
_os_channel_get_fd, _os_channel_get_interface_advisory, _os_channel_get_next_event_handle,
|
||||
_os_channel_get_next_slot, _os_channel_get_stats_region, _os_channel_is_defunct,
|
||||
_os_channel_large_packet_alloc, _os_channel_packet_alloc,
|
||||
_os_channel_flow_adv_get_ce_count, _os_channel_flow_adv_get_feedback,
|
||||
_os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory,
|
||||
_os_channel_get_next_event_handle, _os_channel_get_next_slot,
|
||||
_os_channel_get_stats_region, _os_channel_get_upp_buffer_stats,
|
||||
_os_channel_is_defunct, _os_channel_large_packet_alloc, _os_channel_packet_alloc,
|
||||
_os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending,
|
||||
_os_channel_read_attr, _os_channel_read_nexus_extension_info,
|
||||
_os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time,
|
||||
@@ -2381,8 +2433,8 @@ exports:
|
||||
_os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules,
|
||||
_os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider,
|
||||
_os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance,
|
||||
_os_nexus_flow_set_wake_from_sleep, _os_packet_add_buflet,
|
||||
_os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid,
|
||||
_os_nexus_flow_set_connection_idle, _os_nexus_flow_set_wake_from_sleep,
|
||||
_os_packet_add_buflet, _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid,
|
||||
_os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type,
|
||||
_os_packet_get_buflet_count, _os_packet_get_compression_generation_count,
|
||||
_os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action,
|
||||
@@ -2407,15 +2459,16 @@ exports:
|
||||
_os_packet_set_traffic_class, _os_packet_set_transport_last_packet,
|
||||
_os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background,
|
||||
_os_packet_set_transport_traffic_realtime, _os_packet_set_tso_flags,
|
||||
_os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_trace_event,
|
||||
_os_proc_available_memory, _panic, _panic_init, _panic_with_data,
|
||||
_pathconf, _peeloff, _pid_for_task, _pid_hibernate, _pid_resume,
|
||||
_pid_shutdown_networking, _pid_shutdown_sockets, _pid_suspend,
|
||||
_pipe, _pivot_root, _pkt_subtype_assert_fail, _pkt_type_assert_fail,
|
||||
_poll, '_poll$NOCANCEL', _port_obj_init, _port_obj_table,
|
||||
_port_obj_table_size, _posix_madvise, _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np,
|
||||
_posix_spawn_file_actions_addchdir_np, _posix_spawn_file_actions_addclose,
|
||||
_posix_spawn_file_actions_adddup2, _posix_spawn_file_actions_addfchdir_np,
|
||||
_os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_set_wake_flag,
|
||||
_os_packet_trace_event, _os_proc_available_memory, _panic,
|
||||
_panic_init, _panic_with_data, _pathconf, _peeloff, _pid_for_task,
|
||||
_pid_hibernate, _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets,
|
||||
_pid_suspend, _pipe, _pivot_root, _poll, '_poll$NOCANCEL',
|
||||
_port_obj_init, _port_obj_table, _port_obj_table_size, _posix_madvise,
|
||||
_posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np,
|
||||
_posix_spawn_file_actions_addchdir, _posix_spawn_file_actions_addchdir_np,
|
||||
_posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2,
|
||||
_posix_spawn_file_actions_addfchdir, _posix_spawn_file_actions_addfchdir_np,
|
||||
_posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen,
|
||||
_posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init,
|
||||
_posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np,
|
||||
@@ -2426,73 +2479,74 @@ exports:
|
||||
_posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np,
|
||||
_posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask,
|
||||
_posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np,
|
||||
_posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_crash_behavior_deadline_np,
|
||||
_posix_spawnattr_set_crash_behavior_np, _posix_spawnattr_set_crash_count_np,
|
||||
_posix_spawnattr_set_csm_np, _posix_spawnattr_set_darwin_role_np,
|
||||
_posix_spawnattr_set_filedesclimit_ext, _posix_spawnattr_set_gid_np,
|
||||
_posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np,
|
||||
_posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_kqworklooplimit_ext,
|
||||
_posix_spawnattr_set_launch_type_np, _posix_spawnattr_set_login_np,
|
||||
_posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np,
|
||||
_posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np,
|
||||
_posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np,
|
||||
_posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np,
|
||||
_posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np,
|
||||
_posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_threadlimit_ext,
|
||||
_posix_spawnattr_set_uid_np, _posix_spawnattr_set_use_sec_transition_shims_np,
|
||||
_posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np,
|
||||
_posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np,
|
||||
_posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default,
|
||||
_posix_spawnattr_setdataless_iopolicy_np, _posix_spawnattr_setexceptionports_np,
|
||||
_posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext,
|
||||
_posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np,
|
||||
_posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup,
|
||||
_posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault,
|
||||
_posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np,
|
||||
_pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits,
|
||||
_proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure,
|
||||
_proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg,
|
||||
_proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon,
|
||||
_proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype,
|
||||
_proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params,
|
||||
_proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete,
|
||||
_proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids,
|
||||
_proc_list_uptrs, _proc_listallpids, _proc_listchildpids,
|
||||
_proc_listcoalitions, _proc_listpgrppids, _proc_listpids,
|
||||
_proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo,
|
||||
_proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo,
|
||||
_proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename,
|
||||
_proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control,
|
||||
_proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal,
|
||||
_proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty,
|
||||
_proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults,
|
||||
_proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol,
|
||||
_proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt,
|
||||
_proc_signal_delegate, _proc_signal_with_audittoken, _proc_suppress,
|
||||
_proc_terminate, _proc_terminate_all_rsr, _proc_terminate_delegate,
|
||||
_proc_terminate_with_audittoken, _proc_trace_log, _proc_track_dirty,
|
||||
_proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control,
|
||||
_processor_exit, _processor_get_assignment, _processor_info,
|
||||
_processor_set_create, _processor_set_default, _processor_set_destroy,
|
||||
_processor_set_info, _processor_set_max_priority, _processor_set_policy_control,
|
||||
_processor_set_policy_disable, _processor_set_policy_enable,
|
||||
_processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks,
|
||||
_processor_set_tasks_with_flavor, _processor_set_threads,
|
||||
_processor_start, _pselect, '_pselect$DARWIN_EXTSN', '_pselect$DARWIN_EXTSN$NOCANCEL',
|
||||
'_pselect$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np,
|
||||
_ptrace, _pwrite, '_pwrite$NOCANCEL', _pwritev, '_pwritev$NOCANCEL',
|
||||
_quota, _quotactl, _read, '_read$NOCANCEL', _readlink, _readlinkat,
|
||||
_readv, '_readv$NOCANCEL', _reboot, _reboot_np, _record_system_event_as_kernel,
|
||||
_recvfrom, '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL',
|
||||
_recvmsg_x, _register_uexc_handler, _removexattr, _rename,
|
||||
_rename_ext, _renameat, _renameatx_np, _renamex_np, _revoke,
|
||||
_rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL',
|
||||
'_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue,
|
||||
_sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink,
|
||||
_sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy,
|
||||
_semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap,
|
||||
_semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap,
|
||||
_semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap,
|
||||
_posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_conclavememlimit_ext,
|
||||
_posix_spawnattr_set_crash_behavior_deadline_np, _posix_spawnattr_set_crash_behavior_np,
|
||||
_posix_spawnattr_set_crash_count_np, _posix_spawnattr_set_csm_np,
|
||||
_posix_spawnattr_set_darwin_role_np, _posix_spawnattr_set_filedesclimit_ext,
|
||||
_posix_spawnattr_set_gid_np, _posix_spawnattr_set_groups_np,
|
||||
_posix_spawnattr_set_importancewatch_port_np, _posix_spawnattr_set_jetsam_ttr_np,
|
||||
_posix_spawnattr_set_kqworklooplimit_ext, _posix_spawnattr_set_launch_type_np,
|
||||
_posix_spawnattr_set_login_np, _posix_spawnattr_set_max_addr_np,
|
||||
_posix_spawnattr_set_persona_gid_np, _posix_spawnattr_set_persona_groups_np,
|
||||
_posix_spawnattr_set_persona_np, _posix_spawnattr_set_persona_uid_np,
|
||||
_posix_spawnattr_set_platform_np, _posix_spawnattr_set_portlimits_ext,
|
||||
_posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np,
|
||||
_posix_spawnattr_set_registered_ports_np, _posix_spawnattr_set_subsystem_root_path_np,
|
||||
_posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np,
|
||||
_posix_spawnattr_set_use_sec_transition_shims_np, _posix_spawnattr_setarchpref_np,
|
||||
_posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np,
|
||||
_posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor,
|
||||
_posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setdataless_iopolicy_np,
|
||||
_posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags,
|
||||
_posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np,
|
||||
_posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np,
|
||||
_posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np,
|
||||
_posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask,
|
||||
_posix_spawnattr_setspecialport_np, _pread, '_pread$NOCANCEL',
|
||||
_preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, _proc_clear_delayidlesleep,
|
||||
_proc_clear_dirty, _proc_clear_vmpressure, _proc_current_thread_schedinfo,
|
||||
_proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete,
|
||||
_proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon,
|
||||
_proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params,
|
||||
_proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg,
|
||||
_proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion,
|
||||
_proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids,
|
||||
_proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids,
|
||||
_proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage,
|
||||
_proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo,
|
||||
_proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken,
|
||||
_proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon,
|
||||
_proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params,
|
||||
_proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep,
|
||||
_proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure,
|
||||
_proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage,
|
||||
_proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm,
|
||||
_proc_setthread_no_smt, _proc_signal_delegate, _proc_signal_with_audittoken,
|
||||
_proc_suppress, _proc_terminate, _proc_terminate_all_rsr,
|
||||
_proc_terminate_delegate, _proc_terminate_with_audittoken,
|
||||
_proc_trace_log, _proc_track_dirty, _proc_udata_info, _proc_uuid_policy,
|
||||
_processor_assign, _processor_control, _processor_exit, _processor_get_assignment,
|
||||
_processor_info, _processor_set_create, _processor_set_default,
|
||||
_processor_set_destroy, _processor_set_info, _processor_set_max_priority,
|
||||
_processor_set_policy_control, _processor_set_policy_disable,
|
||||
_processor_set_policy_enable, _processor_set_stack_usage,
|
||||
_processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor,
|
||||
_processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN',
|
||||
'_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np,
|
||||
_pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL',
|
||||
_pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL',
|
||||
_readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot,
|
||||
_reboot_np, _record_system_event_as_kernel, _recvfrom, '_recvfrom$NOCANCEL',
|
||||
_recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, _register_uexc_handler,
|
||||
_removexattr, _rename, _rename_ext, _renameat, _renameatx_np,
|
||||
_renamex_np, _revoke, _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN',
|
||||
'_select$DARWIN_EXTSN$NOCANCEL', '_select$NOCANCEL', _sem_close,
|
||||
_sem_destroy, _sem_getvalue, _sem_init, _sem_open, _sem_post,
|
||||
_sem_trywait, _sem_unlink, _sem_wait, '_sem_wait$NOCANCEL',
|
||||
_semaphore_create, _semaphore_destroy, _semaphore_signal,
|
||||
_semaphore_signal_all, _semaphore_signal_all_trap, _semaphore_signal_thread,
|
||||
_semaphore_signal_thread_trap, _semaphore_signal_trap, _semaphore_timedwait,
|
||||
_semaphore_timedwait_signal, _semaphore_timedwait_signal_trap,
|
||||
_semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal,
|
||||
_semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl,
|
||||
_semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL',
|
||||
@@ -2582,7 +2636,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
|
||||
arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_m.dylib'
|
||||
current-version: 3291.100.4
|
||||
current-version: 3307.0.1
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
|
||||
arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -2804,7 +2858,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_malloc.dylib'
|
||||
current-version: 715.120.13
|
||||
current-version: 792.1.1
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -2833,15 +2887,15 @@ exports:
|
||||
_malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free,
|
||||
_malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc,
|
||||
_malloc_type_valloc, _malloc_type_zone_calloc, _malloc_type_zone_free,
|
||||
_malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options_internal,
|
||||
_malloc_type_zone_malloc_with_options_np, _malloc_type_zone_memalign,
|
||||
_malloc_type_zone_malloc, _malloc_type_zone_malloc_with_options,
|
||||
_malloc_type_zone_malloc_with_options_internal, _malloc_type_zone_memalign,
|
||||
_malloc_type_zone_realloc, _malloc_type_zone_valloc, _malloc_variant_is_debug_4test,
|
||||
_malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc,
|
||||
_malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address,
|
||||
_malloc_zone_disable_discharge_checking, _malloc_zone_discharge,
|
||||
_malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers,
|
||||
_malloc_zone_free, _malloc_zone_from_ptr, _malloc_zone_log,
|
||||
_malloc_zone_malloc, _malloc_zone_malloc_with_options_np,
|
||||
_malloc_zone_malloc, _malloc_zone_malloc_with_options, _malloc_zone_malloc_with_options_np,
|
||||
_malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print,
|
||||
_malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register,
|
||||
_malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc,
|
||||
@@ -2878,24 +2932,26 @@ exports:
|
||||
_NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains,
|
||||
_NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket,
|
||||
_NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD,
|
||||
_NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperHandleConfigurationsChangedBySC,
|
||||
_NEHelperInit, _NEHelperInterfaceCreate, _NEHelperInterfaceDestroy,
|
||||
_NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress,
|
||||
_NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetDelegate,
|
||||
_NEHelperInterfaceSetDescription, _NEHelperInterfaceSetMTU,
|
||||
_NEHelperInterfaceSetOption, _NEHelperSendRequest, _NEHelperSettingsRemove,
|
||||
_NEHelperSettingsSetArray, _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber,
|
||||
_NEHelperVPNConfigurationExists, _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache,
|
||||
_g_ne_uuid_cache_hit, _ne_copy_cached_bundle_identifier_for_uuid,
|
||||
_ne_copy_cached_uuids_for_bundle_identifier, _ne_copy_signature_info_for_pid,
|
||||
_ne_copy_signing_identifier_for_pid, _ne_copy_signing_identifier_for_pid_with_audit_token,
|
||||
_ne_copy_uuid_cache, _ne_force_reset_uuid_cache, _ne_get_configuration_generation,
|
||||
_NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperGetRawSocket,
|
||||
_NEHelperHandleConfigurationsChangedBySC, _NEHelperInit, _NEHelperInterfaceCreate,
|
||||
_NEHelperInterfaceDestroy, _NEHelperInterfaceRemoveAddress,
|
||||
_NEHelperInterfaceSetAddress, _NEHelperInterfaceSetAddressWithLifetime,
|
||||
_NEHelperInterfaceSetDelegate, _NEHelperInterfaceSetDescription,
|
||||
_NEHelperInterfaceSetMTU, _NEHelperInterfaceSetOption, _NEHelperSendRequest,
|
||||
_NEHelperSettingsRemove, _NEHelperSettingsSetArray, _NEHelperSettingsSetBool,
|
||||
_NEHelperSettingsSetNumber, _NEHelperVPNConfigurationExists,
|
||||
_NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, _g_ne_uuid_cache_hit,
|
||||
_ne_copy_cached_bundle_identifier_for_uuid, _ne_copy_cached_uuids_for_bundle_identifier,
|
||||
_ne_copy_signature_info_for_pid, _ne_copy_signing_identifier_for_pid,
|
||||
_ne_copy_signing_identifier_for_pid_with_audit_token, _ne_copy_uuid_cache,
|
||||
_ne_force_reset_uuid_cache, _ne_get_configuration_generation,
|
||||
_ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace,
|
||||
_ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id,
|
||||
_ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path,
|
||||
_ne_session_address_matches_subnets, _ne_session_agent_get_advisory,
|
||||
_ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present,
|
||||
_ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present,
|
||||
_ne_session_applications_have_local_network_entitlements,
|
||||
_ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present,
|
||||
_ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token,
|
||||
_ne_session_copy_os_version_string, _ne_session_copy_policy_match,
|
||||
@@ -2904,30 +2960,29 @@ exports:
|
||||
_ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present,
|
||||
_ne_session_dns_settings_configs_present, _ne_session_establish_ipc,
|
||||
_ne_session_fallback_advisory, _ne_session_fallback_default,
|
||||
_ne_session_get_boot_session_uuid, _ne_session_get_config_id_from_network_agent,
|
||||
_ne_session_get_configuration_id, _ne_session_get_info, _ne_session_get_info2,
|
||||
_ne_session_get_status, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all,
|
||||
_ne_session_fetch_server_parameters, _ne_session_get_boot_session_uuid,
|
||||
_ne_session_get_config_id_from_network_agent, _ne_session_get_configuration_id,
|
||||
_ne_session_get_info, _ne_session_get_info2, _ne_session_get_status,
|
||||
_ne_session_get_type, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all,
|
||||
_ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot,
|
||||
_ne_session_local_communication_configs_present, _ne_session_local_communication_send_info,
|
||||
_ne_session_manager_get_pid, _ne_session_manager_has_active_sessions,
|
||||
_ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid,
|
||||
_ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present,
|
||||
_ne_session_policy_copy_flow_divert_token, _ne_session_policy_copy_flow_divert_token_with_key,
|
||||
_ne_session_policy_match_get_filter_unit, _ne_session_policy_match_get_flow_divert_unit,
|
||||
_ne_session_policy_match_get_scoped_interface_index, _ne_session_policy_match_get_service,
|
||||
_ne_session_policy_match_get_service_action, _ne_session_policy_match_get_service_type,
|
||||
_ne_session_policy_match_is_drop, _ne_session_policy_match_is_flow_divert,
|
||||
_ne_session_policy_match_service_is_registered, _ne_session_relay_configs_present,
|
||||
_ne_session_release, _ne_session_retain, _ne_session_send_barrier,
|
||||
_ne_session_service_copy_cached_match_domains, _ne_session_service_get_dns_service_id,
|
||||
_ne_session_service_get_dns_service_id_for_interface, _ne_session_service_matches_address,
|
||||
_ne_session_service_matches_address_for_interface, _ne_session_set_device_communication_exception,
|
||||
_ne_session_set_event_handler, _ne_session_set_socket_attributes,
|
||||
_ne_session_set_socket_context_attribute, _ne_session_set_socket_tracker_attributes,
|
||||
_ne_session_should_disable_nexus, _ne_session_start, _ne_session_start_on_behalf_of,
|
||||
_ne_session_start_with_options, _ne_session_status_to_string,
|
||||
_ne_session_stop, _ne_session_stop_all_with_plugin_type, _ne_session_stop_reason_to_string,
|
||||
_ne_session_type_to_string, _ne_session_use_as_system_vpn,
|
||||
_ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action,
|
||||
_ne_session_policy_match_get_service_type, _ne_session_relay_configs_present,
|
||||
_ne_session_release, _ne_session_reset_cache, _ne_session_retain,
|
||||
_ne_session_send_barrier, _ne_session_service_copy_cached_match_domains,
|
||||
_ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface,
|
||||
_ne_session_service_matches_address, _ne_session_service_matches_address_for_interface,
|
||||
_ne_session_set_device_communication_exception, _ne_session_set_event_handler,
|
||||
_ne_session_set_socket_attributes, _ne_session_set_socket_context_attribute,
|
||||
_ne_session_set_socket_tracker_attributes, _ne_session_should_disable_nexus,
|
||||
_ne_session_start, _ne_session_start_on_behalf_of, _ne_session_start_with_options,
|
||||
_ne_session_status_to_string, _ne_session_stop, _ne_session_stop_all_with_plugin_type,
|
||||
_ne_session_stop_reason_to_string, _ne_session_type_to_string,
|
||||
_ne_session_urlfilter_configs_present, _ne_session_use_as_system_vpn,
|
||||
_ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present,
|
||||
_ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated,
|
||||
_ne_socket_set_website_attribution, _ne_tracker_build_cache,
|
||||
@@ -2949,7 +3004,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_notify.dylib'
|
||||
current-version: 342
|
||||
current-version: 344.0.1
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -2969,7 +3024,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_platform.dylib'
|
||||
current-version: 349
|
||||
current-version: 359.1.2
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3020,19 +3075,21 @@ exports:
|
||||
__simple_asl_msg_new, __simple_asl_msg_set, __simple_asl_send,
|
||||
__simple_dprintf, __simple_esappend, __simple_esprintf, __simple_getenv,
|
||||
__simple_put, __simple_putline, __simple_salloc, __simple_sappend,
|
||||
__simple_sfree, __simple_sprintf, __simple_sresize, __simple_string,
|
||||
__simple_vdprintf, __simple_vesprintf, __simple_vsprintf,
|
||||
__spin_lock, __spin_lock_try, __spin_unlock, _ffs, _ffsl,
|
||||
_ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp, _makecontext,
|
||||
_os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift,
|
||||
__simple_sfree, __simple_snprintf, __simple_sprintf, __simple_sresize,
|
||||
__simple_string, __simple_vdprintf, __simple_vesprintf, __simple_vsnprintf,
|
||||
__simple_vsprintf, __spin_lock, __spin_lock_try, __spin_unlock,
|
||||
_ffs, _ffsl, _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp,
|
||||
_makecontext, _os_apt_msg_async_task_running_4swift, _os_apt_msg_async_task_waiting_on_4swift,
|
||||
_os_lock_lock, _os_lock_trylock, _os_lock_unlock, _os_log_simple_now,
|
||||
_os_log_simple_type_from_asl, _os_sync_wait_on_address, _os_sync_wait_on_address_with_deadline,
|
||||
_os_sync_wait_on_address_with_timeout, _os_sync_wake_by_address_all,
|
||||
_os_sync_wake_by_address_any, _os_unfair_lock_assert_not_owner,
|
||||
_os_unfair_lock_assert_owner, _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd,
|
||||
_os_unfair_lock_lock_with_flags, _os_unfair_lock_lock_with_options,
|
||||
_os_unfair_lock_trylock, _os_unfair_lock_trylock_with_options,
|
||||
_os_unfair_lock_unlock, _os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options,
|
||||
_os_log_simple_type_from_asl, _os_security_config_get, _os_security_config_get_for_proc,
|
||||
_os_security_config_get_for_task, _os_sync_wait_on_address,
|
||||
_os_sync_wait_on_address_with_deadline, _os_sync_wait_on_address_with_timeout,
|
||||
_os_sync_wake_by_address_all, _os_sync_wake_by_address_any,
|
||||
_os_unfair_lock_assert_not_owner, _os_unfair_lock_assert_owner,
|
||||
_os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, _os_unfair_lock_lock_with_flags,
|
||||
_os_unfair_lock_lock_with_options, _os_unfair_lock_trylock,
|
||||
_os_unfair_lock_trylock_with_options, _os_unfair_lock_unlock,
|
||||
_os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options,
|
||||
_os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock,
|
||||
_os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock,
|
||||
_os_unfair_recursive_lock_unlock_forked_child, _setcontext,
|
||||
@@ -3047,7 +3104,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_pthread.dylib'
|
||||
current-version: 536
|
||||
current-version: 539
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3143,7 +3200,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_sandbox.dylib'
|
||||
current-version: 2401.121.3
|
||||
current-version: 2680.0.50
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3158,8 +3215,13 @@ exports:
|
||||
_SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL,
|
||||
_SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NOFOLLOW_ANY,
|
||||
_SANDBOX_EXTENSION_NO_REPORT, _SANDBOX_EXTENSION_NO_STORAGE_CLASS,
|
||||
_SANDBOX_EXTENSION_PREFIXMATCH, __amkrtemp, __sandbox_enter_notify_libxpc,
|
||||
__sandbox_in_a_container, __sandbox_register_app_bundle_0,
|
||||
_SANDBOX_EXTENSION_PREFIXMATCH, _SANDBOX_PROFILE_TYPE_AUTOBOX,
|
||||
_SANDBOX_PROFILE_TYPE_BASTION, _SANDBOX_PROFILE_TYPE_GLOBAL_OVERRIDE,
|
||||
_SANDBOX_PROFILE_TYPE_PLATFORM, _SANDBOX_PROFILE_TYPE_PROCESS,
|
||||
_SANDBOX_STORAGE_CLASS_GROUP_ANY, _SANDBOX_STORAGE_CLASS_PROPERTY_ACCEPTS_USER_APPROVAL,
|
||||
_SANDBOX_STORAGE_CLASS_PROPERTY_READ_RESTRICTED, _SANDBOX_STORAGE_CLASS_PROPERTY_REPLACEMENT_RESTRICTED,
|
||||
_SANDBOX_STORAGE_CLASS_PROPERTY_WRITE_RESTRICTED, __amkrtemp,
|
||||
__sandbox_enter_notify_libxpc, __sandbox_in_a_container, __sandbox_register_app_bundle_0,
|
||||
__sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork,
|
||||
_kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation,
|
||||
_kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId,
|
||||
@@ -3179,7 +3241,8 @@ exports:
|
||||
_sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path,
|
||||
_sandbox_check_message_filter_integer, _sandbox_check_message_filter_string,
|
||||
_sandbox_check_process_signal_target, _sandbox_check_protected_app_container,
|
||||
_sandbox_check_self_signal_target, _sandbox_consume_extension,
|
||||
_sandbox_check_self_signal_target, _sandbox_check_storage_class,
|
||||
_sandbox_check_with_attribution, _sandbox_consume_extension,
|
||||
_sandbox_consume_fs_extension, _sandbox_consume_mach_extension,
|
||||
_sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid,
|
||||
_sandbox_enable_local_state_flag, _sandbox_enable_root_translation,
|
||||
@@ -3205,15 +3268,16 @@ exports:
|
||||
_sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception,
|
||||
_sandbox_register_app_container, _sandbox_register_app_container_exception,
|
||||
_sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile,
|
||||
_sandbox_register_sync_root, _sandbox_release_fs_extension,
|
||||
_sandbox_requests_integrity_protection_for_preference_domain,
|
||||
_sandbox_register_disk_image_backing_store, _sandbox_register_sync_root,
|
||||
_sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain,
|
||||
_sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona,
|
||||
_sandbox_set_container_path_for_audit_token, _sandbox_set_container_path_for_signing_id,
|
||||
_sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer,
|
||||
_sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init,
|
||||
_sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename,
|
||||
_sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container,
|
||||
_sandbox_unregister_bastion_profile, _sandbox_unsuspend ]
|
||||
_sandbox_unregister_bastion_profile, _sandbox_unregister_disk_image_backing_store,
|
||||
_sandbox_unsuspend ]
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT,
|
||||
_gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply,
|
||||
@@ -3257,7 +3321,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_secinit.dylib'
|
||||
current-version: 153.100.10
|
||||
current-version: 168.0.3
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3290,7 +3354,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libsystem_trace.dylib'
|
||||
current-version: 1643.120.5
|
||||
current-version: 1815.0.16
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3298,39 +3362,55 @@ parent-umbrella:
|
||||
exports:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
symbols: [ __libtrace_fork_child, __libtrace_init, __os_activity_create,
|
||||
__os_activity_current, __os_activity_initiate, __os_activity_initiate_f,
|
||||
__os_activity_label_useraction, __os_activity_none, __os_activity_set_breadcrumb,
|
||||
__os_activity_start, __os_activity_stream_entry_encode, __os_log_create,
|
||||
__os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled,
|
||||
symbols: [ _RTBinIndexForType, _RTLogBufferAddResource, _RTLogBufferAllocateResource,
|
||||
_RTLogBufferCheckStatus, _RTLogBufferGetHeader, _RTLogBufferGetResource,
|
||||
_RTLogBufferGetResourceSize, _RTLogBufferInitialize, _RTLogBufferIterate,
|
||||
_RTLogBufferRequiredStorageSize, _RTLogConnect, _RTLogConnectMemoryConfigFromString,
|
||||
_RTLogConnectRingBuffer, _RTLogDisconnect, _RTLogRingBufferCreateManaged,
|
||||
_RTLogRingBufferDataSize, _RTLogRingBufferGetSegmentCount,
|
||||
_RTLogRingBufferGetSegmentSize, _RTLogRingBufferInit, _RTLogRingBufferIsDataAvailable,
|
||||
_RTLogRingBufferIterate, _RTLogRingBufferIterateFrom, _RTLogRingBufferJoinManaged,
|
||||
_RTLogRingBufferReadAt, _RTLogRingBufferWriteBuffer, _RTLogRingBufferWriteMessage,
|
||||
_RTLogRingBufferWriteWithCallback, __libtrace_fork_child,
|
||||
__libtrace_init, __os_activity_create, __os_activity_current,
|
||||
__os_activity_initiate, __os_activity_initiate_f, __os_activity_label_useraction,
|
||||
__os_activity_none, __os_activity_set_breadcrumb, __os_activity_start,
|
||||
__os_activity_stream_entry_encode, __os_log_create, __os_log_debug,
|
||||
__os_log_debug_impl, __os_log_default, __os_log_disabled,
|
||||
__os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl,
|
||||
__os_log_get_nscf_formatter, __os_log_impl, __os_log_internal,
|
||||
__os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute,
|
||||
__os_log_preferences_copy_cache, __os_log_preferences_load,
|
||||
__os_log_preferences_load_sysprefs, __os_log_preferences_merge,
|
||||
__os_log_release, __os_log_send_and_compose_impl, __os_log_set_nscf_formatter,
|
||||
__os_log_unreliable_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl,
|
||||
__os_log_unreliable_impl, __os_metric_double_create_impl,
|
||||
__os_metric_double_op_impl, __os_metric_int64_create_impl,
|
||||
__os_metric_int64_op_impl, __os_metric_label_create_impl,
|
||||
__os_metric_label_create_v, __os_metric_reset_impl, __os_metric_set_scale_impl,
|
||||
__os_metric_set_unit_impl, __os_metric_uint64_create_impl,
|
||||
__os_metric_uint64_op_impl, __os_signpost_emit_impl, __os_signpost_emit_unreliably_with_name_impl,
|
||||
__os_signpost_emit_with_name_impl, __os_signpost_pack_fill,
|
||||
__os_signpost_pack_send, __os_state_request_for_pidlist, __os_trace_app_cryptex_sysprefsdir_path,
|
||||
__os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available,
|
||||
__os_trace_calloc, __os_trace_commpage_compute, __os_trace_fdscandir_b,
|
||||
__os_trace_calloc_typed, __os_trace_commpage_compute, __os_trace_fdscandir_b,
|
||||
__os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid,
|
||||
__os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path,
|
||||
__os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc,
|
||||
__os_trace_lazy_init_completed_4swift, __os_trace_log_simple,
|
||||
__os_trace_macho_for_each_slice, __os_trace_malloc, __os_trace_memdup,
|
||||
__os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset,
|
||||
__os_trace_macho_for_each_slice, __os_trace_malloc_typed,
|
||||
__os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset,
|
||||
__os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path,
|
||||
__os_trace_prefs_latest_version_4tests, __os_trace_prefsdir_path,
|
||||
__os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc,
|
||||
__os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc_typed,
|
||||
__os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags,
|
||||
__os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path,
|
||||
__os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer,
|
||||
__os_trace_write, __os_trace_writev, __os_trace_zalloc, _amfi_check_dyld_policy_for_pid,
|
||||
_amfi_check_dyld_policy_self, _amfi_load_trust_cache, _amfi_unload_trust_cache,
|
||||
_os_activity_apply, _os_activity_apply_f, _os_activity_diagnostic_for_pid,
|
||||
_os_activity_end, _os_activity_for_task_thread, _os_activity_for_thread,
|
||||
_os_activity_get_active, _os_activity_get_identifier, _os_activity_iterate_activities,
|
||||
__os_trace_write, __os_trace_writev, __os_trace_zalloc_typed,
|
||||
_amfi_check_dyld_policy_for_pid, _amfi_check_dyld_policy_self,
|
||||
_amfi_load_trust_cache, _amfi_unload_trust_cache, _os_activity_apply,
|
||||
_os_activity_apply_f, _os_activity_diagnostic_for_pid, _os_activity_end,
|
||||
_os_activity_for_task_thread, _os_activity_for_thread, _os_activity_get_active,
|
||||
_os_activity_get_identifier, _os_activity_iterate_activities,
|
||||
_os_activity_iterate_breadcrumbs, _os_activity_iterate_messages,
|
||||
_os_activity_iterate_processes, _os_activity_messages_for_thread,
|
||||
_os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description,
|
||||
@@ -3348,8 +3428,10 @@ exports:
|
||||
_os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback,
|
||||
_os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback,
|
||||
_os_log_shim_enabled, _os_log_shim_legacy_logging_enabled,
|
||||
_os_log_shim_with_CFString, _os_log_type_enabled, _os_log_type_get_name,
|
||||
_os_log_with_args, _os_set_logging_unreliable_for_current_thread,
|
||||
_os_log_shim_to_stdout, _os_log_shim_with_CFString, _os_log_shim_with_CFString_4NSLog,
|
||||
_os_log_type_enabled, _os_log_type_get_name, _os_log_with_args,
|
||||
_os_log_with_args_4syslog, _os_metric_dimensions_add, _os_metric_dimensions_create,
|
||||
_os_metric_group_create, _os_set_logging_unreliable_for_current_thread,
|
||||
_os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer,
|
||||
_os_signpost_set_introspection_hook_4Perf, _os_state_add_handler,
|
||||
_os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode,
|
||||
@@ -3357,6 +3439,18 @@ exports:
|
||||
objc-classes: [ OS_os_log ]
|
||||
--- !tapi-tbd
|
||||
tbd-version: 4
|
||||
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
install-name: '/usr/lib/system/libsystem_trial.dylib'
|
||||
current-version: 474
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
umbrella: System
|
||||
exports:
|
||||
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
|
||||
symbols: [ __os_trial_factor_get_bool_impl, __os_trial_factor_get_long_impl,
|
||||
__os_trial_factor_has_impl ]
|
||||
--- !tapi-tbd
|
||||
tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libunwind.dylib'
|
||||
@@ -3390,7 +3484,7 @@ tbd-version: 4
|
||||
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
install-name: '/usr/lib/system/libxpc.dylib'
|
||||
current-version: 2894.121.3
|
||||
current-version: 3089.0.11
|
||||
parent-umbrella:
|
||||
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
|
||||
arm64e-macos, arm64e-maccatalyst ]
|
||||
@@ -3433,11 +3527,11 @@ exports:
|
||||
_XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE,
|
||||
_XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING,
|
||||
_XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER,
|
||||
_XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_NAME,
|
||||
_XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, ___xpc_connection_set_logging,
|
||||
__availability_version_check, __launch_job_query_routine,
|
||||
__launch_job_routine, __launch_job_routine_async, __launch_msg2,
|
||||
__launch_server_test_routine, __launch_service_stats_copy_4ppse_impl,
|
||||
_XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_LEADER_PID,
|
||||
_XPC_COALITION_INFO_KEY_NAME, _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB,
|
||||
___xpc_connection_set_logging, __availability_version_check,
|
||||
__launch_job_query_routine, __launch_job_routine, __launch_job_routine_async,
|
||||
__launch_msg2, __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl,
|
||||
__launch_service_stats_copy_impl, __launch_trial_factors_routine,
|
||||
__libxpc_initializer, __spawn_via_launchd, __system_ios_support_version_copy_string_sysctl,
|
||||
__system_version_copy_string_plist, __system_version_copy_string_sysctl,
|
||||
@@ -3466,7 +3560,8 @@ exports:
|
||||
__xpc_error_peer_code_signing_requirement, __xpc_error_termination_imminent,
|
||||
__xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port,
|
||||
__xpc_int64_set_value, __xpc_payload_create_from_mach_msg,
|
||||
__xpc_pipe_handle_mig, __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async,
|
||||
__xpc_peer_requirement_match_token, __xpc_pipe_handle_mig,
|
||||
__xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async,
|
||||
__xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data,
|
||||
__xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed,
|
||||
__xpc_runtime_process_has_entered_sandbox, __xpc_service_last_xref_cancel,
|
||||
@@ -3484,8 +3579,8 @@ exports:
|
||||
__xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once,
|
||||
__xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error,
|
||||
__xpc_type_serializer, __xpc_type_service, __xpc_type_service_instance,
|
||||
__xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_uint64,
|
||||
__xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved,
|
||||
__xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_string_cache,
|
||||
__xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved,
|
||||
_amfi_developer_mode_status, _amfi_interface_authorize_local_signing,
|
||||
_amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key,
|
||||
_amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state,
|
||||
@@ -3500,8 +3595,8 @@ exports:
|
||||
_bootstrap_status, _bootstrap_strerror, _bootstrap_subset,
|
||||
_bootstrap_unprivileged, _create_and_switch_to_per_session_launchd,
|
||||
_launch_activate_socket, _launch_active_user_login, _launch_active_user_logout,
|
||||
_launch_active_user_switch, _launch_add_external_service,
|
||||
_launch_bootout_user_service_4coresim, _launch_copy_busy_extension_instances,
|
||||
_launch_add_external_service, _launch_bootout_user_service_4coresim,
|
||||
_launch_bootout_user_service_4coresim_with_flags, _launch_copy_busy_extension_instances,
|
||||
_launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties,
|
||||
_launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond,
|
||||
_launch_create_persona, _launch_cryptex_terminate, _launch_data_alloc,
|
||||
@@ -3542,11 +3637,12 @@ exports:
|
||||
_mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version,
|
||||
_os_system_version_sim_get_current_host_version, _os_transaction_copy_description,
|
||||
_os_transaction_create, _os_transaction_get_description, _os_transaction_get_ra,
|
||||
_os_transaction_get_timestamp, _os_transaction_needs_more_time,
|
||||
_place_hold_on_real_loginwindow, _reboot2, _reboot3, _vproc_release,
|
||||
_vproc_retain, _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex,
|
||||
_vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin,
|
||||
_vproc_transaction_end, _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler,
|
||||
_os_transaction_get_timestamp, _os_transaction_log_active,
|
||||
_os_transaction_needs_more_time, _place_hold_on_real_loginwindow,
|
||||
_reboot2, _reboot3, _vproc_release, _vproc_retain, _vproc_standby_begin,
|
||||
_vproc_standby_end, _vproc_swap_complex, _vproc_swap_integer,
|
||||
_vproc_swap_string, _vproc_transaction_begin, _vproc_transaction_end,
|
||||
_vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler,
|
||||
_xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue,
|
||||
_xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change,
|
||||
_xpc_activity_defer_until_percentage, _xpc_activity_get_percentage,
|
||||
@@ -3575,7 +3671,8 @@ exports:
|
||||
_xpc_binprefs_set_psattr, _xpc_bool_create, _xpc_bool_get_value,
|
||||
_xpc_bs_main, _xpc_bundle_copy_info_dictionary, _xpc_bundle_copy_normalized_cryptex_path,
|
||||
_xpc_bundle_copy_resource_path, _xpc_bundle_copy_services,
|
||||
_xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_main,
|
||||
_xpc_bundle_create, _xpc_bundle_create_from_origin, _xpc_bundle_create_from_origin_with_string_cache,
|
||||
_xpc_bundle_create_main, _xpc_bundle_create_with_string_cache,
|
||||
_xpc_bundle_get_error, _xpc_bundle_get_executable_path, _xpc_bundle_get_info_dictionary,
|
||||
_xpc_bundle_get_path, _xpc_bundle_get_property, _xpc_bundle_get_xpcservice_dictionary,
|
||||
_xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue,
|
||||
@@ -3602,11 +3699,11 @@ exports:
|
||||
_xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement,
|
||||
_xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement,
|
||||
_xpc_connection_set_peer_lightweight_code_requirement, _xpc_connection_set_peer_platform_identity_requirement,
|
||||
_xpc_connection_set_peer_team_identity_requirement, _xpc_connection_set_privileged,
|
||||
_xpc_connection_set_qos_class_fallback, _xpc_connection_set_qos_class_floor,
|
||||
_xpc_connection_set_target_queue, _xpc_connection_set_target_uid,
|
||||
_xpc_connection_set_target_user_session_uid, _xpc_connection_suspend,
|
||||
_xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description,
|
||||
_xpc_connection_set_peer_requirement, _xpc_connection_set_peer_team_identity_requirement,
|
||||
_xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback,
|
||||
_xpc_connection_set_qos_class_floor, _xpc_connection_set_target_queue,
|
||||
_xpc_connection_set_target_uid, _xpc_connection_set_target_user_session_uid,
|
||||
_xpc_connection_suspend, _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description,
|
||||
_xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description,
|
||||
_xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self,
|
||||
_xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token,
|
||||
@@ -3614,7 +3711,8 @@ exports:
|
||||
_xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description,
|
||||
_xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key,
|
||||
_xpc_create_from_plist, _xpc_create_from_plist_descriptor,
|
||||
_xpc_create_from_serialization, _xpc_create_from_serialization_with_ool,
|
||||
_xpc_create_from_plist_with_string_cache, _xpc_create_from_serialization,
|
||||
_xpc_create_from_serialization_with_ool, _xpc_create_from_serialization_with_string_cache,
|
||||
_xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments,
|
||||
_xpc_create_with_format, _xpc_create_with_format_and_arguments,
|
||||
_xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes,
|
||||
@@ -3640,18 +3738,19 @@ exports:
|
||||
_xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv,
|
||||
_xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer,
|
||||
_xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid,
|
||||
_xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value,
|
||||
_xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim,
|
||||
_xpc_endpoint_create, _xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named,
|
||||
_xpc_endpoint_create_bs_service, _xpc_endpoint_create_mach_port_4sim,
|
||||
_xpc_endpoint_get_bs_job_handle, _xpc_equal, _xpc_event_publisher_activate,
|
||||
_xpc_event_publisher_copy_event, _xpc_event_publisher_create,
|
||||
_xpc_event_publisher_create_subscription, _xpc_event_publisher_fire,
|
||||
_xpc_event_publisher_fire_barrier, _xpc_event_publisher_fire_noboost,
|
||||
_xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync,
|
||||
_xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler,
|
||||
_xpc_event_publisher_set_event, _xpc_event_publisher_set_handler,
|
||||
_xpc_event_publisher_set_initial_load_completed_handler_4remoted,
|
||||
_xpc_dictionary_set_value, _xpc_dictionary_set_value_with_key_string_cache,
|
||||
_xpc_double_create, _xpc_double_get_value, _xpc_endpoint_compare,
|
||||
_xpc_endpoint_copy_listener_port_4sim, _xpc_endpoint_create,
|
||||
_xpc_endpoint_create_bs_from_port, _xpc_endpoint_create_bs_named,
|
||||
_xpc_endpoint_create_bs_named_user, _xpc_endpoint_create_bs_service,
|
||||
_xpc_endpoint_create_mach_port_4sim, _xpc_endpoint_get_bs_job_handle,
|
||||
_xpc_equal, _xpc_event_publisher_activate, _xpc_event_publisher_copy_event,
|
||||
_xpc_event_publisher_create, _xpc_event_publisher_create_subscription,
|
||||
_xpc_event_publisher_fire, _xpc_event_publisher_fire_barrier,
|
||||
_xpc_event_publisher_fire_noboost, _xpc_event_publisher_fire_with_reply,
|
||||
_xpc_event_publisher_fire_with_reply_sync, _xpc_event_publisher_get_subscriber_asid,
|
||||
_xpc_event_publisher_set_error_handler, _xpc_event_publisher_set_event,
|
||||
_xpc_event_publisher_set_handler, _xpc_event_publisher_set_initial_load_completed_handler_4remoted,
|
||||
_xpc_event_publisher_set_subscriber_keepalive, _xpc_event_publisher_set_throttling,
|
||||
_xpc_event_stream_check_in, _xpc_event_stream_check_in2, _xpc_exit_reason_get_label,
|
||||
_xpc_extension_type_init, _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel,
|
||||
@@ -3671,49 +3770,56 @@ exports:
|
||||
_xpc_is_system_session, _xpc_is_xpcservice, _xpc_listener_activate,
|
||||
_xpc_listener_cancel, _xpc_listener_copy_description, _xpc_listener_create,
|
||||
_xpc_listener_create_anonymous, _xpc_listener_create_endpoint,
|
||||
_xpc_listener_reject_peer, _xpc_listener_set_peer_code_signing_requirement,
|
||||
_xpc_listener_reject_peer, _xpc_listener_set_incoming_session_handler,
|
||||
_xpc_listener_set_peer_code_signing_requirement, _xpc_listener_set_peer_requirement,
|
||||
_xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right,
|
||||
_xpc_mach_send_create, _xpc_mach_send_create_with_disposition,
|
||||
_xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right,
|
||||
_xpc_main, _xpc_make_serialization, _xpc_make_serialization_with_ool,
|
||||
_xpc_null_create, _xpc_pipe_create, _xpc_pipe_create_from_port,
|
||||
_xpc_pipe_create_reply_from_port, _xpc_pipe_create_with_user_session_uid,
|
||||
_xpc_pipe_invalidate, _xpc_pipe_receive, _xpc_pipe_routine,
|
||||
_xpc_pipe_routine_async, _xpc_pipe_routine_forward, _xpc_pipe_routine_reply,
|
||||
_xpc_pipe_routine_with_flags, _xpc_pipe_simpleroutine, _xpc_pipe_try_receive,
|
||||
_xpc_pointer_create, _xpc_pointer_get_value, _xpc_receive_mach_msg,
|
||||
_xpc_receive_mach_msg_validate_hdr, _xpc_receive_remote_msg,
|
||||
_xpc_release, _xpc_retain, _xpc_rich_error_can_retry, _xpc_rich_error_copy_description,
|
||||
_xpc_service_attach, _xpc_service_attach_with_flags, _xpc_service_create,
|
||||
_xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token,
|
||||
_xpc_null_create, _xpc_peer_requirement_create_entitlement_exists,
|
||||
_xpc_peer_requirement_create_entitlement_matches_value, _xpc_peer_requirement_create_lwcr,
|
||||
_xpc_peer_requirement_create_platform_identity, _xpc_peer_requirement_create_team_identity,
|
||||
_xpc_peer_requirement_match_received_message, _xpc_pipe_create,
|
||||
_xpc_pipe_create_from_port, _xpc_pipe_create_reply_from_port,
|
||||
_xpc_pipe_create_with_user_session_uid, _xpc_pipe_invalidate,
|
||||
_xpc_pipe_receive, _xpc_pipe_routine, _xpc_pipe_routine_async,
|
||||
_xpc_pipe_routine_forward, _xpc_pipe_routine_reply, _xpc_pipe_routine_with_flags,
|
||||
_xpc_pipe_simpleroutine, _xpc_pipe_try_receive, _xpc_pointer_create,
|
||||
_xpc_pointer_get_value, _xpc_receive_mach_msg, _xpc_receive_mach_msg_validate_hdr,
|
||||
_xpc_receive_remote_msg, _xpc_release, _xpc_retain, _xpc_rich_error_can_retry,
|
||||
_xpc_rich_error_copy_description, _xpc_service_attach, _xpc_service_attach_with_flags,
|
||||
_xpc_service_create, _xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token,
|
||||
_xpc_service_instance_dup2, _xpc_service_instance_get_context,
|
||||
_xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid,
|
||||
_xpc_service_instance_get_type, _xpc_service_instance_is_configurable,
|
||||
_xpc_service_instance_run, _xpc_service_instance_set_binpref,
|
||||
_xpc_service_instance_set_context, _xpc_service_instance_set_cwd,
|
||||
_xpc_service_instance_set_endpoint, _xpc_service_instance_set_environment,
|
||||
_xpc_service_instance_set_finalizer_f, _xpc_service_instance_set_jetsam_properties,
|
||||
_xpc_service_instance_set_path, _xpc_service_instance_set_start_suspended,
|
||||
_xpc_service_instance_set_use_sec_transition_shims, _xpc_service_kickstart,
|
||||
_xpc_service_kickstart_with_flags, _xpc_service_set_attach_handler,
|
||||
_xpc_session_activate, _xpc_session_cancel, _xpc_session_copy_description,
|
||||
_xpc_session_create_mach_service, _xpc_session_create_xpc_endpoint,
|
||||
_xpc_session_create_xpc_service, _xpc_session_send_message,
|
||||
_xpc_session_send_message_with_reply_async, _xpc_session_send_message_with_reply_sync,
|
||||
_xpc_session_set_cancel_handler, _xpc_session_set_incoming_message_handler,
|
||||
_xpc_session_set_instance, _xpc_session_set_peer_code_signing_requirement,
|
||||
_xpc_service_instance_run, _xpc_service_instance_set_archpref,
|
||||
_xpc_service_instance_set_binpref, _xpc_service_instance_set_context,
|
||||
_xpc_service_instance_set_cwd, _xpc_service_instance_set_endpoint,
|
||||
_xpc_service_instance_set_environment, _xpc_service_instance_set_finalizer_f,
|
||||
_xpc_service_instance_set_jetsam_properties, _xpc_service_instance_set_path,
|
||||
_xpc_service_instance_set_start_suspended, _xpc_service_instance_set_use_sec_transition_shims,
|
||||
_xpc_service_kickstart, _xpc_service_kickstart_with_flags,
|
||||
_xpc_service_set_attach_handler, _xpc_session_activate, _xpc_session_cancel,
|
||||
_xpc_session_copy_description, _xpc_session_create_mach_service,
|
||||
_xpc_session_create_xpc_endpoint, _xpc_session_create_xpc_service,
|
||||
_xpc_session_send_message, _xpc_session_send_message_with_reply_async,
|
||||
_xpc_session_send_message_with_reply_sync, _xpc_session_set_cancel_handler,
|
||||
_xpc_session_set_incoming_message_handler, _xpc_session_set_instance,
|
||||
_xpc_session_set_peer_code_signing_requirement, _xpc_session_set_peer_requirement,
|
||||
_xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid,
|
||||
_xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler,
|
||||
_xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create,
|
||||
_xpc_shmem_create_readonly, _xpc_shmem_get_length, _xpc_shmem_map,
|
||||
_xpc_strerror, _xpc_string_create, _xpc_string_create_no_copy,
|
||||
_xpc_string_create_with_format, _xpc_string_create_with_format_and_arguments,
|
||||
_xpc_string_get_length, _xpc_string_get_string_ptr, _xpc_test_symbols_exported,
|
||||
_xpc_track_activity, _xpc_transaction_begin, _xpc_transaction_end,
|
||||
_xpc_transaction_exit_clean, _xpc_transaction_interrupt_clean_exit,
|
||||
_xpc_transaction_try_exit_clean, _xpc_transactions_enable,
|
||||
_xpc_traverse_serialized_data, _xpc_type_get_name, _xpc_uint64_create,
|
||||
_xpc_uint64_get_value, _xpc_user_sessions_enabled, _xpc_user_sessions_get_foreground_uid,
|
||||
_xpc_user_sessions_get_session_uid, _xpc_uuid_create, _xpc_uuid_get_bytes ]
|
||||
_xpc_strerror, _xpc_string_cache_create, _xpc_string_cache_for_each,
|
||||
_xpc_string_cache_get_count, _xpc_string_cache_get_name, _xpc_string_create,
|
||||
_xpc_string_create_cached, _xpc_string_create_no_copy, _xpc_string_create_with_format,
|
||||
_xpc_string_create_with_format_and_arguments, _xpc_string_get_length,
|
||||
_xpc_string_get_string_ptr, _xpc_test_symbols_exported, _xpc_track_activity,
|
||||
_xpc_transaction_begin, _xpc_transaction_end, _xpc_transaction_exit_clean,
|
||||
_xpc_transaction_interrupt_clean_exit, _xpc_transaction_try_exit_clean,
|
||||
_xpc_transactions_enable, _xpc_traverse_serialized_data, _xpc_type_get_name,
|
||||
_xpc_uint64_create, _xpc_uint64_get_value, _xpc_user_sessions_enabled,
|
||||
_xpc_user_sessions_get_foreground_uid, _xpc_user_sessions_get_session_uid,
|
||||
_xpc_uuid_create, _xpc_uuid_get_bytes ]
|
||||
objc-classes: [ OS_xpc_object ]
|
||||
...
|
||||
|
||||
+12
-7
@@ -469,6 +469,9 @@
|
||||
* ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
|
||||
* watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
|
||||
*
|
||||
* Within each platform a tuple of versions will represent the version the API was
|
||||
* introduced in, followed by the version it was deperecated in.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* __API_DEPRECATED("Deprecated", macos(10.4, 10.8))
|
||||
@@ -487,6 +490,7 @@
|
||||
#define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
|
||||
|
||||
|
||||
|
||||
#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__)
|
||||
#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__)
|
||||
|
||||
@@ -496,6 +500,7 @@
|
||||
#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__)
|
||||
#define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
|
||||
|
||||
|
||||
/*
|
||||
* API Unavailability
|
||||
* Use to specify that an API is unavailable for a particular platform.
|
||||
@@ -524,7 +529,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_AVAILABLE_END
|
||||
#define __API_AVAILABLE_END(...)
|
||||
#define __API_AVAILABLE_END
|
||||
#endif
|
||||
|
||||
#ifndef __API_DEPRECATED
|
||||
@@ -536,7 +541,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_DEPRECATED_END
|
||||
#define __API_DEPRECATED_END(...)
|
||||
#define __API_DEPRECATED_END
|
||||
#endif
|
||||
|
||||
#ifndef __API_DEPRECATED_WITH_REPLACEMENT
|
||||
@@ -548,7 +553,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_DEPRECATED_WITH_REPLACEMENT_END
|
||||
#define __API_DEPRECATED_WITH_REPLACEMENT_END(...)
|
||||
#define __API_DEPRECATED_WITH_REPLACEMENT_END
|
||||
#endif
|
||||
|
||||
#ifndef __API_OBSOLETED
|
||||
@@ -560,7 +565,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_OBSOLETED_END
|
||||
#define __API_OBSOLETED_END(...)
|
||||
#define __API_OBSOLETED_END
|
||||
#endif
|
||||
|
||||
#ifndef __API_OBSOLETED_WITH_REPLACEMENT
|
||||
@@ -572,7 +577,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END
|
||||
#define __API_OBSOLETED_WITH_REPLACEMENT_END(...)
|
||||
#define __API_OBSOLETED_WITH_REPLACEMENT_END
|
||||
#endif
|
||||
|
||||
#ifndef __API_UNAVAILABLE
|
||||
@@ -584,7 +589,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __API_UNAVAILABLE_END
|
||||
#define __API_UNAVAILABLE_END(...)
|
||||
#define __API_UNAVAILABLE_END
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -600,7 +605,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef __SPI_AVAILABLE_END
|
||||
#define __SPI_AVAILABLE_END(...)
|
||||
#define __SPI_AVAILABLE_END
|
||||
#endif
|
||||
|
||||
#ifndef __SPI_DEPRECATED
|
||||
|
||||
+66
-54
@@ -33,81 +33,93 @@
|
||||
#include <AvailabilityVersions.h>
|
||||
|
||||
#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(macos)
|
||||
#define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_5
|
||||
#endif
|
||||
#elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_5
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(macos)
|
||||
#define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
|
||||
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_0
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
|
||||
|
||||
#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(ios)
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_5
|
||||
#endif
|
||||
#elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_5
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(ios) */
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(ios)
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
|
||||
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_0
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
|
||||
|
||||
#ifndef __WATCH_OS_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(watchos)
|
||||
#define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_11_5
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(watchos)
|
||||
#define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_0
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_0
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
|
||||
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_11_5
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(watchos) */
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __WATCH_OS_VERSION_MIN_REQUIRED */
|
||||
|
||||
#ifndef __TV_OS_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(tvos)
|
||||
#define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_18_5
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(tvos)
|
||||
#define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_0
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_0
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif
|
||||
#elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
|
||||
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_18_5
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(tvos) */
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __TV_OS_VERSION_MIN_REQUIRED */
|
||||
|
||||
|
||||
|
||||
#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(driverkit)
|
||||
#define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_24_5
|
||||
#endif
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(driverkit) */
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(driverkit)
|
||||
#define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_0
|
||||
#endif
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */
|
||||
|
||||
#ifndef __VISION_OS_VERSION_MIN_REQUIRED
|
||||
#if defined(__has_builtin) && __has_builtin(__is_target_os)
|
||||
#if __is_target_os(visionos)
|
||||
#define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_2_5
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
|
||||
#endif
|
||||
#endif /* __has_builtin(__is_target_os) && __is_target_os(visionos) */
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__is_target_os)
|
||||
#if __is_target_os(visionos)
|
||||
#define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
|
||||
#define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_0
|
||||
/* for compatibility with existing code. New code should use platform specific checks */
|
||||
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
|
||||
#endif
|
||||
#endif /* __has_builtin(__is_target_os) */
|
||||
#endif /* defined(__has_builtin) */
|
||||
#endif /* __VISION_OS_VERSION_MIN_REQUIRED */
|
||||
|
||||
|
||||
|
||||
+22
-5
@@ -74,7 +74,6 @@
|
||||
#define __MAC_12_7 120700
|
||||
#define __MAC_13_0 130000
|
||||
#define __MAC_13_1 130100
|
||||
#define __MAC_13_1 130100
|
||||
#define __MAC_13_2 130200
|
||||
#define __MAC_13_3 130300
|
||||
#define __MAC_13_4 130400
|
||||
@@ -95,6 +94,9 @@
|
||||
#define __MAC_15_3 150300
|
||||
#define __MAC_15_4 150400
|
||||
#define __MAC_15_5 150500
|
||||
#define __MAC_15_6 150600
|
||||
#define __MAC_16_0 160000
|
||||
#define __MAC_26_0 260000
|
||||
/* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
#define __IPHONE_2_0 20000
|
||||
@@ -149,8 +151,6 @@
|
||||
#define __IPHONE_14_2 140200
|
||||
#define __IPHONE_14_3 140300
|
||||
#define __IPHONE_14_5 140500
|
||||
#define __IPHONE_14_4 140400
|
||||
#define __IPHONE_14_5 140500
|
||||
#define __IPHONE_14_6 140600
|
||||
#define __IPHONE_14_7 140700
|
||||
#define __IPHONE_14_8 140800
|
||||
@@ -185,6 +185,9 @@
|
||||
#define __IPHONE_18_3 180300
|
||||
#define __IPHONE_18_4 180400
|
||||
#define __IPHONE_18_5 180500
|
||||
#define __IPHONE_18_6 180600
|
||||
#define __IPHONE_19_0 190000
|
||||
#define __IPHONE_26_0 260000
|
||||
/* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
#define __WATCHOS_1_0 10000
|
||||
@@ -242,6 +245,9 @@
|
||||
#define __WATCHOS_11_3 110300
|
||||
#define __WATCHOS_11_4 110400
|
||||
#define __WATCHOS_11_5 110500
|
||||
#define __WATCHOS_11_6 110600
|
||||
#define __WATCHOS_12_0 120000
|
||||
#define __WATCHOS_26_0 260000
|
||||
/* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
#define __TVOS_9_0 90000
|
||||
@@ -299,6 +305,9 @@
|
||||
#define __TVOS_18_3 180300
|
||||
#define __TVOS_18_4 180400
|
||||
#define __TVOS_18_5 180500
|
||||
#define __TVOS_18_6 180600
|
||||
#define __TVOS_19_0 190000
|
||||
#define __TVOS_26_0 260000
|
||||
/* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
#define __BRIDGEOS_2_0 20000
|
||||
@@ -317,7 +326,6 @@
|
||||
#define __BRIDGEOS_6_6 60600
|
||||
#define __BRIDGEOS_7_0 70000
|
||||
#define __BRIDGEOS_7_1 70100
|
||||
#define __BRIDGEOS_7_1 70100
|
||||
#define __BRIDGEOS_7_2 70200
|
||||
#define __BRIDGEOS_7_3 70300
|
||||
#define __BRIDGEOS_7_4 70400
|
||||
@@ -335,6 +343,8 @@
|
||||
#define __BRIDGEOS_9_3 90300
|
||||
#define __BRIDGEOS_9_4 90400
|
||||
#define __BRIDGEOS_9_5 90500
|
||||
#define __BRIDGEOS_9_6 90600
|
||||
#define __BRIDGEOS_10_0 100000
|
||||
|
||||
|
||||
#define __DRIVERKIT_19_0 190000
|
||||
@@ -357,6 +367,8 @@
|
||||
#define __DRIVERKIT_24_3 240300
|
||||
#define __DRIVERKIT_24_4 240400
|
||||
#define __DRIVERKIT_24_5 240500
|
||||
#define __DRIVERKIT_24_6 240600
|
||||
#define __DRIVERKIT_25_0 250000
|
||||
/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
#define __VISIONOS_1_0 10000
|
||||
@@ -369,6 +381,9 @@
|
||||
#define __VISIONOS_2_3 20300
|
||||
#define __VISIONOS_2_4 20400
|
||||
#define __VISIONOS_2_5 20500
|
||||
#define __VISIONOS_2_6 20600
|
||||
#define __VISIONOS_3_0 30000
|
||||
#define __VISIONOS_26_0 260000
|
||||
/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
|
||||
|
||||
|
||||
@@ -436,7 +451,6 @@
|
||||
#define MAC_OS_VERSION_12_7 __MAC_12_7
|
||||
#define MAC_OS_VERSION_13_0 __MAC_13_0
|
||||
#define MAC_OS_VERSION_13_1 __MAC_13_1
|
||||
#define MAC_OS_VERSION_13_1 __MAC_13_1
|
||||
#define MAC_OS_VERSION_13_2 __MAC_13_2
|
||||
#define MAC_OS_VERSION_13_3 __MAC_13_3
|
||||
#define MAC_OS_VERSION_13_4 __MAC_13_4
|
||||
@@ -457,6 +471,9 @@
|
||||
#define MAC_OS_VERSION_15_3 __MAC_15_3
|
||||
#define MAC_OS_VERSION_15_4 __MAC_15_4
|
||||
#define MAC_OS_VERSION_15_5 __MAC_15_5
|
||||
#define MAC_OS_VERSION_15_6 __MAC_15_6
|
||||
#define MAC_OS_VERSION_16_0 __MAC_16_0
|
||||
#define MAC_OS_VERSION_26_0 __MAC_26_0
|
||||
|
||||
#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */
|
||||
|
||||
|
||||
+4
@@ -42,6 +42,8 @@
|
||||
#define _LIBC_SINGLE_BY_DEFAULT() __ptrcheck_abi_assume_single()
|
||||
#define _LIBC_PTRCHECK_REPLACED(R) __ptrcheck_unavailable_r(R)
|
||||
|
||||
#define _LIBC_FORGE_PTR(P, S) __unsafe_forge_bidi_indexable(__typeof__(*P) *, P, S)
|
||||
|
||||
#else /* _LIBC_ANNOTATE_BOUNDS */
|
||||
|
||||
#define _LIBC_COUNT(x)
|
||||
@@ -58,6 +60,8 @@
|
||||
#define _LIBC_SINGLE_BY_DEFAULT()
|
||||
#define _LIBC_PTRCHECK_REPLACED(R)
|
||||
|
||||
#define _LIBC_FORGE_PTR(P, S) (P)
|
||||
|
||||
#endif /* _LIBC_ANNOTATE_BOUNDS */
|
||||
|
||||
#endif /* _LIBC_BOUNDS_H_ */
|
||||
|
||||
+5
-3
@@ -27,13 +27,15 @@
|
||||
#include <sys/cdefs.h>
|
||||
#include <_bounds.h>
|
||||
|
||||
#ifndef _LIBC_COUNT__L_CTERMID
|
||||
#define _LIBC_COUNT__L_CTERMID _LIBC_UNSAFE_INDEXABLE
|
||||
#endif /* _LIBC_COUNT__L_CTERMID */
|
||||
|
||||
_LIBC_SINGLE_BY_DEFAULT()
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
|
||||
|
||||
char *_LIBC_CSTR ctermid(char *_LIBC_COUNT_OR_NULL(L_ctermid));
|
||||
char *_LIBC_CSTR ctermid(char *_LIBC_COUNT__L_CTERMID);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
+4
-25
@@ -41,6 +41,10 @@
|
||||
#include <_bounds.h>
|
||||
#include <_types.h>
|
||||
|
||||
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 200809L
|
||||
#include <_locale_posix2008.h>
|
||||
#endif
|
||||
|
||||
_LIBC_SINGLE_BY_DEFAULT()
|
||||
|
||||
struct lconv {
|
||||
@@ -72,33 +76,8 @@ struct lconv {
|
||||
|
||||
#include <sys/_types/_null.h>
|
||||
|
||||
#define LC_ALL_MASK ( LC_COLLATE_MASK \
|
||||
| LC_CTYPE_MASK \
|
||||
| LC_MESSAGES_MASK \
|
||||
| LC_MONETARY_MASK \
|
||||
| LC_NUMERIC_MASK \
|
||||
| LC_TIME_MASK )
|
||||
#define LC_COLLATE_MASK (1 << 0)
|
||||
#define LC_CTYPE_MASK (1 << 1)
|
||||
#define LC_MESSAGES_MASK (1 << 2)
|
||||
#define LC_MONETARY_MASK (1 << 3)
|
||||
#define LC_NUMERIC_MASK (1 << 4)
|
||||
#define LC_TIME_MASK (1 << 5)
|
||||
|
||||
#define _LC_NUM_MASK 6
|
||||
#define _LC_LAST_MASK (1 << (_LC_NUM_MASK - 1))
|
||||
|
||||
#define LC_GLOBAL_LOCALE ((locale_t)-1)
|
||||
#define LC_C_LOCALE ((locale_t)NULL)
|
||||
|
||||
#include <_types/_locale_t.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
locale_t duplocale(locale_t);
|
||||
int freelocale(locale_t);
|
||||
struct lconv *localeconv(void);
|
||||
locale_t newlocale(int, __const char *, locale_t);
|
||||
locale_t uselocale(locale_t);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __LOCALE_H_ */
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (c) 2005 - 2025 Apple Computer, Inc. All rights reserved.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_START@
|
||||
*
|
||||
* This file contains Original Code and/or Modifications of Original Code
|
||||
* as defined in and that are subject to the Apple Public Source License
|
||||
* Version 2.0 (the 'License'). You may not use this file except in
|
||||
* compliance with the License. Please obtain a copy of the License at
|
||||
* http://www.opensource.apple.com/apsl/ and read it before using this
|
||||
* file.
|
||||
*
|
||||
* The Original Code and all software distributed under the License are
|
||||
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||||
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
|
||||
* Please see the License for the specific language governing rights and
|
||||
* limitations under the License.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_END@
|
||||
*/
|
||||
|
||||
#ifndef __LOCALE_POSIX2008_H_
|
||||
#define __LOCALE_POSIX2008_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <_types.h>
|
||||
|
||||
_LIBC_SINGLE_BY_DEFAULT()
|
||||
|
||||
/*
|
||||
* These definitions were all historically provided by <xlocale.h>, but they
|
||||
* became standardized in POSIX.1-2008. We make them available via either
|
||||
* <xlocale.h> or <locale.h> at the appropriate conformance level.
|
||||
*/
|
||||
#define LC_ALL_MASK ( LC_COLLATE_MASK \
|
||||
| LC_CTYPE_MASK \
|
||||
| LC_MESSAGES_MASK \
|
||||
| LC_MONETARY_MASK \
|
||||
| LC_NUMERIC_MASK \
|
||||
| LC_TIME_MASK )
|
||||
#define LC_COLLATE_MASK (1 << 0)
|
||||
#define LC_CTYPE_MASK (1 << 1)
|
||||
#define LC_MESSAGES_MASK (1 << 2)
|
||||
#define LC_MONETARY_MASK (1 << 3)
|
||||
#define LC_NUMERIC_MASK (1 << 4)
|
||||
#define LC_TIME_MASK (1 << 5)
|
||||
|
||||
#define _LC_NUM_MASK 6
|
||||
#define _LC_LAST_MASK (1 << (_LC_NUM_MASK - 1))
|
||||
|
||||
#define LC_GLOBAL_LOCALE ((locale_t)-1)
|
||||
#define LC_C_LOCALE ((locale_t)NULL)
|
||||
|
||||
#include <_types/_locale_t.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
locale_t duplocale(locale_t);
|
||||
int freelocale(locale_t);
|
||||
locale_t newlocale(int, __const char *, locale_t);
|
||||
locale_t uselocale(locale_t);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __LOCALE_POSIX2008_H_ */
|
||||
+4
@@ -308,6 +308,10 @@ __END_DECLS
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 198808L
|
||||
|
||||
#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
|
||||
#undef _LIBC_COUNT__L_CTERMID
|
||||
#define _LIBC_COUNT__L_CTERMID _LIBC_COUNT_OR_NULL(L_ctermid)
|
||||
|
||||
#include <_ctermid.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+10
-5
@@ -123,18 +123,23 @@ typedef struct {
|
||||
|
||||
#define RAND_MAX 0x7fffffff
|
||||
|
||||
// When _USE_EXTENDED_LOCALES_ is enabled (by including xlocale.h),
|
||||
// MB_CUR_MAX is defined by xlocale.h.
|
||||
#if !defined(MB_CUR_MAX) && !defined(_USE_EXTENDED_LOCALES_)
|
||||
#if __has_feature(modules)
|
||||
// When clang modules are enabled, there can only be one definition of
|
||||
// MB_CUR_MAX, and that needs to be the same one used by xlocale.h.
|
||||
#include <_mb_cur_max.h>
|
||||
#else
|
||||
#else /* !__has_feature(modules) */
|
||||
#ifndef MB_CUR_MAX
|
||||
#ifdef _USE_EXTENDED_LOCALES_
|
||||
#define MB_CUR_MAX (___mb_cur_max())
|
||||
#ifndef MB_CUR_MAX_L
|
||||
#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x))
|
||||
#endif /* !MB_CUR_MAX_L */
|
||||
#else /* !_USE_EXTENDED_LOCALES_ */
|
||||
extern int __mb_cur_max;
|
||||
#define MB_CUR_MAX __mb_cur_max
|
||||
#endif /* _USE_EXTENDED_LOCALES_ */
|
||||
#endif /* MB_CUR_MAX */
|
||||
#endif /* __has_feature(modules) */
|
||||
#endif /* !MB_CUR_MAX && !_USE_EXTENDED_LOCALES_ */
|
||||
|
||||
#include <malloc/_malloc.h>
|
||||
#include <_abort.h>
|
||||
|
||||
+2
-2
@@ -100,7 +100,7 @@ char *_LIBC_CSTR
|
||||
_LIBC_PTRCHECK_REPLACED(strlcat);
|
||||
int strncmp(const char *_LIBC_UNSAFE_INDEXABLE __s1,
|
||||
const char *_LIBC_UNSAFE_INDEXABLE __s2, size_t __n);
|
||||
char *_LIBC_UNSAFE_INDEXABLE
|
||||
char *_LIBC_COUNT(__n)
|
||||
strncpy(char *_LIBC_COUNT(__n) __dst,
|
||||
const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
|
||||
_LIBC_PTRCHECK_REPLACED(strlcpy);
|
||||
@@ -155,7 +155,7 @@ __END_DECLS
|
||||
__BEGIN_DECLS
|
||||
char *_LIBC_CSTR
|
||||
stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy);
|
||||
char *_LIBC_CSTR
|
||||
char *_LIBC_COUNT(__n)
|
||||
stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst,
|
||||
const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
|
||||
|
||||
+1
@@ -32,6 +32,7 @@
|
||||
#endif /* _USE_EXTENDED_LOCALES_ */
|
||||
|
||||
#include <_locale.h>
|
||||
#include <_locale_posix2008.h>
|
||||
#include <__xlocale.h>
|
||||
|
||||
_LIBC_SINGLE_BY_DEFAULT()
|
||||
|
||||
-3
@@ -40,9 +40,6 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#ifdef __cplusplus
|
||||
#include <stdlib.h>
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/*
|
||||
* Unlike other ANSI header files, <assert.h> may usefully be included
|
||||
|
||||
+5
-4
@@ -207,11 +207,12 @@ typedef struct vm_purgeable_info *host_purgable_info_t;
|
||||
|
||||
/* size of the latest version of the structure */
|
||||
#define HOST_VM_INFO64_LATEST_COUNT HOST_VM_INFO64_COUNT
|
||||
#define HOST_VM_INFO64_REV1_COUNT HOST_VM_INFO64_LATEST_COUNT
|
||||
#define HOST_VM_INFO64_REV2_COUNT HOST_VM_INFO64_COUNT
|
||||
#define HOST_VM_INFO64_REV1_COUNT ((mach_msg_type_number_t) \
|
||||
(offsetof(vm_statistics64_data_t, swapped_count) / sizeof(integer_t)))
|
||||
/* previous versions: adjust the size according to what was added each time */
|
||||
#define HOST_VM_INFO64_REV0_COUNT /* added compression and swapper info (14 ints) */ \
|
||||
((mach_msg_type_number_t) \
|
||||
(HOST_VM_INFO64_REV1_COUNT - 14))
|
||||
#define HOST_VM_INFO64_REV0_COUNT ((mach_msg_type_number_t) \
|
||||
(offsetof(vm_statistics64_data_t, decompressions) / sizeof(integer_t)))
|
||||
|
||||
/* in <mach/vm_statistics.h> */
|
||||
/* vm_extmod_statistics */
|
||||
|
||||
+4
-4
@@ -501,7 +501,7 @@ kern_return_t mach_port_kobject
|
||||
(
|
||||
ipc_space_read_t task,
|
||||
mach_port_name_t name,
|
||||
natural_t *object_type,
|
||||
ipc_info_object_type_t *object_type,
|
||||
mach_vm_address_t *object_addr
|
||||
);
|
||||
|
||||
@@ -610,7 +610,7 @@ kern_return_t mach_port_kobject_description
|
||||
(
|
||||
ipc_space_read_t task,
|
||||
mach_port_name_t name,
|
||||
natural_t *object_type,
|
||||
ipc_info_object_type_t *object_type,
|
||||
mach_vm_address_t *object_addr,
|
||||
kobject_description_t description
|
||||
);
|
||||
@@ -1690,7 +1690,7 @@ union __RequestUnion__mach_port_subsystem {
|
||||
mach_msg_header_t Head;
|
||||
NDR_record_t NDR;
|
||||
kern_return_t RetCode;
|
||||
natural_t object_type;
|
||||
ipc_info_object_type_t object_type;
|
||||
mach_vm_address_t object_addr;
|
||||
} __Reply__mach_port_kobject_t __attribute__((unused));
|
||||
#ifdef __MigPackStructs
|
||||
@@ -1790,7 +1790,7 @@ union __RequestUnion__mach_port_subsystem {
|
||||
mach_msg_header_t Head;
|
||||
NDR_record_t NDR;
|
||||
kern_return_t RetCode;
|
||||
natural_t object_type;
|
||||
ipc_info_object_type_t object_type;
|
||||
mach_vm_address_t object_addr;
|
||||
mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */
|
||||
mach_msg_type_number_t descriptionCnt;
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <mach/error.h>
|
||||
#include <mach/std_types.h>
|
||||
#include <mach/mach_types.h>
|
||||
#include <mach/kern_return.h>
|
||||
@@ -296,6 +297,10 @@ extern kern_return_t debug_control_port_for_pid(
|
||||
int pid,
|
||||
mach_port_name_t *t);
|
||||
|
||||
extern mach_error_t mach_vm_reclaim_update_kernel_accounting_trap(
|
||||
mach_port_name_t target_tport,
|
||||
uint64_t *bytes_reclaimed);
|
||||
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
@@ -332,6 +332,9 @@ typedef integer_t cpu_threadtype_t;
|
||||
#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */
|
||||
#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */
|
||||
#define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */
|
||||
#define CPU_SUBTYPE_ARM_V8M_MAIN CPU_SUBTYPE_ARM_V8M /* Not meant to be run under xnu */
|
||||
#define CPU_SUBTYPE_ARM_V8M_BASE ((cpu_subtype_t) 18) /* Not meant to be run under xnu */
|
||||
#define CPU_SUBTYPE_ARM_V8_1M_MAIN ((cpu_subtype_t) 19) /* Not meant to be run under xnu */
|
||||
|
||||
/*
|
||||
* ARM64 subtypes
|
||||
@@ -406,6 +409,8 @@ typedef integer_t cpu_threadtype_t;
|
||||
#define CPUFAMILY_ARM_BRAVA 0x17d5b93a
|
||||
#define CPUFAMILY_ARM_TAHITI 0x75d4acb9
|
||||
#define CPUFAMILY_ARM_TUPAI 0x204526d0
|
||||
#define CPUFAMILY_ARM_THERA 0xab345f09
|
||||
#define CPUFAMILY_ARM_TILOS 0x01d7a72b
|
||||
|
||||
/* Described in rdar://64125549 */
|
||||
#define CPUSUBFAMILY_UNKNOWN 0
|
||||
|
||||
+1
-2
@@ -839,7 +839,7 @@ typedef kern_return_t mach_msg_return_t;
|
||||
#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015
|
||||
/* compatibility: no longer a returned error */
|
||||
#define MACH_SEND_NO_GRANT_DEST 0x10000016
|
||||
/* The destination port doesn't accept ports in body */
|
||||
/* compatibility: no longer a returned error */
|
||||
#define MACH_SEND_MSG_FILTERED 0x10000017
|
||||
/* Message send was rejected by message filter */
|
||||
#define MACH_SEND_AUX_TOO_SMALL 0x10000018
|
||||
@@ -885,7 +885,6 @@ typedef kern_return_t mach_msg_return_t;
|
||||
/* invalid receive arguments, receive has not started */
|
||||
|
||||
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/*
|
||||
|
||||
+133
-49
@@ -152,28 +152,12 @@ typedef mach_port_t *mach_port_array_t;
|
||||
* and reused too quickly [to catch right/reference counting bugs].
|
||||
* The dividing line between the constituent parts is exposed so
|
||||
* that efficient "mach_port_name_t to data structure pointer"
|
||||
* conversion implementation can be made. But it is possible
|
||||
* for user-level code to assign their own names to Mach ports.
|
||||
* These are not required to participate in this algorithm. So
|
||||
* care should be taken before "assuming" this model.
|
||||
*
|
||||
* conversion implementation can be made.
|
||||
*/
|
||||
|
||||
#ifndef NO_PORT_GEN
|
||||
|
||||
#define MACH_PORT_INDEX(name) ((name) >> 8)
|
||||
#define MACH_PORT_GEN(name) (((name) & 0xff) << 24)
|
||||
#define MACH_PORT_MAKE(index, gen) \
|
||||
(((index) << 8) | (gen) >> 24)
|
||||
|
||||
#else /* NO_PORT_GEN */
|
||||
|
||||
#define MACH_PORT_INDEX(name) (name)
|
||||
#define MACH_PORT_GEN(name) (0)
|
||||
#define MACH_PORT_MAKE(index, gen) (index)
|
||||
|
||||
#endif /* NO_PORT_GEN */
|
||||
|
||||
#define MACH_PORT_MAKE(index, gen) (((index) << 8) | ((gen) >> 24))
|
||||
|
||||
/*
|
||||
* These are the different rights a task may have for a port.
|
||||
@@ -281,7 +265,7 @@ typedef struct mach_port_limits {
|
||||
#define MACH_PORT_STATUS_FLAG_REVIVE 0x10
|
||||
#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20
|
||||
#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40
|
||||
#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80
|
||||
#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80 /* Obsolete */
|
||||
|
||||
typedef struct mach_port_info_ext {
|
||||
mach_port_status_t mpie_status;
|
||||
@@ -344,36 +328,95 @@ typedef struct mach_service_port_info {
|
||||
|
||||
typedef struct mach_service_port_info * mach_service_port_info_t;
|
||||
|
||||
/*
|
||||
* Platform binaries are not allowed to send OOL port array to any port.
|
||||
*
|
||||
* MACH_MSG_OOL_PORTS_DESCRIPTOR are allowed to be sent ONLY to receive
|
||||
* rights that are explicitly allow to receive that descriptor.
|
||||
*
|
||||
* Such ports have a dedicated port type, and are created using the
|
||||
* MPO_CONNECTION_PORT_WITH_PORT_ARRAY flag.
|
||||
*
|
||||
* Creation of such ports requires the binary to have the following entitlement.
|
||||
*/
|
||||
#define MACH_PORT_CONNECTION_PORT_WITH_PORT_ARRAY "com.apple.developer.allow-connection-port-with-port-array"
|
||||
|
||||
/* Allows 1p process to create provisional reply port (to be rename to weak reply port) */
|
||||
#define MACH_PORT_PROVISIONAL_REPLY_ENTITLEMENT "com.apple.private.allow-weak-reply-port"
|
||||
|
||||
/*
|
||||
* Flags for mach_port_options (used for
|
||||
* invocation of mach_port_construct).
|
||||
* Indicates attributes to be set for the newly
|
||||
* allocated port.
|
||||
*/
|
||||
#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */
|
||||
#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */
|
||||
#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */
|
||||
#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */
|
||||
#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */
|
||||
#define MPO_STRICT 0x20 /* Apply strict guarding for port */
|
||||
#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */
|
||||
#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */
|
||||
#define MPO_FILTER_MSG 0x100 /* Allow message filtering */
|
||||
#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */
|
||||
#define MPO_SERVICE_PORT 0x400 /* Create a service port with the given name; should be used only by launchd */
|
||||
#define MPO_CONNECTION_PORT 0x800 /* Derive new peer connection port from a given service port */
|
||||
#define MPO_REPLY_PORT 0x1000 /* Designate port as a reply port. */
|
||||
#define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/
|
||||
#define MPO_PROVISIONAL_REPLY_PORT 0x4000 /* Designate port as a provisional reply port. */
|
||||
#define MPO_EXCEPTION_PORT 0x8000 /* Used for hardened exceptions - immovable */
|
||||
|
||||
/* MPO options flags */
|
||||
#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */
|
||||
#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */
|
||||
#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */
|
||||
#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */
|
||||
#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */
|
||||
#define MPO_STRICT 0x20 /* Apply strict guarding for port */
|
||||
#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */
|
||||
#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */
|
||||
#define MPO_FILTER_MSG 0x100 /* Allow message filtering */
|
||||
#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */
|
||||
#define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/
|
||||
/* This service port has requested security hardening */
|
||||
#define MPO_STRICT_SERVICE_PORT (MPO_SERVICE_PORT | MPO_ENFORCE_REPLY_PORT_SEMANTICS)
|
||||
|
||||
#define MPO_OPTIONS_MASK \
|
||||
(MPO_CONTEXT_AS_GUARD | \
|
||||
MPO_QLIMIT | \
|
||||
MPO_TEMPOWNER | \
|
||||
MPO_IMPORTANCE_RECEIVER | \
|
||||
MPO_INSERT_SEND_RIGHT | \
|
||||
MPO_STRICT | \
|
||||
MPO_DENAP_RECEIVER | \
|
||||
MPO_IMMOVABLE_RECEIVE | \
|
||||
MPO_FILTER_MSG | \
|
||||
MPO_TG_BLOCK_TRACKING | \
|
||||
MPO_ENFORCE_REPLY_PORT_SEMANTICS)
|
||||
|
||||
/* MPO port type flags */
|
||||
#define MPO_MAKE_PORT_TYPE(a, b) (((a & 0x7) << 14) | ((b & 0x7) << 10))
|
||||
#define MPO_PORT_TYPE_MASK MPO_MAKE_PORT_TYPE(0x7, 0x7) /* 0x1dc00 */
|
||||
/* These need to be defined for libxpc and other clients who `#ifdef` */
|
||||
#define MPO_PORT MPO_PORT
|
||||
#define MPO_SERVICE_PORT MPO_SERVICE_PORT
|
||||
#define MPO_CONNECTION_PORT MPO_CONNECTION_PORT
|
||||
#define MPO_REPLY_PORT MPO_REPLY_PORT
|
||||
#define MPO_PROVISIONAL_REPLY_PORT MPO_PROVISIONAL_REPLY_PORT
|
||||
#define MPO_EXCEPTION_PORT MPO_EXCEPTION_PORT
|
||||
#define MPO_CONNECTION_PORT_WITH_PORT_ARRAY MPO_CONNECTION_PORT_WITH_PORT_ARRAY
|
||||
__options_decl(mpo_flags_t, uint32_t, {
|
||||
/* Your classic IOT_PORT, an uninteresting message queue */
|
||||
MPO_PORT = MPO_MAKE_PORT_TYPE(0, 0), /* 0x0 */
|
||||
/* Create a service port with the given name; should be used only by launchd */
|
||||
MPO_SERVICE_PORT = MPO_MAKE_PORT_TYPE(0, 1), /* 0x400 */
|
||||
/* Derive new peer connection port from a given service port */
|
||||
MPO_CONNECTION_PORT = MPO_MAKE_PORT_TYPE(0, 2), /* 0x800 */
|
||||
/* Designate port as a reply port */
|
||||
MPO_REPLY_PORT = MPO_MAKE_PORT_TYPE(0, 4), /* 0x1000 */
|
||||
/* Designate port as a provisional (fake) reply port */
|
||||
MPO_PROVISIONAL_REPLY_PORT = MPO_MAKE_PORT_TYPE(1, 0), /* 0x4000 */
|
||||
/* Used for hardened exceptions - immovable */
|
||||
MPO_EXCEPTION_PORT = MPO_MAKE_PORT_TYPE(2, 0), /* 0x8000 */
|
||||
/* Can receive OOL port array descriptors */
|
||||
MPO_CONNECTION_PORT_WITH_PORT_ARRAY = MPO_MAKE_PORT_TYPE(4, 0), /* 0x10000 */
|
||||
});
|
||||
#define MPO_UNUSED_BITS ~(MPO_OPTIONS_MASK | MPO_PORT_TYPE_MASK)
|
||||
|
||||
/* Denotes an anonymous service */
|
||||
#define MPO_ANONYMOUS_SERVICE (MACH_PORT_DEAD - 1)
|
||||
|
||||
/*
|
||||
* Structure to define optional attributes for a newly
|
||||
* constructed port.
|
||||
*/
|
||||
typedef struct mach_port_options {
|
||||
uint32_t flags; /* Flags defining attributes for port */
|
||||
uint32_t flags;
|
||||
mach_port_limits_t mpl; /* Message queue limit for port */
|
||||
union {
|
||||
uint64_t reserved[2]; /* Reserved */
|
||||
@@ -405,6 +448,7 @@ typedef mach_port_options_t *mach_port_options_ptr_t;
|
||||
* but are truly an enum, please add new values in the "holes".
|
||||
*/
|
||||
enum mach_port_guard_exception_codes {
|
||||
kGUARD_EXC_NONE = 0, /* never sent */
|
||||
kGUARD_EXC_DESTROY = 1,
|
||||
kGUARD_EXC_MOD_REFS = 2,
|
||||
kGUARD_EXC_INVALID_OPTIONS = 3,
|
||||
@@ -413,9 +457,14 @@ enum mach_port_guard_exception_codes {
|
||||
kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6,
|
||||
kGUARD_EXC_SERVICE_PORT_VIOLATION_FATAL = 7, /* unused, for future sp defense enablement */
|
||||
kGUARD_EXC_UNGUARDED = 8,
|
||||
kGUARD_EXC_KOBJECT_REPLY_PORT_SEMANTICS = 9,
|
||||
kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 10,
|
||||
kGUARD_EXC_INCORRECT_GUARD = 16,
|
||||
kGUARD_EXC_IMMOVABLE = 32,
|
||||
kGUARD_EXC_STRICT_REPLY = 64,
|
||||
kGUARD_EXC_INVALID_NOTIFICATION_REQ = 65,
|
||||
kGUARD_EXC_INVALID_MPO_ENTITLEMENT = 66,
|
||||
kGUARD_EXC_DESCRIPTOR_VIOLATION = 67,
|
||||
kGUARD_EXC_MSG_FILTERED = 128,
|
||||
/* start of [optionally] non-fatal guards */
|
||||
kGUARD_EXC_INVALID_RIGHT = 256,
|
||||
@@ -434,40 +483,75 @@ enum mach_port_guard_exception_codes {
|
||||
kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */
|
||||
kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused, for future sp defense enablement */
|
||||
kGUARD_EXC_PROVISIONAL_REPLY_PORT = 0x00100002,
|
||||
kGUARD_EXC_OOL_PORT_ARRAY_CREATION = 0x00100003, /* unused */
|
||||
kGUARD_EXC_MOVE_PROVISIONAL_REPLY_PORT = 0x00100004,
|
||||
kGUARD_EXC_REPLY_PORT_SINGLE_SO_RIGHT = 0x00100005,
|
||||
kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21,
|
||||
kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22,
|
||||
kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 1u << 23,
|
||||
};
|
||||
|
||||
#define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED
|
||||
#define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME
|
||||
|
||||
|
||||
/*
|
||||
* Mach port guard flags.
|
||||
*/
|
||||
#define MPG_FLAGS_NONE (0x00ull)
|
||||
#define MPG_FLAGS_NONE 0x00
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER (0x04ull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR (0x08ull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA (0x10ull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_MASK (0xffull << 56)
|
||||
#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER 0x04
|
||||
#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA 0x10
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56)
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY (0x02ull << 56)
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN (0x04ull << 56)
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC 0x01
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY 0x02
|
||||
#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN 0x03
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_IMMOVABLE exceptions.
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_INVALID_RIGHT exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56)
|
||||
#define MPG_FLAGS_INVALID_RIGHT_RECV 0x01 /* does not have receive right */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_DELTA 0x02 /* ipc_right_delta() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_DESTRUCT 0x03 /* ipc_right_destruct() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_COPYIN 0x04 /* ipc_right_copyin() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_DEALLOC 0x05 /* ipc_right_dealloc() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_DEALLOC_KERNEL 0x06 /* mach_port_deallocate_kernel() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_TRANSLATE_PORT 0x07 /* port in ipc_object_translate_port_pset() */
|
||||
#define MPG_FLAGS_INVALID_RIGHT_TRANSLATE_PSET 0x08 /* pset in ipc_object_translate_port_pset() */
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_INVALID_VALUE exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_INVALID_VALUE_PEEK 0x01 /* mach_port_peek() */
|
||||
#define MPG_FLAGS_INVALID_VALUE_DELTA 0x02 /* ipc_right_delta() */
|
||||
#define MPG_FLAGS_INVALID_VALUE_DESTRUCT 0x03 /* ipc_right_destruct() */
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_KERN_FAILURE exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_KERN_FAILURE_TASK 0x01 /* task other than launchd arm pd on service ports */
|
||||
#define MPG_FLAGS_KERN_FAILURE_NOTIFY_TYPE 0x02 /* not using IOT_NOTIFICATION_PORT for pd notification */
|
||||
#define MPG_FLAGS_KERN_FAILURE_NOTIFY_RECV 0x03 /* notification port not owned by launchd */
|
||||
#define MPG_FLAGS_KERN_FAILURE_MULTI_NOTI 0x04 /* register multiple pd notification */
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_SEND_INVALID_RIGHT exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_SEND_INVALID_RIGHT_PORT 0x01 /* ipc_kmsg_copyin_port_descriptor() */
|
||||
#define MPG_FLAGS_SEND_INVALID_RIGHT_OOL_PORT 0x02 /* ipc_kmsg_copyin_ool_ports_descriptor() */
|
||||
#define MPG_FLAGS_SEND_INVALID_RIGHT_GUARDED 0x03 /* ipc_kmsg_copyin_guarded_port_descriptor */
|
||||
|
||||
/*
|
||||
* These flags are used as bits in the subcode of kGUARD_EXC_INVALID_OPTIONS exceptions.
|
||||
*/
|
||||
#define MPG_FLAGS_INVALID_OPTIONS_OOL_DISP 0x01 /* ipc_kmsg_copyin_ool_ports_descriptor() */
|
||||
#define MPG_FLAGS_INVALID_OPTIONS_OOL_ARRAYS 0x02 /* ipc_validate_kmsg_header_from_user() */
|
||||
#define MPG_FLAGS_INVALID_OPTIONS_OOL_RIGHT 0x03 /* ipc_validate_kmsg_header_from_user() */
|
||||
|
||||
/*
|
||||
* Flags for mach_port_guard_with_flags. These flags extend
|
||||
|
||||
+10
@@ -511,6 +511,16 @@ typedef struct task_security_config_info * task_security_config_info_t;
|
||||
#define TASK_SECURITY_CONFIG_INFO_COUNT ((mach_msg_type_number_t) \
|
||||
(sizeof(struct task_security_config_info) / sizeof(natural_t)))
|
||||
|
||||
|
||||
#define TASK_IPC_SPACE_POLICY_INFO 33 /* Runtime security mitigations configuration for the task */
|
||||
struct task_ipc_space_policy_info {
|
||||
uint32_t space_policy; /* Configuration bitmask */
|
||||
};
|
||||
|
||||
typedef struct task_ipc_space_policy_info * task_ipc_space_policy_info_t;
|
||||
#define TASK_IPC_SPACE_POLICY_INFO_COUNT ((mach_msg_type_number_t) \
|
||||
(sizeof(struct task_ipc_space_policy_info) / sizeof(natural_t)))
|
||||
|
||||
/*
|
||||
* Type to control EXC_GUARD delivery options for a task
|
||||
* via task_get/set_exc_guard_behavior interface(s).
|
||||
|
||||
@@ -121,6 +121,7 @@ typedef enum task_role {
|
||||
TASK_NONUI_APPLICATION = 6,
|
||||
TASK_DEFAULT_APPLICATION = 7,
|
||||
TASK_DARWINBG_APPLICATION = 8,
|
||||
TASK_USER_INIT_APPLICATION = 9,
|
||||
} task_role_t;
|
||||
|
||||
struct task_category_policy {
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
#include <mach/time_value.h>
|
||||
#include <mach/message.h>
|
||||
#include <mach/machine/vm_types.h>
|
||||
|
||||
/*
|
||||
* Generic information structure to allow for expansion.
|
||||
*/
|
||||
|
||||
+18
@@ -228,6 +228,7 @@ typedef struct vm_region_submap_info vm_region_submap_info_data_t;
|
||||
(sizeof(vm_region_submap_info_data_t) / sizeof(natural_t)))
|
||||
|
||||
struct vm_region_submap_info_64 {
|
||||
/* v0 fields */
|
||||
vm_prot_t protection; /* present access protection */
|
||||
vm_prot_t max_protection; /* max avail through vm_prot */
|
||||
vm_inherit_t inheritance;/* behavior of map/obj on fork */
|
||||
@@ -245,18 +246,30 @@ struct vm_region_submap_info_64 {
|
||||
vm_behavior_t behavior; /* access behavior hint */
|
||||
vm32_object_id_t object_id; /* obj/map name, not a handle */
|
||||
unsigned short user_wired_count;
|
||||
unsigned short flags;
|
||||
/* v1 fields */
|
||||
unsigned int pages_reusable;
|
||||
/* v2 fields */
|
||||
vm_object_id_t object_id_full;
|
||||
};
|
||||
|
||||
typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t;
|
||||
typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t;
|
||||
|
||||
/*
|
||||
* Note that this size is hard-coded at the MIG boundary in mach_types.defs
|
||||
* so if we ever increase this you'll need to also bump the definition of
|
||||
* vm_region_recurse_info_t.
|
||||
*/
|
||||
#define VM_REGION_SUBMAP_INFO_V2_SIZE \
|
||||
(sizeof (vm_region_submap_info_data_64_t))
|
||||
|
||||
/* v1 size is v2 size minus v2's new fields */
|
||||
#define VM_REGION_SUBMAP_INFO_V1_SIZE \
|
||||
(VM_REGION_SUBMAP_INFO_V2_SIZE - \
|
||||
sizeof (vm_object_id_t) /* object_id_full */ )
|
||||
|
||||
/* v0 size is v1 size minus v1's new fields */
|
||||
#define VM_REGION_SUBMAP_INFO_V0_SIZE \
|
||||
(VM_REGION_SUBMAP_INFO_V1_SIZE - \
|
||||
sizeof (unsigned int) /* pages_reusable */ )
|
||||
@@ -274,6 +287,10 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t
|
||||
/* set this to the latest version */
|
||||
#define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V2_COUNT_64
|
||||
|
||||
#define VM_REGION_FLAG_JIT_ENABLED 0x1
|
||||
#define VM_REGION_FLAG_TPRO_ENABLED 0x2
|
||||
|
||||
|
||||
struct vm_region_submap_short_info_64 {
|
||||
vm_prot_t protection; /* present access protection */
|
||||
vm_prot_t max_protection; /* max avail through vm_prot */
|
||||
@@ -288,6 +305,7 @@ struct vm_region_submap_short_info_64 {
|
||||
vm_behavior_t behavior; /* access behavior hint */
|
||||
vm32_object_id_t object_id; /* obj/map name, not a handle */
|
||||
unsigned short user_wired_count;
|
||||
unsigned short flags;
|
||||
};
|
||||
|
||||
typedef struct vm_region_submap_short_info_64 *vm_region_submap_short_info_64_t;
|
||||
|
||||
+61
-12
@@ -66,6 +66,9 @@
|
||||
#ifndef _MACH_VM_STATISTICS_H_
|
||||
#define _MACH_VM_STATISTICS_H_
|
||||
|
||||
|
||||
#include <Availability.h>
|
||||
#include <os/base.h>
|
||||
#include <stdbool.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
@@ -74,6 +77,8 @@
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#pragma mark VM Statistics
|
||||
|
||||
/*
|
||||
* vm_statistics
|
||||
*
|
||||
@@ -141,7 +146,7 @@ struct vm_statistics64 {
|
||||
natural_t wire_count; /* # of pages wired down */
|
||||
uint64_t zero_fill_count; /* # of zero fill pages */
|
||||
uint64_t reactivations; /* # of pages reactivated */
|
||||
uint64_t pageins; /* # of pageins */
|
||||
uint64_t pageins; /* # of pageins (lifetime) */
|
||||
uint64_t pageouts; /* # of pageouts */
|
||||
uint64_t faults; /* # of faults */
|
||||
uint64_t cow_faults; /* # of copy-on-writes */
|
||||
@@ -158,15 +163,17 @@ struct vm_statistics64 {
|
||||
natural_t speculative_count; /* # of pages speculative */
|
||||
|
||||
/* added for rev1 */
|
||||
uint64_t decompressions; /* # of pages decompressed */
|
||||
uint64_t compressions; /* # of pages compressed */
|
||||
uint64_t swapins; /* # of pages swapped in (via compression segments) */
|
||||
uint64_t swapouts; /* # of pages swapped out (via compression segments) */
|
||||
uint64_t decompressions; /* # of pages decompressed (lifetime) */
|
||||
uint64_t compressions; /* # of pages compressed (lifetime) */
|
||||
uint64_t swapins; /* # of pages swapped in via compressor segments (lifetime) */
|
||||
uint64_t swapouts; /* # of pages swapped out via compressor segments (lifetime) */
|
||||
natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */
|
||||
natural_t throttled_count; /* # of pages throttled */
|
||||
natural_t external_page_count; /* # of pages that are file-backed (non-swap) */
|
||||
natural_t internal_page_count; /* # of pages that are anonymous */
|
||||
uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */
|
||||
/* added for rev2 */
|
||||
uint64_t swapped_count; /* # of compressor-stored pages currently stored in swap */
|
||||
} __attribute__((aligned(8)));
|
||||
|
||||
typedef struct vm_statistics64 *vm_statistics64_t;
|
||||
@@ -232,6 +239,8 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
|
||||
#define VM_PAGE_QUERY_PAGE_CS_NX 0x400
|
||||
#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800
|
||||
|
||||
#pragma mark User Flags
|
||||
|
||||
/*
|
||||
* VM allocation flags:
|
||||
*
|
||||
@@ -334,17 +343,27 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
|
||||
__enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
kGUARD_EXC_DEALLOC_GAP = 1,
|
||||
kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2,
|
||||
kGUARD_EXC_SEC_LOOKUP_DENIED = 3,
|
||||
kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4,
|
||||
kGUARD_EXC_SEC_RANGE_DENIED = 6,
|
||||
kGUARD_EXC_SEC_ACCESS_FAULT = 7,
|
||||
kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 8,
|
||||
kGUARD_EXC_SEC_COPY_DENIED = 16,
|
||||
kGUARD_EXC_SEC_SHARING_DENIED = 32,
|
||||
kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT = 64,
|
||||
kGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE = 9,
|
||||
kGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE = 10,
|
||||
kGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE = 11,
|
||||
kGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION = 12,
|
||||
/*
|
||||
* rdar://151450801 (Remove spurious kGUARD_EXC_SEC_ACCESS_FAULT and kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT once CrashReporter is aligned)
|
||||
*/
|
||||
kGUARD_EXC_SEC_ACCESS_FAULT = 98,
|
||||
kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT = 99,
|
||||
/* VM policy decisions */
|
||||
kGUARD_EXC_SEC_COPY_DENIED = 100,
|
||||
kGUARD_EXC_SEC_SHARING_DENIED = 101,
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
#pragma mark Ledger Tags
|
||||
|
||||
/* current accounting postmark */
|
||||
#define __VM_LEDGER_ACCOUNTING_POSTMARK 2019032600
|
||||
|
||||
@@ -372,6 +391,14 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
#define VM_LEDGER_FLAGS_USER (VM_LEDGER_FLAG_NO_FOOTPRINT | VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG)
|
||||
#define VM_LEDGER_FLAGS_ALL (VM_LEDGER_FLAGS_USER | VM_LEDGER_FLAG_FROM_KERNEL)
|
||||
|
||||
#pragma mark User Memory Tags
|
||||
|
||||
/*
|
||||
* These tags may be used to identify memory regions created with
|
||||
* `mach_vm_map()` or `mach_vm_allocate()` via the top 8 bits of the `flags`
|
||||
* parameter. Users should pass `VM_MAKE_TAG(tag) | flags` (see section
|
||||
* "User Flags").
|
||||
*/
|
||||
#define VM_MEMORY_MALLOC 1
|
||||
#define VM_MEMORY_MALLOC_SMALL 2
|
||||
#define VM_MEMORY_MALLOC_LARGE 3
|
||||
@@ -400,6 +427,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
/* Was a nested pmap (VM_MEMORY_SHARED_PMAP) which has now been unnested */
|
||||
#define VM_MEMORY_UNSHARED_PMAP 35
|
||||
|
||||
/* for libchannel memory, mostly used on visionOS for communication with realtime threads */
|
||||
#define VM_MEMORY_LIBCHANNEL 36
|
||||
|
||||
// Placeholders for now -- as we analyze the libraries and find how they
|
||||
// use memory, we can make these labels more specific.
|
||||
@@ -411,6 +440,7 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
#define VM_MEMORY_JAVA 44
|
||||
#define VM_MEMORY_COREDATA 45
|
||||
#define VM_MEMORY_COREDATA_OBJECTIDS 46
|
||||
|
||||
#define VM_MEMORY_ATS 50
|
||||
#define VM_MEMORY_LAYERKIT 51
|
||||
#define VM_MEMORY_CGIMAGE 52
|
||||
@@ -506,6 +536,8 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
/* DHMM data */
|
||||
#define VM_MEMORY_DHMM 84
|
||||
|
||||
/* memory needed for DFR related actions */
|
||||
#define VM_MEMORY_DFR 85
|
||||
|
||||
/* memory allocated by SceneKit.framework */
|
||||
#define VM_MEMORY_SCENEKIT 86
|
||||
@@ -562,6 +594,9 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
/* memory allocated by CoreMedia */
|
||||
#define VM_MEMORY_CM_HLS 106
|
||||
|
||||
/* memory allocated for CompositorServices */
|
||||
#define VM_MEMORY_COMPOSITOR_SERVICES 107
|
||||
|
||||
/* Reserve 230-239 for Rosetta */
|
||||
#define VM_MEMORY_ROSETTA 230
|
||||
#define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231
|
||||
@@ -573,7 +608,21 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
|
||||
#define VM_MEMORY_ROSETTA_10 239
|
||||
|
||||
/* Reserve 240-255 for application */
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_1 240
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_1 240
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_2 241
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_3 242
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_4 243
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_5 244
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_6 245
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_7 246
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_8 247
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_9 248
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_10 249
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_11 250
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_12 251
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_13 252
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_14 253
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_15 254
|
||||
#define VM_MEMORY_APPLICATION_SPECIFIC_16 255
|
||||
|
||||
#define VM_MEMORY_COUNT 256
|
||||
|
||||
@@ -70,6 +70,81 @@
|
||||
#include <mach/port.h>
|
||||
#include <mach/machine/vm_types.h>
|
||||
|
||||
/*!
|
||||
* @brief
|
||||
* Type for mach_port_kobject_description() only.
|
||||
*
|
||||
* @discussion
|
||||
* This type preserved the `IOT_*` values that @c ipc_kobject_type_t used
|
||||
* to carry, whose ABI of this type was known to debugging tools of userspace,
|
||||
* by copying XNU's source.
|
||||
*
|
||||
* This provides a guaranteed stable interface now (however no guarantee
|
||||
* is made that values are still in use).
|
||||
*
|
||||
* Values should never be removed to that list, merely abandonned with
|
||||
* a comment.
|
||||
*/
|
||||
__enum_decl(ipc_info_object_type_t, natural_t, {
|
||||
IPC_OTYPE_NONE = 0,
|
||||
IPC_OTYPE_THREAD_CONTROL = 1,
|
||||
IPC_OTYPE_TASK_CONTROL = 2,
|
||||
IPC_OTYPE_HOST = 3,
|
||||
IPC_OTYPE_HOST_PRIV = 4,
|
||||
IPC_OTYPE_PROCESSOR = 5,
|
||||
IPC_OTYPE_PROCESSOR_SET = 6,
|
||||
IPC_OTYPE_PROCESSOR_SET_NAME = 7,
|
||||
IPC_OTYPE_TIMER = 8,
|
||||
IPC_OTYPE_PORT_SUBST_ONCE = 9, /* obsolete: no instances */
|
||||
IPC_OTYPE_MIG = 10, /* obsolete: no instances */
|
||||
IPC_OTYPE_MEMORY_OBJECT = 11, /* no port instances */
|
||||
IPC_OTYPE_XMM_PAGER = 12, /* obsolete: no instances */
|
||||
IPC_OTYPE_XMM_KERNEL = 13, /* obsolete: no instances */
|
||||
IPC_OTYPE_XMM_REPLY = 14, /* obsolete: no instances */
|
||||
IPC_OTYPE_UND_REPLY = 15,
|
||||
IPC_OTYPE_HOST_NOTIFY = 16, /* obsolete: no instances */
|
||||
IPC_OTYPE_HOST_SECURITY = 17, /* obsolete: no instances */
|
||||
IPC_OTYPE_LEDGER = 18, /* obsolete: no instances */
|
||||
IPC_OTYPE_MAIN_DEVICE = 19,
|
||||
IPC_OTYPE_TASK_NAME = 20,
|
||||
IPC_OTYPE_SUBSYSTEM = 21, /* obsolete: no instances */
|
||||
IPC_OTYPE_IO_DONE_QUEUE = 22, /* obsolete: no instances */
|
||||
IPC_OTYPE_SEMAPHORE = 23,
|
||||
IPC_OTYPE_LOCK_SET = 24, /* obsolete: no instances */
|
||||
IPC_OTYPE_CLOCK = 25,
|
||||
IPC_OTYPE_CLOCK_CTRL = 26, /* obsolete: no instances */
|
||||
IPC_OTYPE_IOKIT_IDENT = 27,
|
||||
IPC_OTYPE_NAMED_ENTRY = 28,
|
||||
IPC_OTYPE_IOKIT_CONNECT = 29,
|
||||
IPC_OTYPE_IOKIT_OBJECT = 30,
|
||||
IPC_OTYPE_UPL = 31, /* obsolete: no instances */
|
||||
IPC_OTYPE_MEM_OBJ_CONTROL = 32, /* obsolete: no instances */
|
||||
IPC_OTYPE_AU_SESSIONPORT = 33,
|
||||
IPC_OTYPE_FILEPORT = 34,
|
||||
IPC_OTYPE_LABELH = 35, /* obsolete: no instances */
|
||||
IPC_OTYPE_TASK_RESUME = 36,
|
||||
IPC_OTYPE_VOUCHER = 37,
|
||||
IPC_OTYPE_VOUCHER_ATTR_CONTROL = 38, /* obsolete: no instances */
|
||||
IPC_OTYPE_WORK_INTERVAL = 39,
|
||||
IPC_OTYPE_UX_HANDLER = 40,
|
||||
IPC_OTYPE_UEXT_OBJECT = 41,
|
||||
IPC_OTYPE_ARCADE_REG = 42,
|
||||
IPC_OTYPE_EVENTLINK = 43,
|
||||
IPC_OTYPE_TASK_INSPECT = 44,
|
||||
IPC_OTYPE_TASK_READ = 45,
|
||||
IPC_OTYPE_THREAD_INSPECT = 46,
|
||||
IPC_OTYPE_THREAD_READ = 47,
|
||||
IPC_OTYPE_SUID_CRED = 48, /* obsolete: no instances */
|
||||
IPC_OTYPE_HYPERVISOR = 49,
|
||||
IPC_OTYPE_TASK_ID_TOKEN = 50,
|
||||
IPC_OTYPE_TASK_FATAL = 51,
|
||||
IPC_OTYPE_KCDATA = 52,
|
||||
IPC_OTYPE_EXCLAVES_RESOURCE = 53,
|
||||
|
||||
/* catchall */
|
||||
IPC_OTYPE_UNKNOWN = ~0u,
|
||||
});
|
||||
|
||||
/*
|
||||
* Remember to update the mig type definitions
|
||||
* in mach_debug_types.defs when adding/removing fields.
|
||||
|
||||
+70
-1
@@ -55,8 +55,8 @@ void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __all
|
||||
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);
|
||||
void free(void * __unsafe_indexable);
|
||||
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);
|
||||
void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2);
|
||||
#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
|
||||
void * __sized_by_or_null(__size) reallocf(void * __unsafe_indexable __ptr, size_t __size) __result_use_check __alloc_size(2);
|
||||
void * __sized_by_or_null(__size) valloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1);
|
||||
#endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */
|
||||
#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
|
||||
/* rdar://120689514 */
|
||||
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);
|
||||
|
||||
#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = malloc;
|
||||
if (malloc_type_malloc) {
|
||||
return malloc_type_malloc(size, type_id);
|
||||
}
|
||||
return func(size);
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = calloc;
|
||||
if (malloc_type_calloc) {
|
||||
return malloc_type_calloc(count, size, type_id);
|
||||
}
|
||||
return func(count, size);
|
||||
}
|
||||
|
||||
static void __attribute__((always_inline)) malloc_type_free_backdeploy(void * __unsafe_indexable ptr, malloc_type_id_t type_id) {
|
||||
__attribute__((weak_import)) void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
__auto_type func = free;
|
||||
if (malloc_type_free) {
|
||||
malloc_type_free(ptr, type_id);
|
||||
} else {
|
||||
func(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = realloc;
|
||||
if (malloc_type_realloc) {
|
||||
return malloc_type_realloc(ptr, size, type_id);
|
||||
}
|
||||
return func(ptr, size);
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = valloc;
|
||||
if (malloc_type_valloc) {
|
||||
return malloc_type_valloc(size, type_id);
|
||||
}
|
||||
return func(size);
|
||||
}
|
||||
|
||||
#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
|
||||
(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
|
||||
(defined(__cplusplus) && __cplusplus >= 201703L)
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = aligned_alloc;
|
||||
if (malloc_type_aligned_alloc) {
|
||||
return malloc_type_aligned_alloc(alignment, size, type_id);
|
||||
}
|
||||
return func(alignment, size);
|
||||
}
|
||||
#endif
|
||||
|
||||
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) {
|
||||
__attribute__((weak_import)) int malloc_type_posix_memalign(void * __unsafe_indexable *memptr, size_t alignment, size_t size, malloc_type_id_t type_id);
|
||||
__auto_type func = posix_memalign;
|
||||
if (malloc_type_posix_memalign) {
|
||||
return malloc_type_posix_memalign(memptr, alignment, size, type_id);
|
||||
}
|
||||
return func(memptr, alignment, size);
|
||||
}
|
||||
#endif
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */
|
||||
|
||||
+83
-20
@@ -39,44 +39,107 @@ typedef unsigned long long malloc_type_id_t;
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
#undef __need_size_t
|
||||
#endif
|
||||
#endif /* size_t */
|
||||
#include <sys/cdefs.h> /* __BEGIN_DECLS */
|
||||
|
||||
#define _MALLOC_TYPE_AVAILABILITY __API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* <malloc/_malloc.h> */
|
||||
#define _MALLOC_TYPE_MALLOC_BACKDEPLOY_PUBLIC 1
|
||||
|
||||
_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);
|
||||
_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);
|
||||
_MALLOC_TYPE_AVAILABILITY void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
_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);
|
||||
_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);
|
||||
_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);
|
||||
/* rdar://120689514 */
|
||||
_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)*/;
|
||||
|
||||
#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)
|
||||
#if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 140000) || \
|
||||
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 170000) || \
|
||||
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 170000) || \
|
||||
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 100000)
|
||||
#define _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/** If we are in a TMO backdeployment configuration we do not globally declare the
|
||||
* real TMO entry points, so that we error out if someone is trying to use them
|
||||
* when their presence is not guaranteed
|
||||
*/
|
||||
#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
|
||||
|
||||
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);
|
||||
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);
|
||||
static void __attribute__((always_inline)) malloc_type_free_backdeploy(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
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);
|
||||
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);
|
||||
#if (defined(__DARWIN_C_LEVEL) && defined(__DARWIN_C_FULL) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
|
||||
(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
|
||||
(defined(__cplusplus) && __cplusplus >= 201703L)
|
||||
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);
|
||||
#endif
|
||||
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)*/;
|
||||
|
||||
/* <malloc/malloc.h> */
|
||||
|
||||
typedef struct _malloc_zone_t malloc_zone_t;
|
||||
|
||||
_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);
|
||||
_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);
|
||||
_MALLOC_TYPE_AVAILABILITY void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
_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);
|
||||
_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);
|
||||
_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);
|
||||
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);
|
||||
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);
|
||||
static void __attribute__((always_inline)) malloc_type_zone_free_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
|
||||
#else
|
||||
|
||||
/* <malloc/_malloc.h> */
|
||||
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
void * __sized_by_or_null(size) malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
void malloc_type_free(void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
void * __sized_by_or_null(size) malloc_type_valloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
/* rdar://120689514 */
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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)*/;
|
||||
|
||||
/* <malloc/malloc.h> */
|
||||
|
||||
typedef struct _malloc_zone_t malloc_zone_t;
|
||||
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
__API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0), driverkit(23.0))
|
||||
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);
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
/* Rewrite enablement */
|
||||
|
||||
#if defined(__has_feature) && __has_feature(typed_memory_operations)
|
||||
#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))))
|
||||
|
||||
#if (__has_builtin(__is_target_os) && __is_target_os(darwin) && !__is_target_os(bridgeos)) ||\
|
||||
(__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore)))
|
||||
#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
|
||||
#define _MALLOC_TYPE_ENABLED 1
|
||||
#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override##_backdeploy, type_param_pos)))
|
||||
#else
|
||||
#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos)))
|
||||
#define _MALLOC_TYPE_ENABLED 1
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */
|
||||
|
||||
#endif /* MALLOC_TARGET_64BIT */
|
||||
|
||||
+156
-17
@@ -2,14 +2,14 @@
|
||||
* Copyright (c) 1999-2023 Apple Computer, Inc. All rights reserved.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_START@
|
||||
*
|
||||
*
|
||||
* This file contains Original Code and/or Modifications of Original Code
|
||||
* as defined in and that are subject to the Apple Public Source License
|
||||
* Version 2.0 (the 'License'). You may not use this file except in
|
||||
* compliance with the License. Please obtain a copy of the License at
|
||||
* http://www.opensource.apple.com/apsl/ and read it before using this
|
||||
* file.
|
||||
*
|
||||
*
|
||||
* The Original Code and all software distributed under the License are
|
||||
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||||
@@ -17,7 +17,7 @@
|
||||
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
|
||||
* Please see the License for the specific language governing rights and
|
||||
* limitations under the License.
|
||||
*
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_END@
|
||||
*/
|
||||
|
||||
@@ -62,6 +62,57 @@ __ptrcheck_abi_assume_single()
|
||||
#endif // MALLOC_ZONE_FN_PTR
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/********* Typed zone functions ************/
|
||||
|
||||
#if defined(__has_attribute) && __has_attribute(swift_name)
|
||||
#define MALLOC_SWIFT_NAME(x) __attribute__((swift_name(#x)))
|
||||
#else
|
||||
#define MALLOC_SWIFT_NAME(x)
|
||||
#endif // defined(__has_attribute) && __has_attribute(swift_name)
|
||||
|
||||
/*!
|
||||
* @constant MALLOC_ZONE_MALLOC_DEFAULT_ALIGN
|
||||
* Default alignment for malloc_type_zone_malloc_with_options
|
||||
*/
|
||||
#define MALLOC_ZONE_MALLOC_DEFAULT_ALIGN __SIZEOF_POINTER__
|
||||
|
||||
/*!
|
||||
* @enum malloc_zone_malloc_options_t
|
||||
*
|
||||
* @constant MALLOC_ZONE_MALLOC_OPTION_NONE
|
||||
* Empty placeholder option.
|
||||
*
|
||||
* @constant MALLOC_ZONE_MALLOC_OPTION_CLEAR
|
||||
* Zero out the allocated memory, similar to calloc().
|
||||
*
|
||||
*/
|
||||
/*!
|
||||
* @constant MALLOC_ZONE_MALLOC_OPTION_CANONICAL_TAG
|
||||
* Under MTE, use a tag of zero (canonical) instead of a random value.
|
||||
*/
|
||||
typedef enum __enum_options : uint64_t {
|
||||
MALLOC_ZONE_MALLOC_OPTION_NONE = 0u,
|
||||
MALLOC_ZONE_MALLOC_OPTION_CLEAR MALLOC_SWIFT_NAME(clear) = 1u << 0,
|
||||
MALLOC_ZONE_MALLOC_OPTION_CANONICAL_TAG MALLOC_SWIFT_NAME(canonicalTag) = 1u << 1,
|
||||
} malloc_zone_malloc_options_t;
|
||||
|
||||
/*!
|
||||
* @function malloc_type_zone_malloc_with_options
|
||||
*
|
||||
* Like the other functions declared in malloc/_malloc_type.h, this function
|
||||
* is not intended to be called directly, but is rather the rewrite target for
|
||||
* calls to malloc_zone_malloc_with_options when typed memory operations are
|
||||
* enabled.
|
||||
*/
|
||||
#if defined(__LP64__)
|
||||
__API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0), driverkit(25.0))
|
||||
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);
|
||||
#endif /* __LP64__ */
|
||||
|
||||
// The remainder of these functions are declared in malloc/_malloc_type.h, and
|
||||
// the backdeployment variant definitions are at the bottom of this file.
|
||||
|
||||
/********* Type definitions ************/
|
||||
|
||||
/*
|
||||
@@ -160,8 +211,7 @@ typedef struct _malloc_zone_t {
|
||||
void * __unsafe_indexable ptr);
|
||||
|
||||
/*
|
||||
* Memory allocation with an extensible binary flags option. Currently for
|
||||
* libmalloc-internal zone implementations only - should be NULL otherwise.
|
||||
* Memory allocation with an extensible binary flags option.
|
||||
* Added in version >= 15.
|
||||
*/
|
||||
void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_with_options))(
|
||||
@@ -188,10 +238,9 @@ typedef struct _malloc_zone_t {
|
||||
struct _malloc_zone_t *zone, size_t alignment, size_t size,
|
||||
malloc_type_id_t type_id);
|
||||
|
||||
/* Must be NULL for non-libmalloc zone implementations */
|
||||
void * __sized_by_or_null(size) (* MALLOC_ZONE_FN_PTR(malloc_type_malloc_with_options))(
|
||||
struct _malloc_zone_t *zone, size_t align, size_t size, uint64_t options,
|
||||
malloc_type_id_t type_id);
|
||||
struct _malloc_zone_t *zone, size_t align, size_t size,
|
||||
uint64_t options, malloc_type_id_t type_id);
|
||||
} malloc_zone_t;
|
||||
|
||||
/*!
|
||||
@@ -352,6 +401,38 @@ extern void malloc_destroy_zone(malloc_zone_t *zone);
|
||||
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);
|
||||
/* Allocates a new pointer of size size; zone must be non-NULL */
|
||||
|
||||
/*!
|
||||
* @function malloc_zone_malloc_with_options
|
||||
*
|
||||
* @param zone
|
||||
* The malloc zone that should be used to used to serve the allocation. This
|
||||
* parameter may be NULL, in which case the default zone will be used.
|
||||
*
|
||||
* @param align
|
||||
* The minimum alignment of the requested allocation. This parameter must be
|
||||
* MALLOC_ZONE_MALLOC_DEFAULT_ALIGN to request default alignment, or a power
|
||||
* of 2 >= sizeof(void *).
|
||||
*
|
||||
* @param size
|
||||
* The size, in bytes, of the requested allocation. Must be an integral
|
||||
* multiple of align if align is non-zero.
|
||||
*
|
||||
* @param options
|
||||
* A bitmask of options defining how the memory should be allocated. See the
|
||||
* available bit values in the malloc_zone_malloc_options_t enum definition.
|
||||
*
|
||||
* @result
|
||||
* A pointer to the newly allocated block of memory, or NULL if the allocation
|
||||
* failed.
|
||||
*
|
||||
* @discussion
|
||||
* This API does not use errno to signal information about the reason for its
|
||||
* success or failure, and makes no guarantees about preserving or settings its
|
||||
* value in any case.
|
||||
*/
|
||||
__API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0), driverkit(25.0))
|
||||
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);
|
||||
|
||||
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);
|
||||
/* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */
|
||||
|
||||
@@ -590,22 +671,80 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void
|
||||
// Version 13:
|
||||
// - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for
|
||||
// setting errno to ENOMEM on failure
|
||||
// - malloc_zone_t::try_free_default
|
||||
// - malloc_zone_t::try_free_default (libmalloc only, NULL otherwise)
|
||||
// Version 14:
|
||||
// malloc_introspection_t::zone_type
|
||||
// malloc_introspection_t::zone_type (mandatory, should be 0)
|
||||
// Version 15:
|
||||
// malloc_zone_t::malloc_with_options
|
||||
// malloc_zone_t::malloc_with_options (optional)
|
||||
// Version 16:
|
||||
// malloc_zone_t::malloc_type_malloc
|
||||
// malloc_zone_t::malloc_type_calloc
|
||||
// malloc_zone_t::malloc_type_realloc
|
||||
// malloc_zone_t::malloc_type_memalign
|
||||
// malloc_zone_t::malloc_type_malloc_with_options
|
||||
// malloc_zone_t::malloc_type_malloc (mandatory)
|
||||
// malloc_zone_t::malloc_type_calloc (mandatory)
|
||||
// malloc_zone_t::malloc_type_realloc (mandatory)
|
||||
// malloc_zone_t::malloc_type_memalign (mandatory)
|
||||
// malloc_zone_t::malloc_type_malloc_with_options (optional)
|
||||
|
||||
// These functions are optional and calling them requires two checks:
|
||||
// Zone functions are optional unless specified otherwise above. Calling a zone
|
||||
// function requires two checks:
|
||||
// * Check zone version to ensure zone struct is large enough to include the member.
|
||||
// * Check that the function pointer is not null.
|
||||
|
||||
#if defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = malloc_zone_malloc;
|
||||
if (malloc_type_zone_malloc) {
|
||||
return malloc_type_zone_malloc(zone, size, type_id);
|
||||
}
|
||||
return func(zone, size);
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = malloc_zone_calloc;
|
||||
if (malloc_type_zone_calloc) {
|
||||
return malloc_type_zone_calloc(zone, count, size, type_id);
|
||||
}
|
||||
return func(zone, count, size);
|
||||
}
|
||||
|
||||
static void __attribute__((always_inline)) malloc_type_zone_free_backdeploy(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id) {
|
||||
__attribute__((weak_import)) void malloc_type_zone_free(malloc_zone_t *zone, void * __unsafe_indexable ptr, malloc_type_id_t type_id);
|
||||
__auto_type func = malloc_zone_free;
|
||||
if (malloc_type_zone_free) {
|
||||
malloc_type_zone_free(zone, ptr, type_id);
|
||||
} else {
|
||||
func(zone, ptr);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
__auto_type func = malloc_zone_realloc;
|
||||
__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);
|
||||
if (malloc_type_zone_realloc) {
|
||||
return malloc_type_zone_realloc(zone, ptr, size, type_id);
|
||||
}
|
||||
return func(zone, ptr, size);
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = malloc_zone_valloc;
|
||||
if (malloc_type_zone_valloc) {
|
||||
return malloc_type_zone_valloc(zone, size, type_id);
|
||||
}
|
||||
return func(zone, size);
|
||||
}
|
||||
|
||||
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) {
|
||||
__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);
|
||||
__auto_type func = malloc_zone_memalign;
|
||||
if (malloc_type_zone_memalign) {
|
||||
return malloc_type_zone_memalign(zone, alignment, size, type_id);
|
||||
}
|
||||
return func(zone, alignment, size);
|
||||
}
|
||||
#endif // defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MALLOC_MALLOC_H_ */
|
||||
|
||||
+27
-1
@@ -129,10 +129,18 @@ extern int __math_errhandling(void);
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
|
||||
/* libc++'s math.h comes before this header in the search order. It
|
||||
* will include this header first and then undef several of these
|
||||
* macros. That doesn't work when the two headers are in different
|
||||
* clang modules. The only way to make that work is to not declare
|
||||
* the macros here, and let libc++ handle the declarations.
|
||||
*/
|
||||
#define fpclassify(x) \
|
||||
( sizeof(x) == sizeof(float) ? __fpclassifyf((float)(x)) \
|
||||
: sizeof(x) == sizeof(double) ? __fpclassifyd((double)(x)) \
|
||||
: __fpclassifyl((long double)(x)))
|
||||
#endif /* !defined(__cplusplus) && !__has_feature(modules) */
|
||||
|
||||
extern int __fpclassifyf(float);
|
||||
extern int __fpclassifyd(double);
|
||||
@@ -152,6 +160,7 @@ extern int __fpclassifyl(long double);
|
||||
Thus, if you compile with -ffast-math, actual function calls are
|
||||
generated for these utilities. */
|
||||
|
||||
#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
|
||||
#define isnormal(x) \
|
||||
( sizeof(x) == sizeof(float) ? __inline_isnormalf((float)(x)) \
|
||||
: sizeof(x) == sizeof(double) ? __inline_isnormald((double)(x)) \
|
||||
@@ -176,6 +185,7 @@ extern int __fpclassifyl(long double);
|
||||
( sizeof(x) == sizeof(float) ? __inline_signbitf((float)(x)) \
|
||||
: sizeof(x) == sizeof(double) ? __inline_signbitd((double)(x)) \
|
||||
: __inline_signbitl((long double)(x)))
|
||||
#endif /* !defined(__cplusplus) && !__has_feature(modules) */
|
||||
|
||||
__header_always_inline int __inline_isfinitef(float);
|
||||
__header_always_inline int __inline_isfinited(double);
|
||||
@@ -262,6 +272,13 @@ __header_always_inline int __inline_isnormall(long double __x) {
|
||||
or similar is specified. These are not available in iOS versions prior
|
||||
to 6.0. If you need them, you must target that version or later. */
|
||||
|
||||
#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
|
||||
/* libc++'s math.h comes before this header in the search order. It
|
||||
* will include this header first and then undef several of these
|
||||
* macros. That doesn't work when the two headers are in different
|
||||
* clang modules. The only way to make that work is to not declare
|
||||
* the macros here, and let libc++ handle the declarations.
|
||||
*/
|
||||
#define isnormal(x) \
|
||||
( sizeof(x) == sizeof(float) ? __isnormalf((float)(x)) \
|
||||
: sizeof(x) == sizeof(double) ? __isnormald((double)(x)) \
|
||||
@@ -286,7 +303,8 @@ __header_always_inline int __inline_isnormall(long double __x) {
|
||||
( sizeof(x) == sizeof(float) ? __signbitf((float)(x)) \
|
||||
: sizeof(x) == sizeof(double) ? __signbitd((double)(x)) \
|
||||
: __signbitl((long double)(x)))
|
||||
|
||||
#endif /* !defined(__cplusplus) && !__has_feature(modules) */
|
||||
|
||||
extern int __isnormalf(float);
|
||||
extern int __isnormald(double);
|
||||
extern int __isnormall(long double);
|
||||
@@ -546,12 +564,20 @@ extern float fmaf(float, float, float);
|
||||
extern double fma(double, double, double);
|
||||
extern long double fmal(long double, long double, long double);
|
||||
|
||||
#if !defined(__cplusplus) || !defined(__has_feature) || !__has_feature(modules)
|
||||
/* libc++'s math.h comes before this header in the search order. It
|
||||
* will include this header first and then undef several of these
|
||||
* macros. That doesn't work when the two headers are in different
|
||||
* clang modules. The only way to make that work is to not declare
|
||||
* the macros here, and let libc++ handle the declarations.
|
||||
*/
|
||||
#define isgreater(x, y) __builtin_isgreater((x),(y))
|
||||
#define isgreaterequal(x, y) __builtin_isgreaterequal((x),(y))
|
||||
#define isless(x, y) __builtin_isless((x),(y))
|
||||
#define islessequal(x, y) __builtin_islessequal((x),(y))
|
||||
#define islessgreater(x, y) __builtin_islessgreater((x),(y))
|
||||
#define isunordered(x, y) __builtin_isunordered((x),(y))
|
||||
#endif /* !defined(__cplusplus) && !__has_feature(modules) */
|
||||
|
||||
#if defined __i386__ || defined __x86_64__
|
||||
/* Deprecated functions; use the INFINITY and NAN macros instead. */
|
||||
|
||||
+1
-10
@@ -154,16 +154,6 @@ struct if_clonereq {
|
||||
|
||||
#define IFQ_MAXLEN 128
|
||||
#define IFNET_SLOWHZ 1 /* granularity is 1 second */
|
||||
#define IFQ_DEF_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */
|
||||
#define IFQ_DEF_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
|
||||
#define IFQ_DEF_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */
|
||||
#define IFQ_DEF_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */
|
||||
#define IFQ_DEF_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
|
||||
#define IFQ_LL_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */
|
||||
#define IFQ_LL_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
|
||||
#define IFQ_LL_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */
|
||||
#define IFQ_LL_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */
|
||||
#define IFQ_LL_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */
|
||||
/*
|
||||
* Message format for use in obtaining information about interfaces
|
||||
* from sysctl and the routing socket
|
||||
@@ -332,6 +322,7 @@ struct ifreq {
|
||||
#define IFRTYPE_FUNCTIONAL_LAST 8
|
||||
u_int8_t ifru_is_directlink;
|
||||
u_int8_t ifru_is_vpn;
|
||||
u_int8_t ifru_is_companionlink;
|
||||
} ifr_ifru;
|
||||
#define ifr_addr ifr_ifru.ifru_addr /* address */
|
||||
#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
|
||||
|
||||
+5
-2
@@ -118,14 +118,17 @@ struct tcphdr {
|
||||
};
|
||||
|
||||
#define TCPOPT_EOL 0
|
||||
#define TCPOLEN_EOL 1
|
||||
#define TCPOPT_NOP 1
|
||||
#define TCPOLEN_NOP 1
|
||||
#define TCPOPT_MAXSEG 2
|
||||
#define TCPOLEN_MAXSEG 4
|
||||
#define TCPOPT_WINDOW 3
|
||||
#define TCPOLEN_WINDOW 3
|
||||
#define TCPOPT_SACK_PERMITTED 4 /* Experimental */
|
||||
#define TCPOPT_SACK_PERMITTED 4 /* SACK capability in SYN */
|
||||
#define TCPOLEN_SACK_PERMITTED 2
|
||||
#define TCPOPT_SACK 5 /* Experimental */
|
||||
#define TCPOPT_SACK 5
|
||||
#define TCPOLEN_SACKHDR 2
|
||||
#define TCPOLEN_SACK 8 /* len of sack block */
|
||||
#define TCPOPT_TIMESTAMP 8
|
||||
#define TCPOLEN_TIMESTAMP 10
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
|
||||
#include <sys/_types.h>
|
||||
#include <sys/_types/_sa_family_t.h>
|
||||
#include <sys/_types/_in_port_t.h>
|
||||
|
||||
/*
|
||||
* Identification of the network protocol stack
|
||||
|
||||
+15
-7
@@ -115,6 +115,9 @@
|
||||
* ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
|
||||
* watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
|
||||
*
|
||||
* Within each platform a tuple of versions will represent the version the API was
|
||||
* introduced in, followed by the version it was deperecated in.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* API_DEPRECATED("Deprecated", macos(10.4, 10.8))
|
||||
@@ -143,6 +146,10 @@
|
||||
* ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
|
||||
* watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
|
||||
*
|
||||
* Within each platform a tuple of versions will represent the version the API was
|
||||
* introduced in, followed by the version it was deperecated in, and finally the version it
|
||||
* was removed in.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0))
|
||||
@@ -151,6 +158,7 @@
|
||||
* API_OBSOLETED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4, 12.0), ios(9.0, 10.0, 11.0))
|
||||
* API_OBSOLETED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6, 11.0), watchos(2.0, 3.0, 4.0))
|
||||
*/
|
||||
|
||||
#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__)
|
||||
#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__)
|
||||
|
||||
@@ -189,7 +197,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_AVAILABLE_END
|
||||
#define API_AVAILABLE_END(...)
|
||||
#define API_AVAILABLE_END
|
||||
#endif
|
||||
|
||||
#ifndef API_DEPRECATED
|
||||
@@ -201,7 +209,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_DEPRECATED_END
|
||||
#define API_DEPRECATED_END(...)
|
||||
#define API_DEPRECATED_END
|
||||
#endif
|
||||
|
||||
#ifndef API_DEPRECATED_WITH_REPLACEMENT
|
||||
@@ -213,7 +221,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_DEPRECATED_WITH_REPLACEMENT_END
|
||||
#define API_DEPRECATED_WITH_REPLACEMENT_END(...)
|
||||
#define API_DEPRECATED_WITH_REPLACEMENT_END
|
||||
#endif
|
||||
|
||||
#ifndef API_OBSOLETED
|
||||
@@ -225,7 +233,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_OBSOLETED_END
|
||||
#define API_OBSOLETED_END(...)
|
||||
#define API_OBSOLETED_END
|
||||
#endif
|
||||
|
||||
#ifndef API_OBSOLETED_WITH_REPLACEMENT
|
||||
@@ -237,7 +245,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_OBSOLETED_WITH_REPLACEMENT_END
|
||||
#define API_OBSOLETED_WITH_REPLACEMENT_END(...)
|
||||
#define API_OBSOLETED_WITH_REPLACEMENT_END
|
||||
#endif
|
||||
|
||||
#ifndef API_UNAVAILABLE
|
||||
@@ -249,7 +257,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef API_UNAVAILABLE_END
|
||||
#define API_UNAVAILABLE_END(...)
|
||||
#define API_UNAVAILABLE_END
|
||||
#endif
|
||||
|
||||
#if __has_include(<AvailabilityProhibitedInternal.h>)
|
||||
@@ -269,7 +277,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef SPI_AVAILABLE_END
|
||||
#define SPI_AVAILABLE_END(...)
|
||||
#define SPI_AVAILABLE_END
|
||||
#endif
|
||||
|
||||
#ifndef SPI_DEPRECATED
|
||||
|
||||
+5
@@ -71,7 +71,11 @@
|
||||
#define OS_WEAK __attribute__((__weak__))
|
||||
#define OS_WEAK_IMPORT __attribute__((__weak_import__))
|
||||
#define OS_NOINLINE __attribute__((__noinline__))
|
||||
#ifndef __BUILDING_XNU_LIBRARY__
|
||||
#define OS_ALWAYS_INLINE __attribute__((__always_inline__))
|
||||
#else /* __BUILDING_XNU_LIBRARY__ */
|
||||
#define OS_ALWAYS_INLINE
|
||||
#endif /* __BUILDING_XNU_LIBRARY__ */
|
||||
#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__))
|
||||
#define OS_ALIGNED(n) __attribute__((__aligned__((n))))
|
||||
#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y)))
|
||||
@@ -343,4 +347,5 @@ typedef void (^os_block_t)(void);
|
||||
#define OS_COUNTED_BY(N) __counted_by(N)
|
||||
#define OS_SIZED_BY(N) __sized_by(N)
|
||||
|
||||
|
||||
#endif // __OS_BASE__
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN
|
||||
#define OS_WORKGROUP_ASSUME_NONNULL_END
|
||||
#endif
|
||||
#if __has_feature(enumerator_attributes)
|
||||
#define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) \
|
||||
API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__)
|
||||
#else
|
||||
#define OS_WORKGROUP_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...)
|
||||
#endif
|
||||
#define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__))
|
||||
#define OS_WORKGROUP_EXPORT OS_EXPORT
|
||||
#define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED
|
||||
|
||||
@@ -39,5 +39,7 @@
|
||||
|
||||
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
|
||||
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
|
||||
#define __darwin_pass_obsz0 __attribute__((__pass_object_size__(0)))
|
||||
#define __darwin_pass_obsz __attribute__((__pass_object_size__(_USE_FORTIFY_LEVEL > 1 ? 1 : 0)))
|
||||
|
||||
#endif
|
||||
|
||||
+72
-31
@@ -35,54 +35,95 @@ _LIBC_SINGLE_BY_DEFAULT()
|
||||
|
||||
#if _USE_FORTIFY_LEVEL > 0
|
||||
|
||||
extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
|
||||
const char * __restrict, ...);
|
||||
extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
|
||||
const char * __restrict, va_list);
|
||||
|
||||
extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
|
||||
const char * __restrict, ...);
|
||||
extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
|
||||
const char * __restrict, va_list);
|
||||
|
||||
#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
|
||||
|
||||
/* verify that there are at least __n characters at __str */
|
||||
static inline char *_LIBC_COUNT(__n)
|
||||
__libc_ptrchk_strbuf_chk(char *_LIBC_COUNT(__n) __str, size_t __n) { return __str; }
|
||||
|
||||
#undef __sprintf_chk_func /* sprintf is unavailable */
|
||||
#undef __vsprintf_chk_func /* vsprintf is unavailable */
|
||||
|
||||
#define __vsnprintf_chk_func(str, len, flag, format, ap) ({ \
|
||||
size_t __len = (len); \
|
||||
__builtin___vsnprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), format, ap); \
|
||||
})
|
||||
|
||||
#define __snprintf_chk_func(str, len, flag, ...) ({ \
|
||||
size_t __len = (len); \
|
||||
__builtin___snprintf_chk (__libc_ptrchk_strbuf_chk(str, __len), __len, flag, __darwin_obsz(str), __VA_ARGS__); \
|
||||
})
|
||||
|
||||
#else
|
||||
|
||||
#ifndef __has_builtin
|
||||
#define _undef__has_builtin
|
||||
#define __has_builtin(x) 0
|
||||
#define __undef__has_builtin
|
||||
#define __has_builtin(x) defined(__GNUC__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___snprintf_chk)
|
||||
#define __snprintf_chk_func(str, len, flag, ...) \
|
||||
__builtin___snprintf_chk (str, len, flag, __darwin_obsz(str), __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___vsnprintf_chk)
|
||||
#define __vsnprintf_chk_func(str, len, flag, format, ap) \
|
||||
__builtin___vsnprintf_chk (str, len, flag, __darwin_obsz(str), format, ap)
|
||||
#endif
|
||||
|
||||
|
||||
#if __has_builtin(__builtin___sprintf_chk)
|
||||
#define __sprintf_chk_func(str, flag, ...) \
|
||||
__builtin___sprintf_chk (str, flag, __darwin_obsz(str), __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___vsprintf_chk)
|
||||
#define __vsprintf_chk_func(str, flag, format, ap) \
|
||||
__builtin___vsprintf_chk (str, flag, __darwin_obsz(str), format, ap)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __undef__has_builtin
|
||||
#undef __undef__has_builtin
|
||||
#undef __has_builtin
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* sprintf, vsprintf, snprintf, vsnprintf */
|
||||
#if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__)
|
||||
extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
|
||||
const char * __restrict, ...);
|
||||
|
||||
#ifdef __sprintf_chk_func
|
||||
#undef sprintf
|
||||
#define sprintf(str, ...) \
|
||||
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
|
||||
#define sprintf(str, ...) __sprintf_chk_func (str, 0, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 200112L
|
||||
#if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__)
|
||||
extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
|
||||
const char * __restrict, ...);
|
||||
|
||||
#undef snprintf
|
||||
#define snprintf(str, len, ...) \
|
||||
__builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___vsprintf_chk) || defined(__GNUC__)
|
||||
extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
|
||||
const char * __restrict, va_list);
|
||||
|
||||
#ifdef __vsprintf_chk_func
|
||||
#undef vsprintf
|
||||
#define vsprintf(str, format, ap) \
|
||||
__builtin___vsprintf_chk (str, 0, __darwin_obsz(str), format, ap)
|
||||
#define vsprintf(str, ...) __vsprintf_chk_func (str, 0, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__)
|
||||
extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
|
||||
const char * __restrict, va_list);
|
||||
#ifdef __snprintf_chk_func
|
||||
#undef snprintf
|
||||
#define snprintf(str, len, ...) __snprintf_chk_func (str, len, 0, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __vsnprintf_chk_func
|
||||
#undef vsnprintf
|
||||
#define vsnprintf(str, len, format, ap) \
|
||||
__builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
|
||||
#define vsnprintf(str, len, ...) __vsnprintf_chk_func (str, len, 0, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#endif /* __DARWIN_C_LEVEL >= 200112L */
|
||||
|
||||
#ifdef _undef__has_builtin
|
||||
#undef _undef__has_builtin
|
||||
#undef __has_builtin
|
||||
#endif
|
||||
|
||||
#endif /* _USE_FORTIFY_LEVEL > 0 */
|
||||
|
||||
+229
-84
@@ -34,117 +34,262 @@
|
||||
|
||||
#if _USE_FORTIFY_LEVEL > 0
|
||||
|
||||
/* <rdar://problem/12622659> */
|
||||
#if defined(__clang__) && \
|
||||
((defined(__apple_build_version__) && __apple_build_version__ >= 4260006) || \
|
||||
(!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))
|
||||
#define __HAS_FIXED_CHK_PROTOTYPES 1
|
||||
#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
|
||||
|
||||
#if __has_builtin(__builtin___memcpy_chk)
|
||||
static inline void *_LIBC_SIZE(__n)
|
||||
__memcpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, size_t __n) {
|
||||
return _LIBC_FORGE_PTR(__builtin___memcpy_chk(__dst, __src, __n, __darwin_obsz0(__dst)), __n);
|
||||
}
|
||||
#define __memcpy_chk_func __memcpy_ptrchk
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memmove_chk)
|
||||
static inline void *_LIBC_SIZE(__n)
|
||||
__memmove_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, size_t __n) {
|
||||
return _LIBC_FORGE_PTR(__builtin___memmove_chk(__dst, __src, __n, __darwin_obsz0(__dst)), __n);
|
||||
}
|
||||
#define __memmove_chk_func __memmove_ptrchk
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memset_chk)
|
||||
static inline void *_LIBC_SIZE(__n)
|
||||
__memset_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, int __c, size_t __n) {
|
||||
return _LIBC_FORGE_PTR(__builtin___memset_chk(__dst, __c, __n, __darwin_obsz0(__dst)), __n);
|
||||
}
|
||||
#define __memset_chk_func __memset_ptrchk
|
||||
#endif
|
||||
|
||||
#undef __stpncpy_chk_func /* stpncpy unavailable */
|
||||
#undef __strncpy_chk_func /* strncpy unavailable */
|
||||
|
||||
#if __has_builtin(__builtin___strlcpy_chk)
|
||||
static inline size_t
|
||||
__strlcpy_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) {
|
||||
return __builtin___strlcpy_chk(__dst, __src, __n, __darwin_obsz(__dst));
|
||||
}
|
||||
#define __strlcpy_chk_func __strlcpy_ptrchk
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___strlcat_chk)
|
||||
static inline size_t
|
||||
__strlcat_ptrchk(char *const _LIBC_SIZE(__n) __darwin_pass_obsz __dst, const char *__src, size_t __n) {
|
||||
return __builtin___strlcat_chk(__dst, __src, __n, __darwin_obsz(__dst));
|
||||
}
|
||||
#define __strlcat_chk_func __strlcat_ptrchk
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memccpy_chk)
|
||||
static inline void *_LIBC_SIZE(__n)
|
||||
__memccpy_ptrchk(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, const void *_LIBC_SIZE(__n) __src, int __c, size_t __n) {
|
||||
return _LIBC_FORGE_PTR(__builtin___memccpy_chk(__dst, __src, __c, __n, __darwin_obsz0(__dst)), __n);
|
||||
}
|
||||
#define __memccpy_chk_func __memccpy_ptrchk
|
||||
#endif
|
||||
|
||||
#undef __strcpy_chk_func /* strcpy unavailable */
|
||||
#undef __stpcpy_chk_func /* stpcpy unavailable */
|
||||
#undef __strcat_chk_func /* strcat unavailable */
|
||||
#undef __strncat_chk_func /* strncat unavailable */
|
||||
|
||||
#else /* __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES */
|
||||
|
||||
#define __is_modern_darwin(ios, macos) \
|
||||
(__IPHONE_OS_VERSION_MIN_REQUIRED >= (ios) || \
|
||||
__MAC_OS_X_VERSION_MIN_REQUIRED >= (macos) || \
|
||||
defined(__DRIVERKIT_VERSION_MIN_REQUIRED))
|
||||
|
||||
/* __is_gcc(gcc_major, gcc_minor)
|
||||
* Special values:
|
||||
* 10.0 means "test should always fail when __has_builtin isn't supported"
|
||||
(because gcc got __has_builtin in version 10.0); this is used for builtins
|
||||
that gcc did not support yet at the time __has_builtin was introduced, so
|
||||
there is no point checking the compiler version.
|
||||
* 0.0 means that we did not research when gcc started supporting this builtin,
|
||||
but it's believed to have been the case at least since gcc 4.0, which came
|
||||
out in 2005. (Hello from 2025! What year is it now? Can't believe we're still
|
||||
using C!)
|
||||
*/
|
||||
#define __is_gcc(major, minor) \
|
||||
(__GNUC__ > (gcc_major) || \
|
||||
(__GNUC__ == (gcc_major) && __GNUC_MINOR__ >= (gcc_minor)))
|
||||
|
||||
#ifdef __has_builtin
|
||||
#define __supports_builtin(builtin, gcc_major, gcc_minor) \
|
||||
__has_builtin(builtin)
|
||||
#else
|
||||
#define __HAS_FIXED_CHK_PROTOTYPES 0
|
||||
#define __supports_builtin(builtin, gcc_major, gcc_minor) __is_gcc(gcc_major, gcc_minor)
|
||||
#endif
|
||||
|
||||
/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
|
||||
strncpy, stpncpy, strcat, strlcat, and strncat */
|
||||
|
||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 || \
|
||||
defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
|
||||
#if __has_builtin(__builtin___memccpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
|
||||
#undef memccpy
|
||||
/* void *memccpy(void *dst, const void *src, int c, size_t n) */
|
||||
#define memccpy(dest, ...) \
|
||||
__builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memcpy_chk) || defined(__GNUC__)
|
||||
#undef memcpy
|
||||
/* void *memcpy(void *dst, const void *src, size_t n) */
|
||||
#define memcpy(dest, ...) \
|
||||
#if __supports_builtin(__builtin___memcpy_chk, 0, 0)
|
||||
#define __memcpy_chk_func(dest, ...) \
|
||||
__builtin___memcpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)
|
||||
#undef memmove
|
||||
/* void *memmove(void *dst, const void *src, size_t len) */
|
||||
#define memmove(dest, ...) \
|
||||
#if __supports_builtin(__builtin___memmove_chk, 0, 0)
|
||||
#define __memmove_chk_func(dest, ...) \
|
||||
__builtin___memmove_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)
|
||||
#undef memset
|
||||
/* void *memset(void *b, int c, size_t len) */
|
||||
#define memset(dest, ...) \
|
||||
#if __supports_builtin(__builtin___memset_chk, 0, 0)
|
||||
#define __memset_chk_func(dest, ...) \
|
||||
__builtin___memset_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__)
|
||||
#undef strcpy
|
||||
/* char *strcpy(char *dst, const char *src) */
|
||||
#define strcpy(dest, ...) \
|
||||
__builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 200809L
|
||||
#if __has_builtin(__builtin___stpcpy_chk) || defined(__GNUC__)
|
||||
#undef stpcpy
|
||||
/* char *stpcpy(char *dst, const char *src) */
|
||||
#define stpcpy(dest, ...) \
|
||||
__builtin___stpcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
#endif /* __DARWIN_C_LEVEL >= 200809L */
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 200809L
|
||||
#if __has_builtin(__builtin___stpncpy_chk) || __APPLE_CC__ >= 5666 || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)
|
||||
#undef stpncpy
|
||||
/* char *stpncpy(char *dst, const char *src, size_t n) */
|
||||
#define stpncpy(dest, ...) \
|
||||
#if __supports_builtin(__builtin___stpncpy_chk, 4, 7)
|
||||
#define __stpncpy_chk_func(dest, ...) \
|
||||
__builtin___stpncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
#endif /* _DARWIN_C_LEVEL >= 200809L */
|
||||
|
||||
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
|
||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 || \
|
||||
defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
|
||||
#if __has_builtin(__builtin___strlcpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
|
||||
#undef strlcpy
|
||||
/* size_t strlcpy(char *dst, const char *source, size_t size) */
|
||||
#define strlcpy(dest, ...) \
|
||||
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___strlcat_chk) && __HAS_FIXED_CHK_PROTOTYPES
|
||||
#undef strlcat
|
||||
/* size_t strlcat(char *dst, const char *source, size_t size) */
|
||||
#define strlcat(dest, ...) \
|
||||
__builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 */
|
||||
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
|
||||
|
||||
#if __has_builtin(__builtin___strncpy_chk) || defined(__GNUC__)
|
||||
#undef strncpy
|
||||
/* char *strncpy(char *dst, const char *src, size_t n) */
|
||||
#define strncpy(dest, ...) \
|
||||
#if __supports_builtin(__builtin___strncpy_chk, 0, 0)
|
||||
#define __strncpy_chk_func(dest, ...) \
|
||||
__builtin___strncpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__)
|
||||
#undef strcat
|
||||
/* char *strcat(char *s1, const char *s2) */
|
||||
#define strcat(dest, ...) \
|
||||
#if __is_modern_darwin(70000, 1090)
|
||||
|
||||
#if __supports_builtin(__builtin___strlcpy_chk, 0, 0)
|
||||
#define __strlcpy_chk_func(dest, ...) \
|
||||
__builtin___strlcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __supports_builtin(__builtin___strlcat_chk, 0, 0)
|
||||
#define __strlcat_chk_func(dest, ...) \
|
||||
__builtin___strlcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __supports_builtin(__builtin___memccpy_chk, 10, 0)
|
||||
#define __memccpy_chk_func(dest, ...) \
|
||||
__builtin___memccpy_chk (dest, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#endif
|
||||
|
||||
#endif /* __is_modern_darwin(70000, 1090) */
|
||||
|
||||
|
||||
#if __supports_builtin(__builtin___strcpy_chk, 0, 0)
|
||||
#define __strcpy_chk_func(dest, ...) \
|
||||
__builtin___strcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __supports_builtin(__builtin___stpcpy_chk, 0, 0)
|
||||
#define __stpcpy_chk_func(dest, ...) \
|
||||
__builtin___stpcpy_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if __supports_builtin(__builtin___strcat_chk, 0, 0)
|
||||
#define __strcat_chk_func(dest, ...) \
|
||||
__builtin___strcat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
|
||||
#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)
|
||||
#if __has_builtin(__builtin___strncat_chk) || defined(__GNUC__)
|
||||
#undef strncat
|
||||
/* char *strncat(char *s1, const char *s2, size_t n) */
|
||||
#define strncat(dest, ...) \
|
||||
#if __supports_builtin(__builtin___strncat_chk, 0, 0)
|
||||
#define __strncat_chk_func(dest, ...) \
|
||||
__builtin___strncat_chk (dest, __VA_ARGS__, __darwin_obsz (dest))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef __HAS_FIXED_CHK_PROTOTYPES
|
||||
|
||||
#undef __supports_builtin
|
||||
#undef __is_gcc
|
||||
|
||||
#endif /* defined(__has_ptrcheck) && __has_ptrcheck */
|
||||
|
||||
#undef __is_modern_darwin
|
||||
|
||||
/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
|
||||
strncpy, stpncpy, strcat, strlcat, and strncat */
|
||||
|
||||
/* The use of .../__VA_ARGS__ is load-bearing. If the macros take fixed
|
||||
* arguments, they are unable to themselves accept macros that expand to
|
||||
* multiple arguments, like this:
|
||||
* #define memcpy(a, b, c) ...
|
||||
* #define FOO(data) get_bytes(data), get_length(data)
|
||||
* memcpy(bar, FOO(d));
|
||||
* This will fail because the preprocessor only sees two arguments on the first
|
||||
* expansion of memcpy, when 3 are required.
|
||||
* This is also required to support syntaxes that embed commas. The preprocessor
|
||||
* recognizes parentheses for the isolation of arguments but not brackets. This
|
||||
* expands to 3 arguments:
|
||||
* strcpy(destination, [NSString stringWithFormat:@"%i", 4].UTF8String);
|
||||
* ^ ^ ^
|
||||
* |destination | |
|
||||
* |[NSString stringWithFormat:@"%i" |
|
||||
* |4].UTF8String
|
||||
* This expands to 4 arguments:
|
||||
* memcpy(destination, (uint8_t[]) { 1, 2 }, 2);
|
||||
* ^ ^ ^ ^
|
||||
* To work correctly under these hostile circumstances, chk_func macros
|
||||
* need to expand to a bare identifier (like #define memcpy_chk_func __memcpy)
|
||||
* or to a macro that also takes variadic arguments.
|
||||
*/
|
||||
|
||||
#ifdef __memccpy_chk_func
|
||||
#undef memccpy
|
||||
#define memccpy(...) __memccpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __memcpy_chk_func
|
||||
#undef memcpy
|
||||
#define memcpy(...) __memcpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __memmove_chk_func
|
||||
#undef memmove
|
||||
#define memmove(...) __memmove_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __memset_chk_func
|
||||
#undef memset
|
||||
#define memset(...) __memset_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__strcpy_chk_func)
|
||||
#undef strcpy
|
||||
#define strcpy(...) __strcpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__strcat_chk_func)
|
||||
#undef strcat
|
||||
#define strcat(...) __strcat_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__strncpy_chk_func)
|
||||
#undef strncpy
|
||||
#define strncpy(...) __strncpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__strncat_chk_func)
|
||||
#undef strncat
|
||||
#define strncat(...) __strncat_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 200809L
|
||||
|
||||
#if defined(__stpcpy_chk_func)
|
||||
#undef stpcpy
|
||||
#define stpcpy(...) __stpcpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__stpncpy_chk_func)
|
||||
#undef stpncpy
|
||||
#define stpncpy(...) __stpncpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#endif /* __DARWIN_C_LEVEL >= 200809L */
|
||||
|
||||
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
|
||||
#if defined(__strlcpy_chk_func)
|
||||
#undef strlcpy
|
||||
#define strlcpy(...) __strlcpy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(__strlcat_chk_func)
|
||||
#undef strlcat
|
||||
#define strlcat(...) __strlcat_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
|
||||
|
||||
#endif /* _USE_FORTIFY_LEVEL > 0 */
|
||||
|
||||
#endif /* _SECURE__STRING_H_ */
|
||||
|
||||
+45
-8
@@ -39,18 +39,55 @@
|
||||
/* Removed in Issue 7 */
|
||||
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
|
||||
|
||||
#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)
|
||||
#undef bcopy
|
||||
/* void bcopy(const void *src, void *dst, size_t len) */
|
||||
#define bcopy(src, dest, ...) \
|
||||
__builtin___memmove_chk (dest, src, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES
|
||||
|
||||
static inline void
|
||||
__bcopy_ptrcheck(const void *_LIBC_SIZE(__n) __src, void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, size_t __n) {
|
||||
memmove(__dst, __src, __n);
|
||||
}
|
||||
|
||||
static inline void
|
||||
__bzero_ptrcheck(void *const _LIBC_SIZE(__n) __darwin_pass_obsz0 __dst, size_t __n) {
|
||||
memset(__dst, 0, __n);
|
||||
}
|
||||
|
||||
#define __bcopy_chk_func __bcopy_ptrcheck
|
||||
#define __bzero_chk_func __bzero_ptrcheck
|
||||
|
||||
#else
|
||||
|
||||
#ifndef __has_builtin
|
||||
#define __undef__has_builtin
|
||||
#define __has_builtin(x) defined(__GNUC__)
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)
|
||||
#if __has_builtin(__builtin___memmove_chk)
|
||||
#define __bcopy_chk_func(src, dst, ...) \
|
||||
__builtin___memmove_chk(dst, src, __VA_ARGS__, __darwin_obsz0 (dst))
|
||||
#endif
|
||||
|
||||
#if __has_builtin(__builtin___memset_chk)
|
||||
#define __bzero_chk_func(dst, ...) \
|
||||
__builtin___memset_chk(dst, 0, __VA_ARGS__, __darwin_obsz0 (dst))
|
||||
#endif
|
||||
|
||||
#ifdef __undef__has_builtin
|
||||
#undef __undef__has_builtin
|
||||
#undef __has_builtin
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __bcopy_chk_func
|
||||
#undef bcopy
|
||||
/* void bcopy(const void *src, void *dst, size_t len) */
|
||||
#define bcopy(...) __bcopy_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __bzero_chk_func
|
||||
#undef bzero
|
||||
/* void bzero(void *s, size_t n) */
|
||||
#define bzero(dest, ...) \
|
||||
__builtin___memset_chk (dest, 0, __VA_ARGS__, __darwin_obsz0 (dest))
|
||||
#define bzero(...) __bzero_chk_func (__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
-3
@@ -51,9 +51,6 @@ typedef int jmp_buf[_JBLEN];
|
||||
typedef int sigjmp_buf[_JBLEN + 1];
|
||||
|
||||
#elif defined(__arm__) && !defined(__ARM_ARCH_7K__)
|
||||
|
||||
#include <machine/signal.h>
|
||||
|
||||
/*
|
||||
* _JBLEN is number of ints required to save the following:
|
||||
* r4-r8, r10, fp, sp, lr, sig == 10 register_t sized
|
||||
|
||||
+8
-2
@@ -69,6 +69,12 @@ int posix_spawnp(pid_t * __restrict, const char * __restrict,
|
||||
char *const __argv[__restrict],
|
||||
char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0));
|
||||
|
||||
int posix_spawn_file_actions_addchdir(posix_spawn_file_actions_t *,
|
||||
const char * __restrict) __API_AVAILABLE(macos(26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
|
||||
|
||||
int posix_spawn_file_actions_addfchdir(posix_spawn_file_actions_t *,
|
||||
int) __API_AVAILABLE(macos(26.0)) __API_UNAVAILABLE(ios, tvos, watchos, visionos);
|
||||
|
||||
int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos);
|
||||
|
||||
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 *,
|
||||
int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos);
|
||||
|
||||
int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *,
|
||||
const char * __restrict) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos);
|
||||
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);
|
||||
|
||||
int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *,
|
||||
int) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos);
|
||||
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);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
+36
-18
@@ -341,18 +341,6 @@
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140400
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x
|
||||
#else
|
||||
@@ -557,6 +545,24 @@
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180600
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_6(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 190000
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_19_0(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260000
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x
|
||||
#else
|
||||
@@ -857,12 +863,6 @@
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130100
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x
|
||||
#else
|
||||
@@ -983,3 +983,21 @@
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150600
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_6(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 160000
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_16_0(x)
|
||||
#endif
|
||||
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260000
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x) x
|
||||
#else
|
||||
#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@
|
||||
#define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */
|
||||
#define SBC_PRESERVE_GRAFT 0x0020 /* Preserve graft itself until unmount */
|
||||
|
||||
/* Flag values for ungraftdmg */
|
||||
#define UNGRAFTDMG_NOFORCE 0x0000000000000002ULL /* Disallow ungraft if a non-dir vnode inside the graft is in use */
|
||||
|
||||
typedef struct secure_boot_cryptex_args {
|
||||
u_int32_t sbc_version;
|
||||
u_int32_t sbc_4cc;
|
||||
|
||||
+6
-1
@@ -50,9 +50,10 @@
|
||||
#define FSOPT_PACK_INVAL_ATTRS 0x00000008
|
||||
|
||||
|
||||
#define FSOPT_ATTR_CMN_EXTENDED 0x00000020
|
||||
#define FSOPT_ATTR_CMN_EXTENDED 0x00000020
|
||||
#define FSOPT_RETURN_REALDEV 0x00000200
|
||||
#define FSOPT_NOFOLLOW_ANY 0x00000800
|
||||
#define FSOPT_RESOLVE_BENEATH 0x00001000
|
||||
|
||||
/* we currently aren't anywhere near this amount for a valid
|
||||
* fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2
|
||||
@@ -369,6 +370,9 @@ typedef struct vol_capabilities_attr {
|
||||
*
|
||||
* VOL_CAP_INT_PUNCHHOLE: When set, the volume supports the F_PUNCHHOLE
|
||||
* fcntl.
|
||||
*
|
||||
* VOL_CAP_INT_BARRIERFSYNC: When set, the volume supports the F_BARRIERFSYNC
|
||||
* fcntl.
|
||||
*/
|
||||
#define VOL_CAP_INT_SEARCHFS 0x00000001
|
||||
#define VOL_CAP_INT_ATTRLIST 0x00000002
|
||||
@@ -393,6 +397,7 @@ typedef struct vol_capabilities_attr {
|
||||
#define VOL_CAP_INT_RENAME_SECLUDE 0x00200000
|
||||
#define VOL_CAP_INT_ATTRIBUTION_TAG 0x00400000
|
||||
#define VOL_CAP_INT_PUNCHHOLE 0x00800000
|
||||
#define VOL_CAP_INT_BARRIERFSYNC 0x01000000
|
||||
|
||||
typedef struct vol_attributes_attr {
|
||||
attribute_set_t validattr;
|
||||
|
||||
+40
-14
@@ -199,7 +199,16 @@
|
||||
*/
|
||||
#define __exported __attribute__((__visibility__("default")))
|
||||
#define __exported_push _Pragma("GCC visibility push(default)")
|
||||
#ifndef __BUILDING_XNU_LIBRARY__
|
||||
#define __exported_push_hidden _Pragma("GCC visibility push(hidden)")
|
||||
#define __exported_pop _Pragma("GCC visibility pop")
|
||||
#define __exported_hidden __private_extern__
|
||||
#else /* __BUILDING_XNU_LIBRARY__ */
|
||||
/* Don't hide symbols that the might be need to be used from outside */
|
||||
#define __exported_push_hidden
|
||||
#define __exported_pop
|
||||
#define __exported_hidden
|
||||
#endif /* __BUILDING_XNU_LIBRARY__ */
|
||||
|
||||
/* __deprecated causes the compiler to produce a warning when encountering
|
||||
* code using the deprecated functionality.
|
||||
@@ -509,12 +518,14 @@
|
||||
* for plain C (see also <ptrcheck.h>).
|
||||
*
|
||||
* Attribute __unsafe_buffer_usage can be used to label functions that should be
|
||||
* avoided as they may perform or otherwise introduce unsafe buffer
|
||||
* manipulation operations.
|
||||
* avoided as they may perform or otherwise introduce unsafe buffer manipulation
|
||||
* operations. The attribute can also be attached to class/struct fields that
|
||||
* are used in unsafe buffer manipulations.
|
||||
*
|
||||
* Calls to such functions are flagged by -Wunsafe-buffer-usage, similarly to
|
||||
* Calls to attribute annotated functions are flagged by -Wunsafe-buffer-usage, similar to
|
||||
* how unchecked buffer manipulation operations are flagged when observed
|
||||
* by the compiler directly:
|
||||
* by the compiler directly. Similarly, use of and assignment to the struct/class fields
|
||||
* that have the attribute also get flagged by the compiler.
|
||||
*
|
||||
* // An unsafe function that needs to be avoided.
|
||||
* __unsafe_buffer_usage
|
||||
@@ -527,14 +538,30 @@
|
||||
* int array[5];
|
||||
*
|
||||
* // Direct unsafe buffer manipulation through subscript operator:
|
||||
* array[idx] = 3; // warning [-Wunsafe-buffer-usage]
|
||||
* array[idx] = 3; // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage]
|
||||
* // Unsafe buffer manipulation through function foo():
|
||||
* foo(array, 5); // warning [-Wunsafe-buffer-usage]
|
||||
* foo(array, 5); // warning: function introduces unsafe buffer manipulation [-Wunsafe-buffer-usage]
|
||||
* // Checked buffer manipulation, with bounds information automatically
|
||||
* // preserved for the purposes of runtime checks in standard library:
|
||||
* foo(array); // no warning
|
||||
* }
|
||||
*
|
||||
* struct Reader {
|
||||
* // Field involved in unsafe buffer manipulation
|
||||
* __unsafe_buffer_usage
|
||||
* void *ptr;
|
||||
*
|
||||
* __unsafe_buffer_usage
|
||||
* size_t sz, count;
|
||||
* };
|
||||
*
|
||||
* void add_element(Reader rdr, int value) {
|
||||
* if(rdr.count < rdr.sz) { // warning: unsafe buffer access [-Wunsafe-buffer-usage]
|
||||
* rdr.ptr[rdr.count] = value; // warning: unsafe buffer access [-Wunsafe-buffer-usage]
|
||||
* rdr.count++; // warning: unsafe buffer access [-Wunsafe-buffer-usage]
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* While annotating a function as __unsafe_buffer_usage has an effect similar
|
||||
* to annotating it as __deprecated, the __unsafe_buffer_usage attribute
|
||||
* should be used whenever the resulting warning needs to be controlled
|
||||
@@ -542,11 +569,12 @@
|
||||
* don't attempt to achieve bounds safety this way) as opposed to -Wdeprecated
|
||||
* (enabled in most codebases).
|
||||
*
|
||||
* The attribute does NOT suppress -Wunsafe-buffer-usage warnings inside
|
||||
* the function's body; it simply introduces new warnings at each call site
|
||||
* to help the developers avoid the function entirely. Most of the time
|
||||
* it does not make sense to annotate a function as __unsafe_buffer_usage
|
||||
* without providing the users with a safe alternative.
|
||||
* The attribute suppresses all -Wunsafe-buffer-usage warnings inside the
|
||||
* function's body as it is explictly marked as unsafe by the user and
|
||||
* introduces new warnings at each call site to help the developers avoid the
|
||||
* function entirely. Most of the time it does not make sense to annotate a
|
||||
* function as __unsafe_buffer_usage without providing the users with a safe
|
||||
* alternative.
|
||||
*
|
||||
* Pragmas __unsafe_buffer_usage_begin and __unsafe_buffer_usage_end
|
||||
* annotate a range of code as intentionally containing unsafe buffer
|
||||
@@ -560,9 +588,7 @@
|
||||
*
|
||||
* These pragmas are NOT a way to mass-annotate functions with the attribute
|
||||
* __unsafe_buffer_usage. Functions declared within the pragma range
|
||||
* do NOT get annotated automatically. In some rare situations it makes sense
|
||||
* to do all three: put the attribute on the function, put pragmas inside
|
||||
* the body of the function, and put pragmas around some call sites.
|
||||
* do NOT get annotated automatically.
|
||||
*/
|
||||
#if __has_cpp_attribute(clang::unsafe_buffer_usage)
|
||||
#define __has_safe_buffers 1
|
||||
|
||||
+5
-4
@@ -30,10 +30,11 @@
|
||||
#define _SYS_CLONEFILE_H_
|
||||
|
||||
/* Options for clonefile calls */
|
||||
#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */
|
||||
#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */
|
||||
#define CLONE_ACL 0x0004 /* Copy access control lists from source */
|
||||
#define CLONE_NOFOLLOW_ANY 0x0008 /* Don't follow any symbolic links in the path */
|
||||
#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */
|
||||
#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */
|
||||
#define CLONE_ACL 0x0004 /* Copy access control lists from source */
|
||||
#define CLONE_NOFOLLOW_ANY 0x0008 /* Don't follow any symbolic links in the path */
|
||||
#define CLONE_RESOLVE_BENEATH 0x0010 /* path must reside in the hierarchy beneath the starting directory */
|
||||
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
+6
-1
@@ -260,7 +260,12 @@ __END_DECLS
|
||||
|
||||
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
|
||||
#define EQFULL 106 /* Interface output queue is full */
|
||||
#define ELAST 106 /* Must be equal largest errno */
|
||||
#endif
|
||||
|
||||
#define ENOTCAPABLE 107 /* Capabilities insufficient */
|
||||
|
||||
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
|
||||
#define ELAST 107 /* Must be equal largest errno */
|
||||
#endif
|
||||
|
||||
#endif /* _SYS_ERRNO_H_ */
|
||||
|
||||
+7
-11
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2022 Apple Inc. All rights reserved.
|
||||
* Copyright (c) 2000-2025 Apple Inc. All rights reserved.
|
||||
*
|
||||
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
|
||||
*
|
||||
@@ -126,6 +126,7 @@
|
||||
#define O_TRUNC 0x00000400 /* truncate to zero length */
|
||||
#define O_EXCL 0x00000800 /* error if already exists */
|
||||
#define O_RESOLVE_BENEATH 0x00001000 /* only for open(2), same value as FMARK */
|
||||
#define O_UNIQUE 0x00002000 /* only for open(2), same value as FDEFER */
|
||||
|
||||
|
||||
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
|
||||
@@ -181,6 +182,8 @@
|
||||
#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */
|
||||
#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */
|
||||
#define AT_SYMLINK_NOFOLLOW_ANY 0x0800 /* Path should not contain any symlinks */
|
||||
#define AT_RESOLVE_BENEATH 0x2000 /* Path must reside in the hierarchy beneath the starting directory */
|
||||
#define AT_NODELETEBUSY 0x4000 /* Don't delete busy files */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -258,10 +261,8 @@
|
||||
#define F_THAW_FS 54 /* "thaw" all fs operations */
|
||||
#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */
|
||||
|
||||
|
||||
#define F_ADDSIGS 59 /* add detached signatures */
|
||||
|
||||
|
||||
#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */
|
||||
|
||||
#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */
|
||||
@@ -282,7 +283,6 @@
|
||||
|
||||
/* See F_DUPFD_CLOEXEC below for 67 */
|
||||
|
||||
|
||||
#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */
|
||||
#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */
|
||||
|
||||
@@ -300,10 +300,8 @@
|
||||
|
||||
#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */
|
||||
|
||||
|
||||
#define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */
|
||||
|
||||
|
||||
#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */
|
||||
|
||||
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
|
||||
@@ -314,7 +312,6 @@
|
||||
#define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */
|
||||
#endif
|
||||
|
||||
|
||||
#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */
|
||||
#define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */
|
||||
|
||||
@@ -335,10 +332,10 @@
|
||||
|
||||
#define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2))
|
||||
|
||||
|
||||
#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */
|
||||
|
||||
#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */
|
||||
#define F_NOCACHE_EXT 112 /* turn data caching off/on for this fd and relax size and alignment restrictions for write */
|
||||
|
||||
#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */
|
||||
|
||||
@@ -359,7 +356,6 @@
|
||||
#define F_UNLCK 2 /* unlock */
|
||||
#define F_WRLCK 3 /* exclusive or write lock */
|
||||
|
||||
|
||||
/*
|
||||
* [XSI] The values used for l_whence shall be defined as described
|
||||
* in <unistd.h>
|
||||
@@ -409,6 +405,7 @@ struct flocktimeout {
|
||||
struct flock fl; /* flock passed for file locking */
|
||||
struct timespec timeout; /* timespec struct for timeout */
|
||||
};
|
||||
|
||||
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
|
||||
|
||||
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
|
||||
@@ -521,7 +518,6 @@ typedef struct fspecread {
|
||||
off_t fsr_length; /* IN: size of the region */
|
||||
} fspecread_t;
|
||||
|
||||
|
||||
/* fattributiontag_t used by F_ATTRIBUTION_TAG */
|
||||
#define ATTRIBUTION_NAME_MAX 255
|
||||
typedef struct fattributiontag {
|
||||
@@ -573,7 +569,6 @@ struct log2phys {
|
||||
#define O_POPUP 0x80000000 /* force window to popup on open */
|
||||
#define O_ALERT 0x20000000 /* small, clean popup window */
|
||||
|
||||
|
||||
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
|
||||
|
||||
|
||||
@@ -628,4 +623,5 @@ int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_ST
|
||||
#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
|
||||
__END_DECLS
|
||||
|
||||
|
||||
#endif /* !_SYS_FCNTL_H_ */
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2004, 2012-2016 Apple Inc. All rights reserved.
|
||||
* Copyright (c) 2000-2004, 2012-2025 Apple Inc. All rights reserved.
|
||||
*
|
||||
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
|
||||
*
|
||||
|
||||
+4
-2
@@ -384,7 +384,8 @@ struct netfs_status {
|
||||
#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */
|
||||
#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */
|
||||
#define VQ_PURGEABLE_SPACE_CHANGE 0x10000 /* purgeable disk space has significantly changed */
|
||||
#define VQ_FLAG20000 0x20000 /* placeholder */
|
||||
#define VQ_IDLE_PURGE_NOTIFY 0x20000 /* Above nearlowdisk and below desired disk space */
|
||||
#define VQ_FLAG40000 0x40000 /* placeholder */
|
||||
|
||||
|
||||
|
||||
@@ -413,7 +414,7 @@ OS_ENUM(graftdmg_type, uint32_t,
|
||||
GRAFTDMG_CRYPTEX_BOOT = 1,
|
||||
GRAFTDMG_CRYPTEX_PREBOOT = 2,
|
||||
GRAFTDMG_CRYPTEX_DOWNLEVEL = 3,
|
||||
// Reserved: CRYPTEX1_AUTH_ENV_GENERIC = 4,
|
||||
GRAFTDMG_CRYPTEX_AUTH_ENV_GENERIC = 4,
|
||||
// Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5,
|
||||
GRAFTDMG_CRYPTEX_PDI_NONCE = 6,
|
||||
GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,
|
||||
@@ -459,6 +460,7 @@ int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs);
|
||||
int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA);
|
||||
#endif /* !__DARWIN_ONLY_64_BIT_INO_T */
|
||||
int unmount(const char *, int);
|
||||
int funmount(int, int) __OSX_AVAILABLE(16.0) __IOS_AVAILABLE(19.0) __TVOS_AVAILABLE(19.0) __WATCHOS_AVAILABLE(12.0);
|
||||
int getvfsbyname(const char *, struct vfsconf *);
|
||||
__END_DECLS
|
||||
|
||||
|
||||
+11
@@ -40,5 +40,16 @@
|
||||
#define _PATH_RSRCNAME "rsrc"
|
||||
#define _PATH_RSRCFORKSPEC "/..namedfork/rsrc"
|
||||
|
||||
/* Prefix Path Namespace */
|
||||
#define RESOLVE_NOFOLLOW_ANY 0x00000001 /* no symlinks allowed in path */
|
||||
#define RESOLVE_NODOTDOT 0x00000002 /* prevent '..' path traversal */
|
||||
#define RESOLVE_LOCAL 0x00000004 /* prevent a path lookup into a network filesystem */
|
||||
#define RESOLVE_NODEVFS 0x00000008 /* prevent a path lookup into `devfs` filesystem */
|
||||
#define RESOLVE_IMMOVABLE 0x00000010 /* prevent a path lookup into a removable filesystem */
|
||||
#define RESOLVE_UNIQUE 0x00000020 /* prevent a path lookup on a vnode with multiple links */
|
||||
#define RESOLVE_NOXATTRS 0x00000040 /* prevent a path lookup on named streams */
|
||||
|
||||
#define RESOLVE_VALIDMASK 0x0000007F
|
||||
|
||||
#endif /* __APPLE_API_PRIVATE */
|
||||
#endif /* !_SYS_PATHS_H_ */
|
||||
|
||||
+1
@@ -86,6 +86,7 @@
|
||||
struct session;
|
||||
struct pgrp;
|
||||
struct proc;
|
||||
struct proc_ident;
|
||||
|
||||
/* Exported fields for kern sysctls */
|
||||
struct extern_proc {
|
||||
|
||||
@@ -349,6 +349,11 @@ struct proc_threadwithpathinfo {
|
||||
struct vnode_info_path pvip;
|
||||
};
|
||||
|
||||
struct proc_archinfo {
|
||||
cpu_type_t p_cputype;
|
||||
cpu_subtype_t p_cpusubtype;
|
||||
};
|
||||
|
||||
/*
|
||||
* Socket
|
||||
*/
|
||||
@@ -758,6 +763,9 @@ struct channel_fdinfo {
|
||||
#define PROC_PID_RUSAGE 16
|
||||
#define PROC_PID_RUSAGE_SIZE 0
|
||||
|
||||
#define PROC_PIDARCHINFO 19
|
||||
#define PROC_PIDARCHINFO_SIZE (sizeof(struct proc_archinfo))
|
||||
|
||||
/* Flavors for proc_pidfdinfo */
|
||||
|
||||
#define PROC_PIDFDVNODEINFO 1
|
||||
|
||||
@@ -514,6 +514,7 @@ struct proc_rlimit_control_wakeupmon {
|
||||
#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8
|
||||
#define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9
|
||||
#define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10
|
||||
#define IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS 14
|
||||
|
||||
/* scope */
|
||||
#define IOPOL_SCOPE_PROCESS 0
|
||||
@@ -564,6 +565,9 @@ struct proc_rlimit_control_wakeupmon {
|
||||
#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0
|
||||
#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON 1
|
||||
|
||||
#define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_OFF 0
|
||||
#define IOPOL_VFS_ENTITLED_RESERVE_ACCESS_ON 1
|
||||
|
||||
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
|
||||
|
||||
|
||||
|
||||
+1
@@ -164,6 +164,7 @@ union sigval {
|
||||
#define SIGEV_NONE 0 /* No async notification */
|
||||
#define SIGEV_SIGNAL 1 /* aio - completion notification */
|
||||
#define SIGEV_THREAD 3 /* [NOTIMP] [RTS] call notification function */
|
||||
#define SIGEV_KEVENT 4 /* Generate a kevent */
|
||||
|
||||
struct sigevent {
|
||||
int sigev_notify; /* Notification type */
|
||||
|
||||
+1
@@ -37,6 +37,7 @@
|
||||
#define RENAME_EXCL 0x00000004
|
||||
#define RENAME_RESERVED1 0x00000008
|
||||
#define RENAME_NOFOLLOW_ANY 0x00000010
|
||||
#define RENAME_RESOLVE_BENEATH 0x00000020
|
||||
#endif
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 200809L
|
||||
|
||||
+2
-1
@@ -154,7 +154,8 @@ struct ctlname {
|
||||
#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */
|
||||
#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */
|
||||
#define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */
|
||||
#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows writing w/ the trial experiment entitlement. */
|
||||
#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows read/write w/ the trial experiment entitlement. */
|
||||
#define CTLFLAG_LEGACY_EXPERIMENT 0x00080000 /* Allows writing w/ the legacy trial experiment entitlement. */
|
||||
|
||||
/*
|
||||
* USE THIS instead of a hardwired number from the categories below
|
||||
|
||||
+14
-4
@@ -72,7 +72,15 @@
|
||||
#include <_types.h>
|
||||
#include <sys/unistd.h>
|
||||
#include <Availability.h>
|
||||
#define _LIBC_COUNT__PATH_MAX _LIBC_UNSAFE_INDEXABLE
|
||||
#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
|
||||
#if defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck
|
||||
/* required for bounds annotations, but pollutes namespace */
|
||||
#include <sys/syslimits.h>
|
||||
#undef _LIBC_COUNT__PATH_MAX
|
||||
#define _LIBC_COUNT__PATH_MAX _LIBC_COUNT_OR_NULL(PATH_MAX)
|
||||
#endif /* defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck */
|
||||
#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
|
||||
#include <sys/_types/_gid_t.h>
|
||||
#include <sys/_types/_intptr_t.h>
|
||||
#include <sys/_types/_off_t.h>
|
||||
@@ -517,8 +525,6 @@ extern int optind, opterr, optopt;
|
||||
__END_DECLS
|
||||
#endif /* __DARWIN_C_LEVEL >= 199209L */
|
||||
|
||||
|
||||
|
||||
/* Additional functionality provided by:
|
||||
* POSIX.1c-1995,
|
||||
* POSIX.1i-1995,
|
||||
@@ -526,7 +532,6 @@ __END_DECLS
|
||||
*/
|
||||
|
||||
#if __DARWIN_C_LEVEL >= 199506L
|
||||
#include <_ctermid.h>
|
||||
/* These F_* are really XSI or Issue 6 */
|
||||
#define F_ULOCK 0 /* unlock locked section */
|
||||
#define F_LOCK 1 /* lock a section for exclusive use */
|
||||
@@ -536,6 +541,11 @@ __END_DECLS
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Begin XSI */
|
||||
/* Removed in Issue 7 */
|
||||
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
|
||||
#include <_ctermid.h>
|
||||
#endif
|
||||
|
||||
/* Removed in Issue 6 */
|
||||
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
|
||||
#if !defined(_POSIX_C_SOURCE)
|
||||
@@ -565,7 +575,7 @@ char *_LIBC_CSTR getpass(const char *) __POSIX_C_DEPRECATED(199506L);
|
||||
|
||||
/* Removed in Issue 7 */
|
||||
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
|
||||
char *_LIBC_CSTR getwd(char *_LIBC_COUNT_OR_NULL(PATH_MAX)) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
|
||||
char *_LIBC_CSTR getwd(char *_LIBC_COUNT__PATH_MAX) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
|
||||
#endif
|
||||
|
||||
int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);
|
||||
|
||||
+4
@@ -93,8 +93,10 @@ __BEGIN_DECLS
|
||||
#if defined(__XPC_TEST__) && __XPC_TEST__
|
||||
#define XPC_TESTSTATIC
|
||||
#define XPC_TESTEXTERN extern
|
||||
#define XPC_TESTNORETURN
|
||||
#else // defined(__XPC_TEST__) && __XPC_TEST__
|
||||
#define XPC_TESTSTATIC static
|
||||
#define XPC_TESTNORETURN XPC_NORETURN
|
||||
#endif // defined(__XPC_TEST__) && __XPC_TEST__
|
||||
|
||||
#if __has_feature(objc_arc)
|
||||
@@ -242,6 +244,8 @@ __BEGIN_DECLS
|
||||
#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg)
|
||||
#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module")
|
||||
|
||||
#define XPC_SWIFT_SENDABLE __attribute__((__swift_attr__("@Sendable")))
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif // __XPC_BASE_H__
|
||||
|
||||
+37
-13
@@ -141,8 +141,8 @@ typedef void (*xpc_finalizer_t)(void * _Nullable value);
|
||||
* The GCD queue to which the event handler block will be submitted. This
|
||||
* parameter may be NULL, in which case the connection's target queue will be
|
||||
* libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
|
||||
* The target queue may be changed later with a call to
|
||||
* xpc_connection_set_target_queue().
|
||||
* The target queue may be changed prior to the connection being activated with
|
||||
* a call to xpc_connection_set_target_queue().
|
||||
*
|
||||
* @result
|
||||
* A new connection object. The caller is responsible for disposing of the
|
||||
@@ -178,8 +178,8 @@ xpc_connection_create(const char * _Nullable name,
|
||||
* The GCD queue to which the event handler block will be submitted. This
|
||||
* parameter may be NULL, in which case the connection's target queue will be
|
||||
* libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
|
||||
* The target queue may be changed later with a call to
|
||||
* xpc_connection_set_target_queue().
|
||||
* The target queue may be changed prior to the connection being activated with
|
||||
* a call to xpc_connection_set_target_queue().
|
||||
*
|
||||
* @param flags
|
||||
* Additional attributes with which to create the connection.
|
||||
@@ -240,14 +240,11 @@ xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint);
|
||||
* libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
|
||||
*
|
||||
* @discussion
|
||||
* Setting the target queue is asynchronous and non-preemptive and therefore
|
||||
* this method will not interrupt the execution of an already-running event
|
||||
* handler block. Setting the target queue may be likened to issuing a barrier
|
||||
* to the connection which does the actual work of changing the target queue.
|
||||
* Once a connection is activated, this method may no longer be called and the
|
||||
* target queue may no longer be updated.
|
||||
*
|
||||
* The XPC runtime guarantees this non-preemptiveness even for concurrent target
|
||||
* queues. If the target queue is a concurrent queue, then XPC still guarantees
|
||||
* that there will never be more than one invocation of the connection's event
|
||||
* Even if the target queue is a concurrent queue, XPC still guarantees that
|
||||
* there will never be more than one invocation of the connection's event
|
||||
* handler block executing concurrently. If you wish to process events
|
||||
* concurrently, you can dispatch_async(3) to a concurrent queue from within
|
||||
* the event handler.
|
||||
@@ -330,7 +327,7 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
|
||||
XPC_EXPORT XPC_NONNULL_ALL
|
||||
void
|
||||
xpc_connection_set_event_handler(xpc_connection_t connection,
|
||||
xpc_handler_t handler);
|
||||
XPC_SWIFT_SENDABLE xpc_handler_t handler);
|
||||
|
||||
/*!
|
||||
* @function xpc_connection_activate
|
||||
@@ -534,7 +531,7 @@ XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4
|
||||
void
|
||||
xpc_connection_send_message_with_reply(xpc_connection_t connection,
|
||||
xpc_object_t message, dispatch_queue_t _Nullable replyq,
|
||||
xpc_handler_t handler);
|
||||
XPC_SWIFT_SENDABLE xpc_handler_t handler);
|
||||
|
||||
/*!
|
||||
* @function xpc_connection_send_message_with_reply_sync
|
||||
@@ -983,6 +980,33 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
|
||||
int
|
||||
xpc_connection_set_peer_lightweight_code_requirement(xpc_connection_t connection, xpc_object_t lwcr);
|
||||
|
||||
/*!
|
||||
* @function xpc_connection_set_peer_requirement
|
||||
* Requires that the connection peer has the specified requirement
|
||||
*
|
||||
* @param connection
|
||||
* The connection object which is to be modified
|
||||
*
|
||||
* @param peer_requirement
|
||||
* The requirement the peer must have
|
||||
* It is safe to deallocate the peer requirement after calling `xpc_connection_set_peer_requirement`
|
||||
*
|
||||
* @discussion
|
||||
* It is a programming error to call multiple of the `xpc_connection_set_peer_*_requirement` family of functions on the same
|
||||
* connection. If more complex combinations of requirements are required, use lightweight code requirement.
|
||||
*
|
||||
* All messages received on this connection will be checked to ensure that they come from a peer who satisfies the
|
||||
* requirement. For a listener connection, requests that do not satisfy the requirement are dropped. When a reply
|
||||
* is expected on the connection and the peer does not satisfy the requirement `XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT`
|
||||
* will be delivered instead of the reply.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
|
||||
void
|
||||
xpc_connection_set_peer_requirement(xpc_connection_t connection,
|
||||
xpc_peer_requirement_t peer_requirement);
|
||||
|
||||
/*!
|
||||
* @function xpc_connection_copy_invalidation_reason
|
||||
* Returns a description of why the connection was invalidated.
|
||||
|
||||
+36
-7
@@ -24,7 +24,7 @@ __BEGIN_DECLS
|
||||
* connect to the server
|
||||
*
|
||||
*/
|
||||
OS_OBJECT_DECL_CLASS(xpc_listener);
|
||||
OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener);
|
||||
|
||||
#pragma mark Constants
|
||||
/*!
|
||||
@@ -202,19 +202,22 @@ xpc_listener_reject_peer(xpc_session_t peer, const char *reason);
|
||||
* The listener object which is to be modified.
|
||||
*
|
||||
* @param requirement
|
||||
* The code signing requirement to be satisfied by the peer
|
||||
* It is safe to deallocate the requirement string after calling `xpc_listener_set_peer_code_signing_requirement`
|
||||
* The code signing requirement to be satisfied by the peer. It is safe to
|
||||
* deallocate the requirement string after calling this function.
|
||||
*
|
||||
* @result
|
||||
* 0 on success, non-zero on error
|
||||
*
|
||||
* @discussion
|
||||
* This function will return an error promptly if the code signing requirement string is invalid.
|
||||
* This function will return an error promptly if the code signing requirement
|
||||
* string is invalid.
|
||||
*
|
||||
* It is a programming error to call `xpc_listener_set_peer_code_signing_requirement` more than once per listener.
|
||||
* It is a programming error to call `xpc_listener_set_peer_*requirement` more
|
||||
* than once per listener.
|
||||
*
|
||||
* All messages received on this listener will be checked to ensure they come from a peer who satisfies
|
||||
* the code signing requirement. Requests that do not satisfy the requirement are dropped.
|
||||
* All messages received on this listener will be checked to ensure they come
|
||||
* from a peer who satisfies the code signing requirement. Requests that do not
|
||||
* satisfy the requirement are dropped.
|
||||
*
|
||||
* @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
|
||||
*/
|
||||
@@ -224,6 +227,32 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
|
||||
int
|
||||
xpc_listener_set_peer_code_signing_requirement(xpc_listener_t listener, const char *requirement);
|
||||
|
||||
/*!
|
||||
* @function xpc_listener_set_peer_requirement
|
||||
* Requires that the listener peer satisfies a requirement.
|
||||
*
|
||||
* @param listener
|
||||
* The listener object which is to be modified. Must be inactive.
|
||||
*
|
||||
* @param requirement
|
||||
* The requirement to be satisfied by the peer. It will be retained by XPC.
|
||||
*
|
||||
* @discussion
|
||||
* It is a programming error to call `xpc_listener_set_peer_*requirement` more
|
||||
* than once per listener.
|
||||
*
|
||||
* All messages received on this listener will be checked to ensure they come
|
||||
* from a peer who satisfies the code signing requirement. Requests that do not
|
||||
* satisfy the requirement are dropped.
|
||||
*
|
||||
* Peer sessions created from the listener do not inherit the requirement.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
|
||||
void
|
||||
xpc_listener_set_peer_requirement(xpc_listener_t listener, xpc_peer_requirement_t requirement);
|
||||
|
||||
__END_DECLS
|
||||
XPC_ASSUME_NONNULL_END
|
||||
|
||||
|
||||
@@ -0,0 +1,242 @@
|
||||
#ifndef __XPC_PEER_REQ_H__
|
||||
#define __XPC_PEER_REQ_H__
|
||||
|
||||
#ifndef __XPC_INDIRECT__
|
||||
#error "Please #include <xpc/xpc.h> instead of this file directly."
|
||||
// For HeaderDoc.
|
||||
#include <xpc/base.h>
|
||||
#endif // __XPC_INDIRECT__
|
||||
|
||||
XPC_ASSUME_NONNULL_BEGIN
|
||||
__BEGIN_DECLS
|
||||
|
||||
XPC_SWIFT_NOEXPORT
|
||||
/*!
|
||||
* @typedef xpc_peer_requirement_t
|
||||
*
|
||||
* @abstract
|
||||
* XPC peer requirement is an abstract type that represents a validated
|
||||
* requirement on peers.
|
||||
*
|
||||
* @discussion
|
||||
* Users can specify a requirement via `xpc_peer_requirement_create_*` API.
|
||||
* These constructors will return a non-null xpc_peer_requirement_t if the
|
||||
* requirement is valid. Users can set a xpc_peer_requirement_t on connections,
|
||||
* sessions or listeners using one of `xpc_*_set_peer_requirement` API.
|
||||
*
|
||||
* xpc_peer_requirement_t is reference counted and concurrency-safe. One
|
||||
* xpc_peer_requirement_t can be shared among multiple connections, sessions
|
||||
* or listeners.
|
||||
*/
|
||||
OS_OBJECT_DECL_CLASS(xpc_peer_requirement);
|
||||
|
||||
#pragma mark Constructors
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_create_entitlement_exists
|
||||
* Create a requirement that the peer has the specified entitlement
|
||||
*
|
||||
* @param entitlement
|
||||
* The entitlement the peer must have. It is safe to deallocate the entitlement
|
||||
* string after calling this function.
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On success this returns a new peer requirement object. On failure this will
|
||||
* return NULL and if set, error_out will be set to an error describing the
|
||||
* failure.
|
||||
*
|
||||
* @discussion
|
||||
* This function will return NULL promptly if the entitlement requirement is
|
||||
* invalid.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
|
||||
xpc_peer_requirement_t _Nullable
|
||||
xpc_peer_requirement_create_entitlement_exists(const char *entitlement,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_create_entitlement_matches_value
|
||||
* Create a requirement that the peer has the entitlement with matching value
|
||||
*
|
||||
* @param entitlement
|
||||
* The entitlement the peer must have. It is safe to deallocate the entitlement
|
||||
* string after calling this function.
|
||||
*
|
||||
* @param value
|
||||
* The value that the entitlement must match. It is safe to deallocate the value
|
||||
* object after calling this function. Valid xpc types for this object are
|
||||
* `XPC_TYPE_BOOL`, `XPC_TYPE_STRING` and `XPC_TYPE_INT64`.
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On success this returns a new peer requirement object. On failure this will
|
||||
* return NULL and if set, error_out will be set to an error describing the
|
||||
* failure.
|
||||
*
|
||||
* @discussion
|
||||
* This function will return NULL promptly if the entitlement requirement is
|
||||
* invalid.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
|
||||
xpc_peer_requirement_t _Nullable
|
||||
xpc_peer_requirement_create_entitlement_matches_value(const char *entitlement,
|
||||
xpc_object_t value,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_create_team_identity
|
||||
* Create a requirement that the peer has the specified identity and is signed
|
||||
* with the same team identifier as the current process
|
||||
*
|
||||
* @param signing_identifier
|
||||
* The optional signing identifier the peer must have. It is safe to deallocate
|
||||
* the signing identifier string after calling this function.
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On success this returns a new peer requirement object. On failure this will
|
||||
* return NULL and if set, error_out will be set to an error describing the
|
||||
* failure.
|
||||
*
|
||||
* @discussion
|
||||
* This function will return NULL promptly if the identity requirement is
|
||||
* invalid.
|
||||
*
|
||||
* The peer process must be signed as either a Testflight app or an App store
|
||||
* app, or be signed by an apple issued development certificate, an enterprise
|
||||
* distributed certificate (embedded only), or a Developer ID certificate (macOS
|
||||
* only)
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
|
||||
xpc_peer_requirement_t _Nullable
|
||||
xpc_peer_requirement_create_team_identity(
|
||||
const char * _Nullable signing_identifier,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_create_platform_identity
|
||||
* Create a requirement that the peer has the specified identity and is from
|
||||
* platform binary.
|
||||
*
|
||||
* @param signing_identifier
|
||||
* The optional signing identifier the peer must have. If not specified, this
|
||||
* function ensures that the peer process' executable is a platform binary. It
|
||||
* is safe to deallocate the signing identifier string after calling this
|
||||
* function.
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On success this returns a new peer requirement object. On failure this will
|
||||
* return NULL and if set, error_out will be set to an error describing the
|
||||
* failure.
|
||||
*
|
||||
* @discussion
|
||||
* This function will return NULL promptly if the identity requirement is
|
||||
* invalid.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
|
||||
xpc_peer_requirement_t _Nullable
|
||||
xpc_peer_requirement_create_platform_identity(
|
||||
const char * _Nullable signing_identifier,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_create_lwcr
|
||||
* Create a requirement that the peer has the specified lightweight code requirement
|
||||
*
|
||||
* @param lwcr
|
||||
* The lightweight code requirement the peer must have. It is safe to deallocate
|
||||
* the lightweight code requirement object after calling this function.
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On success this returns a new peer requirement object. On failure this will
|
||||
* return NULL and if set, error_out will be set to an error describing the
|
||||
* failure.
|
||||
*
|
||||
* @discussion
|
||||
* This function will return NULL promptly if the lightweight code requirement
|
||||
* is invalid.
|
||||
*
|
||||
* The lightweight code requirement must be an `xpc_dictionary_t` equivalent of
|
||||
* an LWCR constraint (see
|
||||
* https://developer.apple.com/documentation/security/defining_launch_environment_and_library_constraints
|
||||
* for details on the contents of the dictionary)
|
||||
*
|
||||
* The lightweight code requirement in the example below uses the $or operator
|
||||
* to require that an executable’s either signed with the Team ID 8XCUU22SN2, or
|
||||
* is an operating system executable:
|
||||
* ```c
|
||||
* xpc_object_t or_val = xpc_dictionary_create_empty();
|
||||
* xpc_dictionary_set_string(or_val, "team-identifier", "8XCUU22SN2");
|
||||
* xpc_dictionary_set_int64(or_val, "validation-category", 1);
|
||||
*
|
||||
* xpc_object_t lwcr = xpc_dictionary_create_empty();
|
||||
* xpc_dictionary_set_value(lwcr, "$or", or_val);
|
||||
*
|
||||
* xpc_peer_requirement_t req = xpc_peer_requirement_create_lwcr(lwcr, NULL);
|
||||
* ```
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED
|
||||
xpc_peer_requirement_t _Nullable
|
||||
xpc_peer_requirement_create_lwcr(xpc_object_t lwcr,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
#pragma mark Matching Peer Requirement on Received Messages
|
||||
|
||||
/*!
|
||||
* @function xpc_peer_requirement_match_received_message
|
||||
* Check the specified requirement against a received message from the peer.
|
||||
*
|
||||
* @param peer_requirement
|
||||
* The requirement the peer must have
|
||||
*
|
||||
* @param message
|
||||
* The received dictionary to be checked
|
||||
*
|
||||
* @param error_out
|
||||
* An out-parameter that, if set and in the event of an error, will point to an
|
||||
* {@link xpc_rich_error_t} describing the details of any errors that occurred.
|
||||
*
|
||||
* @result
|
||||
* On match this returns true. On mismatch or failure this will return false and
|
||||
* if set, error_out will be set to an error describing the failure.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT
|
||||
bool
|
||||
xpc_peer_requirement_match_received_message(xpc_peer_requirement_t peer_requirement,
|
||||
xpc_object_t message,
|
||||
xpc_rich_error_t _Nullable XPC_GIVES_REFERENCE * _Nullable error_out);
|
||||
|
||||
__END_DECLS
|
||||
XPC_ASSUME_NONNULL_END
|
||||
|
||||
#endif
|
||||
+50
-12
@@ -25,8 +25,11 @@ __BEGIN_DECLS
|
||||
* Clients can initiate a session with a service that accepts xpc_connection_t connections but session
|
||||
* semantics will be maintained.
|
||||
*
|
||||
* Sessions can be created in an active or inactive state. They must be
|
||||
* activated and subsequently cancelled before they can be released.
|
||||
*
|
||||
*/
|
||||
OS_OBJECT_DECL_CLASS(xpc_session);
|
||||
OS_OBJECT_DECL_SENDABLE_CLASS(xpc_session);
|
||||
|
||||
#pragma mark Constants
|
||||
/*!
|
||||
@@ -244,8 +247,8 @@ xpc_session_set_target_queue(xpc_session_t session,
|
||||
*
|
||||
* @discussion
|
||||
* xpc_session_activate must not be called on a session that has been already
|
||||
* activated. Releasing the last reference on an inactive session that was
|
||||
* created with an xpc_session_create*() will trigger an API misuse crash.
|
||||
* activated. Releasing the last reference on an inactive session or an
|
||||
* active session that has not been cancelled will trigger an API misuse crash.
|
||||
*
|
||||
* If activation fails, the session is automatically cancelled.
|
||||
*/
|
||||
@@ -266,8 +269,9 @@ xpc_session_activate(xpc_session_t session,
|
||||
* The session object to cancel.
|
||||
*
|
||||
* @discussion
|
||||
* Session must have been activated to be canceled. Cancellation is asynchronous
|
||||
* and non-preemptive.
|
||||
* Session must have been activated to be cancelled and must be cancelled
|
||||
* before the last reference can be released. Cancellation is asynchronous and
|
||||
* non-preemptive.
|
||||
*/
|
||||
API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0))
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT
|
||||
@@ -388,20 +392,26 @@ xpc_session_send_message_with_reply_async(xpc_session_t session,
|
||||
* The session object which is to be modified.
|
||||
*
|
||||
* @param requirement
|
||||
* The code signing requirement to be satisfied by the peer
|
||||
* It is safe to deallocate the requirement string after calling `xpc_session_set_peer_code_signing_requirement`
|
||||
* The code signing requirement to be satisfied by the peer. It is safe to
|
||||
* deallocate the requirement string after calling this function.
|
||||
*
|
||||
* @result
|
||||
* 0 on success, non-zero on error
|
||||
*
|
||||
* @discussion
|
||||
* This function will return an error promptly if the code signing requirement string is invalid.
|
||||
* This function will return an error promptly if the code signing requirement
|
||||
* string is invalid.
|
||||
*
|
||||
* It is a programming error to call `xpc_session_set_peer_code_signing_requirement` more than once per session.
|
||||
* It is a programming error to call `xpc_session_set_peer_*requirement` more
|
||||
* than once per session.
|
||||
*
|
||||
* All messages received on this session will be checked to ensure they come from a peer who satisfies
|
||||
* the code signing requirement. When message or a reply is received on the session and the peer does
|
||||
* not satisfy the requirement the session will be cancelled.
|
||||
* All messages received on this session will be checked to ensure they come
|
||||
* from a peer who satisfies the code signing requirement. When message or a
|
||||
* reply is received on the session and the peer does not satisfy the
|
||||
* requirement the session will be cancelled. A rich error describing the peer
|
||||
* code signing error will be passed to the cancellation handler. For
|
||||
* `xpc_session_send_message_with_reply_*` NULL will be returned instead of
|
||||
* reply, with `error_out` pointing to that rich error.
|
||||
*
|
||||
* @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements
|
||||
*/
|
||||
@@ -411,6 +421,34 @@ XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT
|
||||
int
|
||||
xpc_session_set_peer_code_signing_requirement(xpc_session_t session, const char *requirement);
|
||||
|
||||
/*!
|
||||
* @function xpc_session_set_peer_requirement
|
||||
* Requires that the session peer satisfies a requirement.
|
||||
*
|
||||
* @param session
|
||||
* The session object which is to be modified. Must be inactive.
|
||||
*
|
||||
* @param requirement
|
||||
* The requirement to be satisfied by the peer. It will be retained by XPC.
|
||||
*
|
||||
* @discussion
|
||||
* It is a programming error to call `xpc_session_set_peer_*requirement` more
|
||||
* than once per session.
|
||||
*
|
||||
* All messages received on this session will be checked to ensure they come
|
||||
* from a peer who satisfies the requirement. When a reply is expected on the
|
||||
* session and the peer does not satisfy the requirement, the session will be
|
||||
* canceled with cancellation handler called with a rich error describing the
|
||||
* peer code signing error. For `xpc_session_send_message_with_reply_sync` NULL
|
||||
* will be returned instead of reply, with `error_out` (if set) pointing to the
|
||||
* rich error describing the peer code signing error.
|
||||
*/
|
||||
API_AVAILABLE(macos(26.0), ios(26.0))
|
||||
API_UNAVAILABLE(tvos, watchos)
|
||||
XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_NONNULL_ALL
|
||||
void
|
||||
xpc_session_set_peer_requirement(xpc_session_t session, xpc_peer_requirement_t requirement);
|
||||
|
||||
/* This is included for compatibility and should not be used in new code */
|
||||
#define XPC_TYPE_SESSION (&_xpc_type_session)
|
||||
XPC_EXPORT
|
||||
|
||||
+2
-1
@@ -344,6 +344,7 @@ XPC_ASSUME_NONNULL_END
|
||||
#include <xpc/debug.h>
|
||||
#if __BLOCKS__
|
||||
#include <xpc/activity.h>
|
||||
#include <xpc/peer_requirement.h>
|
||||
#include <xpc/connection.h>
|
||||
#include <xpc/rich_error.h>
|
||||
#include <xpc/session.h>
|
||||
@@ -2771,7 +2772,7 @@ API_UNAVAILABLE(ios)
|
||||
XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3
|
||||
void
|
||||
xpc_set_event_stream_handler(const char *stream,
|
||||
dispatch_queue_t _Nullable targetq, xpc_handler_t handler);
|
||||
dispatch_queue_t _Nullable targetq, XPC_SWIFT_SENDABLE xpc_handler_t handler);
|
||||
#endif // __BLOCKS__
|
||||
|
||||
__END_DECLS
|
||||
|
||||
Reference in New Issue
Block a user