libc: Update macOS headers to SDK 26.1

This commit is contained in:
Linus Groh 2025-11-04 21:40:21 +00:00
parent 459f3b7ede
commit abca5bd588
18 changed files with 282 additions and 194 deletions

View File

@ -1 +1 @@
{"MinimalDisplayName":"26.0"}
{"MinimalDisplayName":"26.1"}

View File

@ -400,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: 1922.0.25
current-version: 1922.40.14
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -417,21 +417,21 @@ exports:
_ccsha256_vng_intel_SupplementalSSE3_di ]
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
symbols: [ _CCEC_FAULT_CANARY, _CCRSA_PKCS1_FAULT_CANARY, _CCRSA_PSS_FAULT_CANARY,
_CCSS_PRIME_P192, _CCSS_PRIME_P224, _CCSS_PRIME_P256, _CCSS_PRIME_P384,
_CCSS_PRIME_P521, _cc_abort, _cc_atfork_child, _cc_atfork_parent,
_cc_atfork_prepare, _cc_clear, _cc_cmp_safe, _cc_impl_name,
_cc_try_abort, _cc_try_abort_if, _ccaes_cbc_decrypt_mode,
_ccaes_cbc_encrypt_mode, _ccaes_ccm_decrypt_mode, _ccaes_ccm_encrypt_mode,
_ccaes_cfb8_decrypt_mode, _ccaes_cfb8_encrypt_mode, _ccaes_cfb_decrypt_mode,
_ccaes_cfb_encrypt_mode, _ccaes_ctr_crypt_mode, _ccaes_ecb_decrypt_mode,
_ccaes_ecb_encrypt_mode, _ccaes_gcm_decrypt_mode, _ccaes_gcm_encrypt_mode,
_ccaes_gladman_cbc_decrypt_mode, _ccaes_gladman_cbc_encrypt_mode,
_ccaes_ltc_ecb_decrypt_mode, _ccaes_ltc_ecb_encrypt_mode,
_ccaes_ofb_crypt_mode, _ccaes_siv_decrypt_mode, _ccaes_siv_encrypt_mode,
_ccaes_siv_hmac_sha256_decrypt_mode, _ccaes_siv_hmac_sha256_encrypt_mode,
_ccaes_unwind, _ccaes_xts_decrypt_mode, _ccaes_xts_encrypt_mode,
_ccansikdf_x963, _ccapsic_client_check_intersect_response,
symbols: [ _CCEC_FAULT_CANARY, _CCMLDSA_FAULT_CANARY, _CCRSA_PKCS1_FAULT_CANARY,
_CCRSA_PSS_FAULT_CANARY, _CCSS_PRIME_P192, _CCSS_PRIME_P224,
_CCSS_PRIME_P256, _CCSS_PRIME_P384, _CCSS_PRIME_P521, _cc_abort,
_cc_atfork_child, _cc_atfork_parent, _cc_atfork_prepare, _cc_clear,
_cc_cmp_safe, _cc_impl_name, _cc_try_abort, _cc_try_abort_if,
_ccaes_cbc_decrypt_mode, _ccaes_cbc_encrypt_mode, _ccaes_ccm_decrypt_mode,
_ccaes_ccm_encrypt_mode, _ccaes_cfb8_decrypt_mode, _ccaes_cfb8_encrypt_mode,
_ccaes_cfb_decrypt_mode, _ccaes_cfb_encrypt_mode, _ccaes_ctr_crypt_mode,
_ccaes_ecb_decrypt_mode, _ccaes_ecb_encrypt_mode, _ccaes_gcm_decrypt_mode,
_ccaes_gcm_encrypt_mode, _ccaes_gladman_cbc_decrypt_mode,
_ccaes_gladman_cbc_encrypt_mode, _ccaes_ltc_ecb_decrypt_mode,
_ccaes_ltc_ecb_encrypt_mode, _ccaes_ofb_crypt_mode, _ccaes_siv_decrypt_mode,
_ccaes_siv_encrypt_mode, _ccaes_siv_hmac_sha256_decrypt_mode,
_ccaes_siv_hmac_sha256_encrypt_mode, _ccaes_unwind, _ccaes_xts_decrypt_mode,
_ccaes_xts_encrypt_mode, _ccansikdf_x963, _ccapsic_client_check_intersect_response,
_ccapsic_client_generate_match_response, _ccapsic_client_init,
_ccapsic_client_state_sizeof, _ccapsic_server_determine_intersection,
_ccapsic_server_encode_element, _ccapsic_server_init, _ccapsic_server_state_sizeof,
@ -650,19 +650,20 @@ exports:
_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,
_ccmldsa_verify_prehashed_with_canary, _ccmldsa_verify_with_canary,
_ccmldsa_verify_with_context, _ccmldsa_verify_with_context_and_canary,
_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,
@ -1116,7 +1117,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: 196.0.1
current-version: 196.40.3
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -1281,7 +1282,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: 1725.0.11
current-version: 1725.40.4
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -1578,7 +1579,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: 1725.0.11
current-version: 1725.40.4
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -1608,7 +1609,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: 1385.0.7
current-version: 1385.40.9
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -1643,8 +1644,8 @@ exports:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMDISPATCHSEAM_DEFAULT, _CMFSSEAM_DEFAULT,
_CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMSANDBOXSEAM_DEFAULT,
_CONTAINER_CLASS_NAMES, _CONTAINER_NOTIFY_GENERATION_INITIAL,
_CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMQUARANTINESEAM_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,
@ -1658,17 +1659,17 @@ exports:
_container_acquire_sandbox_extension, _container_audit_token_copy_codesign_hash,
_container_audit_token_copy_codesign_identifier, _container_audit_token_copy_codesign_team_identifier,
_container_audit_token_copy_entitlement, _container_audit_token_copy_executable_name,
_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_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_audit_token_copy_executable_name_with_pid, _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_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,
@ -1680,7 +1681,7 @@ exports:
_container_client_is_signature_valid, _container_client_is_signed,
_container_client_is_test_client, _container_codesign_copy_cdhash,
_container_codesign_copy_cs_identity, _container_codesign_copy_cs_team_identifier,
_container_codesign_copy_current_identifier, _container_codesign_get_self_audit_token,
_container_codesign_get_current_identifier, _container_codesign_get_self_audit_token,
_container_codesign_get_status, _container_copy_client, _container_copy_code_signing_info_for_identifier,
_container_copy_from_path, _container_copy_info, _container_copy_info_value_for_key,
_container_copy_object, _container_copy_path, _container_copy_persona_unique_strings,
@ -1794,7 +1795,8 @@ exports:
_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_pwd_set_common, _container_seam_quarantine_reset,
_container_seam_quarantine_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,
@ -1831,7 +1833,7 @@ exports:
_container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection,
_container_xpc_shared_copy_connection, _gCMContainerSeam,
_gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam,
_gCMSandboxSeam ]
_gCMQuarantineSeam, _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,
@ -1925,7 +1927,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: 2881.0.25
current-version: 2881.40.18
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -1962,7 +1964,7 @@ exports:
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name: '/usr/lib/system/libsystem_eligibility.dylib'
current-version: 286
current-version: 286.40.9
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: System
@ -2118,7 +2120,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: 12377.1.9
current-version: 12377.41.6
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -2254,7 +2256,7 @@ exports:
_clock_alarm, _clock_alarm_reply, _clock_get_attributes, _clock_get_time,
_clock_set_attributes, _clock_set_time, _clock_sleep, _clock_sleep_trap,
_clonefile, _clonefileat, _close, '_close$NOCANCEL', _coalition_create,
_coalition_info_debug_info, _coalition_info_resource_usage,
_coalition_info_debug_info, _coalition_info_pid_list, _coalition_info_resource_usage,
_coalition_info_set_efficiency, _coalition_info_set_name,
_coalition_ledger_set_logical_writes_limit, _coalition_policy_get,
_coalition_policy_set, _coalition_reap, _coalition_terminate,
@ -2636,7 +2638,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: 3307.0.1
current-version: 3309
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
@ -2858,7 +2860,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: 792.1.1
current-version: 792.41.1
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -2983,11 +2985,12 @@ exports:
_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,
_ne_tracker_build_trie, _ne_tracker_check_info_changed, _ne_tracker_check_is_hostname_blocked,
_ne_tracker_check_tcc, _ne_tracker_clear_cache, _ne_tracker_context_can_block_request,
_ne_session_vod_evaluate_connection_present, _ne_session_vpn_configs_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, _ne_tracker_build_trie, _ne_tracker_check_info_changed,
_ne_tracker_check_is_hostname_blocked, _ne_tracker_check_tcc,
_ne_tracker_clear_cache, _ne_tracker_context_can_block_request,
_ne_tracker_context_get_domain, _ne_tracker_context_get_domain_owner,
_ne_tracker_context_is_from_app_list, _ne_tracker_context_is_from_web_list,
_ne_tracker_copy_current_stacktrace, _ne_tracker_create_xcode_issue,
@ -3024,7 +3027,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: 359.1.2
current-version: 359.40.3
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -3200,7 +3203,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: 2680.0.50
current-version: 2680.41.1
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -3321,7 +3324,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: 168.0.3
current-version: 168.40.2
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -3354,7 +3357,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: 1815.0.16
current-version: 1815.40.20
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -3441,7 +3444,7 @@ exports:
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name: '/usr/lib/system/libsystem_trial.dylib'
current-version: 474
current-version: 474.3
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: System
@ -3484,7 +3487,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: 3089.0.11
current-version: 3089.41.2
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@ -3670,10 +3673,10 @@ exports:
_xpc_binprefs_equal, _xpc_binprefs_init, _xpc_binprefs_is_noop,
_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_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_copy_services, _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,
_xpc_bundle_resolve_sync, _xpc_coalition_copy_info, _xpc_coalition_history_pipe_async,
@ -3752,15 +3755,15 @@ exports:
_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,
_xpc_file_transfer_copy_io, _xpc_file_transfer_create_with_fd,
_xpc_file_transfer_create_with_path, _xpc_file_transfer_get_size,
_xpc_file_transfer_get_transfer_id, _xpc_file_transfer_send_finished,
_xpc_file_transfer_set_transport_writing_callbacks, _xpc_file_transfer_write_finished,
_xpc_file_transfer_write_to_fd, _xpc_file_transfer_write_to_path,
_xpc_generate_audit_token, _xpc_get_attachment_endpoint, _xpc_get_class4NSXPC,
_xpc_get_event_name, _xpc_get_instance, _xpc_get_service_identifier_for_token,
_xpc_exit_reason_get_label, _xpc_extension_type_init, _xpc_fd_create,
_xpc_fd_dup, _xpc_file_transfer_cancel, _xpc_file_transfer_copy_io,
_xpc_file_transfer_create_with_fd, _xpc_file_transfer_create_with_path,
_xpc_file_transfer_get_size, _xpc_file_transfer_get_transfer_id,
_xpc_file_transfer_send_finished, _xpc_file_transfer_set_transport_writing_callbacks,
_xpc_file_transfer_write_finished, _xpc_file_transfer_write_to_fd,
_xpc_file_transfer_write_to_path, _xpc_generate_audit_token,
_xpc_get_attachment_endpoint, _xpc_get_class4NSXPC, _xpc_get_event_name,
_xpc_get_instance, _xpc_get_service_identifier_for_token,
_xpc_get_service_name_from_pid, _xpc_get_service_uid_for_token,
_xpc_get_type, _xpc_handle_service, _xpc_handle_subservice,
_xpc_hash, _xpc_impersonate_user, _xpc_init_services, _xpc_inspect_copy_description,

View File

@ -37,11 +37,11 @@
#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
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_1
#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
#define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_1
#endif /* __has_builtin(__is_target_os) */
#endif /* defined(__has_builtin) */
#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
@ -51,11 +51,11 @@
#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
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_1
#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
#define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_1
#endif /* __has_builtin(__is_target_os) */
#endif /* defined(__has_builtin) */
#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
@ -65,13 +65,13 @@
#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
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_1
/* 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
#define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_1
/* 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) */
@ -83,13 +83,13 @@
#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
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_1
/* 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
#define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_1
/* 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) */
@ -103,7 +103,7 @@
#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
#define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_1
#endif
#endif /* __has_builtin(__is_target_os) */
#endif /* defined(__has_builtin) */
@ -114,7 +114,7 @@
#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
#define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_1
/* for compatibility with existing code. New code should use platform specific checks */
#define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
#endif

View File

@ -97,6 +97,7 @@
#define __MAC_15_6 150600
#define __MAC_16_0 160000
#define __MAC_26_0 260000
#define __MAC_26_1 260100
/* __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
@ -188,6 +189,7 @@
#define __IPHONE_18_6 180600
#define __IPHONE_19_0 190000
#define __IPHONE_26_0 260000
#define __IPHONE_26_1 260100
/* __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
@ -248,6 +250,7 @@
#define __WATCHOS_11_6 110600
#define __WATCHOS_12_0 120000
#define __WATCHOS_26_0 260000
#define __WATCHOS_26_1 260100
/* __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
@ -308,6 +311,7 @@
#define __TVOS_18_6 180600
#define __TVOS_19_0 190000
#define __TVOS_26_0 260000
#define __TVOS_26_1 260100
/* __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
@ -345,6 +349,7 @@
#define __BRIDGEOS_9_5 90500
#define __BRIDGEOS_9_6 90600
#define __BRIDGEOS_10_0 100000
#define __BRIDGEOS_10_1 100100
#define __DRIVERKIT_19_0 190000
@ -369,6 +374,7 @@
#define __DRIVERKIT_24_5 240500
#define __DRIVERKIT_24_6 240600
#define __DRIVERKIT_25_0 250000
#define __DRIVERKIT_25_1 250100
/* __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
@ -384,6 +390,7 @@
#define __VISIONOS_2_6 20600
#define __VISIONOS_3_0 30000
#define __VISIONOS_26_0 260000
#define __VISIONOS_26_1 260100
/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
@ -474,6 +481,7 @@
#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
#define MAC_OS_VERSION_26_1 __MAC_26_1
#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */

View File

@ -72,6 +72,8 @@
#define EXC_ARM_SWP 0x104 /* SWP instruction */
#define EXC_ARM_PAC_FAIL 0x105 /* PAC authentication failure */
#define EXC_ARM_MTE_TAGCHECK_FAIL 0x106 /* MTE Tag Check failure */
#define EXC_ARM_MTE_CANONICAL_FAIL 0x107 /* MTE Canonical Tag access fail */
/*
* EXC_BREAKPOINT

View File

@ -409,6 +409,7 @@ typedef integer_t cpu_threadtype_t;
#define CPUFAMILY_ARM_BRAVA 0x17d5b93a
#define CPUFAMILY_ARM_TAHITI 0x75d4acb9
#define CPUFAMILY_ARM_TUPAI 0x204526d0
#define CPUFAMILY_ARM_HIDRA 0x1d5a87e8
#define CPUFAMILY_ARM_THERA 0xab345f09
#define CPUFAMILY_ARM_TILOS 0x01d7a72b

View File

@ -487,7 +487,7 @@ enum mach_port_guard_exception_codes {
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_IMMOVABLE_NON_FATAL = 1u << 22, /* unused*/
};
#define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED

View File

@ -100,13 +100,6 @@ typedef int vm_prot_t;
#define VM_PROT_ALL (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE)
/*
* This is an alias to VM_PROT_EXECUTE to identify callers that
* want to allocate an hardware assisted Read-only/read-write
* trusted path in userland.
*/
#define VM_PROT_RORW_TP (VM_PROT_EXECUTE)
/*
* An invalid protection value.
* Used only by memory_object_lock_request to indicate no change

View File

@ -283,6 +283,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
#define VM_FLAGS_RESILIENT_MEDIA 0x00000040
#define VM_FLAGS_PERMANENT 0x00000080
#define VM_FLAGS_TPRO 0x00001000
#define VM_FLAGS_MTE 0x00002000
#define VM_FLAGS_OVERWRITE 0x00004000 /* delete any existing mappings first */
/*
* VM_FLAGS_SUPERPAGE_MASK
@ -299,7 +300,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
(flags) = (((flags) & ~VM_FLAGS_ALIAS_MASK) | \
(((alias) & ~VM_FLAGS_ALIAS_MASK) << 24))
#define VM_FLAGS_HW (VM_FLAGS_TPRO)
#define VM_FLAGS_HW (VM_FLAGS_TPRO | VM_FLAGS_MTE)
/* These are the flags that we accept from user-space */
#define VM_FLAGS_USER_ALLOCATE (VM_FLAGS_FIXED | \
@ -358,8 +359,13 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, {
kGUARD_EXC_SEC_COPY_DENIED = 100,
kGUARD_EXC_SEC_SHARING_DENIED = 101,
/* Fault-related exceptions. */
kGUARD_EXC_MTE_SYNC_FAULT = 200,
kGUARD_EXC_MTE_ASYNC_USER_FAULT = 201,
kGUARD_EXC_MTE_ASYNC_KERN_FAULT = 202
});
#define kGUARD_EXC_MTE_SOFT_MODE 0x100000
#pragma mark Ledger Tags

View File

@ -71,6 +71,12 @@ typedef uint32_t reg64_t;
typedef uint32_t ppnum_t __kernel_ptr_semantics; /* Physical page number */
#define PPNUM_MAX UINT32_MAX
/*
* For use with mach_vm_update_pointers_with_remote_tags.
* This definition must be kept in sync with the definition in mach_types.defs.
*/
#define VM_OFFSET_LIST_MAX 1024
typedef mach_port_t vm_map_t, vm_map_read_t, vm_map_inspect_t;
typedef mach_port_t upl_t;

View File

@ -110,6 +110,10 @@ __API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.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__ */
#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_with_options_backdeploy(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 /* defined(_MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING) && _MALLOC_TYPE_MALLOC_IS_BACKDEPLOYING */
// The remainder of these functions are declared in malloc/_malloc_type.h, and
// the backdeployment variant definitions are at the bottom of this file.
@ -409,13 +413,16 @@ extern void * __sized_by_or_null(size) malloc_zone_malloc(malloc_zone_t *zone, s
* 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 *).
* The minimum alignment of the requested allocation. This non-zero 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.
* The size, in bytes, of the requested allocation, which must be an integral
* multiple of align. This requirement is relaxed slightly on OS versions
* strictly newer than 26.0, where a non-multiple size is permitted if and only
* if align is MALLOC_ZONE_MALLOC_DEFAULT_ALIGN. OS version 26.0 does not
* implement this exception.
*
* @param options
* A bitmask of options defining how the memory should be allocated. See the
@ -698,6 +705,15 @@ static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_typ
return func(zone, size);
}
static void * __sized_by_or_null(size) __attribute__((always_inline)) malloc_type_zone_malloc_with_options_backdeploy(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) {
__attribute__((weak_import)) 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);
__auto_type func = malloc_zone_malloc_with_options;
if (malloc_type_zone_malloc_with_options) {
return malloc_type_zone_malloc_with_options(zone, alignment, size, type_id, opts);
}
return func(zone, alignment, size, opts);
}
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;

View File

@ -563,6 +563,12 @@
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_0(x)
#endif
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260100
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_1(x) x
#else
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_1(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
@ -1001,3 +1007,9 @@
#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_0(x)
#endif
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260100
#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_1(x) x
#else
#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_1(x)
#endif

View File

@ -184,6 +184,7 @@
#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 */
#define AT_UNIQUE 0x8000 /* prevent a path lookup from succeeding on a vnode with multiple links */
#endif
#endif

View File

@ -419,8 +419,9 @@ OS_ENUM(graftdmg_type, uint32_t,
GRAFTDMG_CRYPTEX_PDI_NONCE = 6,
GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,
GRAFTDMG_CRYPTEX_MOBILE_ASSET = 8,
GRAFTDMG_CRYPTEX_MOBILE_ASSET_WITH_CODE = 9,
// Update this when a new type is added
GRAFTDMG_CRYPTEX_MAX = 8);
GRAFTDMG_CRYPTEX_MAX = 9);
OS_ENUM(cryptex_auth_type, uint32_t,
// Reserved: GRAFTDMG_CRYPTEX_BOOT = 1,
@ -431,8 +432,9 @@ OS_ENUM(cryptex_auth_type, uint32_t,
CRYPTEX_AUTH_PDI_NONCE = 6,
// Reserved: GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7,
CRYPTEX_AUTH_MOBILE_ASSET = 8,
CRYPTEX_AUTH_MOBILE_ASSET_WITH_CODE = 9,
// Update this when a new type is added
CRYPTEX_AUTH_MAX = 8);
CRYPTEX_AUTH_MAX = 9);
__BEGIN_DECLS

View File

@ -539,6 +539,9 @@ struct proc_rlimit_control_wakeupmon {
#define IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT 0
#define IOPOL_MATERIALIZE_DATALESS_FILES_OFF 1
#define IOPOL_MATERIALIZE_DATALESS_FILES_ON 2
#define IOPOL_MATERIALIZE_DATALESS_FILES_ORIG 4
#define IOPOL_MATERIALIZE_DATALESS_FILES_BASIC_MASK 3
#define IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT 0
#define IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME 1

View File

@ -135,7 +135,7 @@ typedef void (*xpc_finalizer_t)(void * _Nullable value);
*
* If NULL, an anonymous listener connection will be created. You can embed the
* ability to create new peer connections in an endpoint, which can be inserted
* into a message and sent to another process .
* into a message and sent to another process.
*
* @param targetq
* The GCD queue to which the event handler block will be submitted. This
@ -301,7 +301,7 @@ xpc_connection_set_target_queue(xpc_connection_t connection,
* A connection may receive different events depending upon whether it is a
* listener or not. Any connection may receive an error in its event handler.
* But while normal connections may receive messages in addition to errors,
* listener connections will receive connections and and not messages.
* listener connections will receive connections and not messages.
*
* Connections received by listeners are equivalent to those returned by
* xpc_connection_create() with a non-NULL name argument and a NULL targetq
@ -310,6 +310,17 @@ xpc_connection_set_target_queue(xpc_connection_t connection,
* to accept the connection, you may simply call xpc_connection_cancel() on it
* and return. The runtime will dispose of it for you.
*
* IMPORTANT: For peer connections received through a listener connection's
* event handler, you MUST either accept the connection by setting an event
* handler with xpc_connection_set_event_handler() and calling
* xpc_connection_resume(), or reject the connection by calling
* xpc_connection_cancel(). Failure to take one of these actions will result
* in the connection remaining in an undefined state, potentially causing
* resource leaks or preventing proper transaction cleanup. This requirement
* applies to all listener connections, including those created with
* xpc_connection_create_mach_service() and those managed automatically by
* xpc_main().
*
* If there is an error in the connection, this handler will be invoked with the
* error dictionary as its argument. This dictionary will be one of the well-
* known XPC_ERROR_* dictionaries.
@ -586,10 +597,11 @@ xpc_connection_send_message_with_reply_sync(xpc_connection_t connection,
* Cancellation is asynchronous and non-preemptive and therefore this method
* will not interrupt the execution of an already-running event handler block.
* If the event handler is executing at the time of this call, it will finish,
* and then the connection will be canceled, causing a final invocation of the
* event handler to be scheduled with the XPC_ERROR_CONNECTION_INVALID error.
* After that invocation, there will be no further invocations of the event
* handler.
* and then the connection will be canceled.
*
* Canceling the connection will cause a final invocation of the event handler
* to be scheduled with the XPC_ERROR_CONNECTION_INVALID error. After that
* invocation, there will be no further invocations of the event handler.
*
* The XPC runtime guarantees this non-preemptiveness even for concurrent target
* queues.
@ -601,7 +613,7 @@ xpc_connection_cancel(xpc_connection_t connection);
/*!
* @function xpc_connection_get_name
* Returns the name of the service with which the connections was created.
* Returns the name of the service with which the connection was created.
*
* @param connection
* The connection object which is to be examined.
@ -690,7 +702,7 @@ xpc_connection_get_asid(xpc_connection_t connection);
/*!
* @function xpc_connection_set_context
* Sets context on an connection.
* Sets context on a connection.
*
* @param connection
* The connection which is to be manipulated.
@ -764,8 +776,8 @@ xpc_connection_set_finalizer_f(xpc_connection_t connection,
* The connection 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_connection_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 `xpc_connection_set_peer_code_signing_requirement`.
*
* @result
* 0 on success, non-zero on error
@ -792,14 +804,14 @@ xpc_connection_set_peer_code_signing_requirement(xpc_connection_t connection, co
/*!
* @function xpc_connection_set_peer_entitlement_exists_requirement
* Requires that the connection peer has the specified entitlement
* Requires that the connection peer has the specified entitlement.
*
* @param connection
* The connection object which is to be modified
* The connection object which is to be modified.
*
* @param entitlement
* The entitlement the peer must have
* It is safe to deallocate the entitlement string after calling `xpc_connection_set_peer_entitlement_exists_requirement`
* The entitlement the peer must have.
* It is safe to deallocate the entitlement string after calling `xpc_connection_set_peer_entitlement_exists_requirement`.
*
* @result
* 0 on success, non-zero on error
@ -824,17 +836,17 @@ xpc_connection_set_peer_entitlement_exists_requirement(xpc_connection_t connecti
/*!
* @function xpc_connection_set_peer_entitlement_matches_value_requirement
* Requires that the connection peer has the specified entitlement with the matching value
* Requires that the connection peer has the specified entitlement with the matching value.
*
* @param connection
* The connection object which is to be modified
* The connection object which is to be modified.
*
* @param entitlement
* The entitlement the peer must have
* It is safe to deallocate the entitlement string after calling `xpc_connection_set_peer_entitlement_matches_value_requirement`
* The entitlement the peer must have.
* It is safe to deallocate the entitlement string after calling `xpc_connection_set_peer_entitlement_matches_value_requirement`.
*
* @param value
* The value that the entitlement must match
* The value that the entitlement must match.
* It is safe to deallocate the value object after calling
* `xpc_connection_set_peer_entitlement_matches_value_requirement`.
* Valid xpc types for this object are `XPC_TYPE_BOOL`, `XPC_TYPE_STRING` and `XPC_TYPE_INT64`.
@ -863,14 +875,14 @@ xpc_connection_set_peer_entitlement_matches_value_requirement(xpc_connection_t c
/*!
* @function xpc_connection_set_peer_team_identity_requirement
* Requires that the connection peer has the specified identity and is signed with the same team identifier
* as the current process
* as the current process.
*
* @param connection
* The connection object which is to be modified
* The connection object which is to be modified.
*
* @param signing_identifier
* The optional signing identifier the peer must have
* It is safe to deallocate the signing identifier string after calling `xpc_connection_set_peer_identity_requirement`
* The optional signing identifier the peer must have.
* It is safe to deallocate the signing identifier string after calling `xpc_connection_set_peer_identity_requirement`.
*
* @result
* 0 on success, non-zero on error
@ -879,7 +891,7 @@ xpc_connection_set_peer_entitlement_matches_value_requirement(xpc_connection_t c
* This function will return an error 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
* or be signed by an Apple-issued development certificate, an enterprise distributed
* certificate (embedded only), or a Developer ID certificate (macOS only)
*
* It is a programming error to call multiple of the `xpc_connection_set_peer_*_requirement` family of functions on the same
@ -899,14 +911,14 @@ xpc_connection_set_peer_team_identity_requirement(xpc_connection_t connection, c
/*!
* @function xpc_connection_set_peer_platform_identity_requirement
* Requires that the connection peer has the specified identity and is signed by Apple
* Requires that the connection peer has the specified identity and is signed by Apple.
*
* @param connection
* The connection object which is to be modified
* The connection object which is to be modified.
*
* @param signing_identifier
* The optional signing identifier the peer must have. If not specified, this function ensures that the peer is signed by Apple
* It is safe to deallocate the signing identifier string after calling `xpc_connection_set_peer_identity_requirement`
* The optional signing identifier the peer must have. If not specified, this function ensures that the peer is signed by Apple.
* It is safe to deallocate the signing identifier string after calling `xpc_connection_set_peer_identity_requirement`.
*
* @result
* 0 on success, non-zero on error
@ -934,14 +946,14 @@ xpc_connection_set_peer_platform_identity_requirement(xpc_connection_t connectio
/*!
* @function xpc_connection_set_peer_lightweight_code_requirement
* Requires that the connection peer has the specified lightweight code requirement
* Requires that the connection peer has the specified lightweight code requirement.
*
* @param connection
* The connection object which is to be modified
* The connection object which is to be modified.
*
* @param lwcr
* The lightweight code requirement the peer must have
* It is safe to deallocate the lightweight code requirement object after calling `xpc_connection_set_peer_lightweight_code_requirement`
* The lightweight code requirement the peer must have.
* It is safe to deallocate the lightweight code requirement object after calling `xpc_connection_set_peer_lightweight_code_requirement`.
*
* @result
* 0 on success, non-zero on error
@ -982,14 +994,14 @@ xpc_connection_set_peer_lightweight_code_requirement(xpc_connection_t connection
/*!
* @function xpc_connection_set_peer_requirement
* Requires that the connection peer has the specified requirement
* Requires that the connection peer has the specified requirement.
*
* @param connection
* The connection object which is to be modified
* 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`
* 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
@ -1012,10 +1024,10 @@ xpc_connection_set_peer_requirement(xpc_connection_t connection,
* Returns a description of why the connection was invalidated.
*
* @param connection
* The connection object to inspect
* The connection object to inspect.
*
* @result
* Null if the connection has not been invalidated, otherwise a description for why the connection was invalidated.
* NULL if the connection has not been invalidated, otherwise a description for why the connection was invalidated.
*/
API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
XPC_EXPORT XPC_NONNULL1 XPC_WARN_RESULT

View File

@ -21,7 +21,7 @@ __BEGIN_DECLS
* Listeners represent the server side variant of an XPC Session.
*
* Listeners are activated and then begin receiving `xpc_session_t` from peers attempting to
* connect to the server
* connect to the server.
*
*/
OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener);
@ -38,10 +38,10 @@ OS_OBJECT_DECL_SENDABLE_CLASS(xpc_listener);
* {@link xpc_listener_activate} before it can be used.
*
* @const XPC_LISTENER_CREATE_FORCE_MACH
* Optional key to indicate to the runtime that this listener is for a Mach Service
* Optional key to indicate to the runtime that this listener is for a Mach Service.
*
* @const XPC_LISTENER_CREATE_FORCE_XPCSERVICE
* Optional key to indicate to the runtime that this listener is for a XPCService endpoint
* Optional key to indicate to the runtime that this listener is for a XPCService endpoint.
*/
XPC_SWIFT_NOEXPORT
XPC_FLAGS_ENUM(xpc_listener_create_flags, uint64_t,
@ -76,7 +76,7 @@ xpc_listener_copy_description(xpc_listener_t listener);
#pragma mark Server Session Creation
/*!
* @function xpc_listener_create
* Creates a listener with the service defined by the provided name
* Creates a listener with the service defined by the provided name.
*
* @param service
* The Mach service or XPC Service name to create the listener with.
@ -91,9 +91,14 @@ xpc_listener_copy_description(xpc_listener_t listener);
* Additional attributes to create the listener.
*
* @param incoming_session_handler
* The handler block to be called when a peer is attempting to establish a
* The handler block to be called when a peer is attempting to establish a
* connection with this listener. The incoming session handler is mandatory.
*
* Unlike XPC connection listeners that require explicit acceptance,
* xpc_listener automatically accepts and activates incoming peer sessions when
* the incoming_session_handler returns, unless the peer session was explicitly
* rejected using xpc_listener_reject_peer() or cancelled using xpc_session_cancel().
*
* @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.
@ -176,17 +181,20 @@ xpc_listener_cancel(xpc_listener_t listener);
/*!
* @function xpc_listener_reject_peer
* Rejects the incoming peer session
* Rejects the incoming peer session.
*
* @param peer
* The peer session object to reject. This must be a session that was an argument
* from an incoming session handler block
* from an incoming session handler block.
*
* @param reason
* The reason that the peer was rejected
* The reason that the peer was rejected.
*
* @discussion
* The peer session will be cancelled and cannot be used after it has been rejected
* The peer session will be cancelled and cannot be used after it has been rejected.
*
* An incoming session that is not rejected will automatically be accepted
* after returning from the incoming peer handler.
*/
API_AVAILABLE(macos(14.0), macCatalyst(17.0))
API_UNAVAILABLE(ios, tvos, watchos)

View File

@ -221,7 +221,7 @@ XPC_TYPE(_xpc_type_date);
/*!
* @define XPC_TYPE_DATA
* A type representing a an arbitrary buffer of bytes.
* A type representing an arbitrary buffer of bytes.
*/
#define XPC_TYPE_DATA (&_xpc_type_data)
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
@ -514,7 +514,7 @@ xpc_equal(xpc_object_t object1, xpc_object_t object2);
*
* @discussion
* Note that the computed hash values for any particular type and value of an
* object can change from across releases and platforms and should not be
* object can change across releases and platforms and should not be
* assumed to be constant across all time and space or stored persistently.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
@ -710,7 +710,8 @@ xpc_double_get_value(xpc_object_t xdouble);
* @param interval
* The date interval which is to be boxed. Negative values indicate the number
* of nanoseconds before the epoch. Positive values indicate the number of
* nanoseconds after the epoch.
* nanoseconds after the epoch. The interval is with respect to the Unix epoch.
* XPC dates are in Unix time and are thus unaware of local time or leap seconds.
*
* @result
* A new date object.
@ -745,7 +746,8 @@ xpc_date_create_from_current(void);
*
* @result
* The underlying date interval or 0 if the given object was not an XPC date
* object.
* object. The interval is with respect to the Unix epoch. XPC dates are in
* Unix time and are thus unaware of local time or leap seconds.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1
@ -843,7 +845,7 @@ xpc_data_get_bytes_ptr(xpc_object_t xdata);
* @function xpc_data_get_bytes
*
* @abstract
* Copies the bytes stored in an data objects into the specified buffer.
* Copies the bytes stored in a data object into the specified buffer.
*
* @param xdata
* The data object which is to be examined.
@ -1444,9 +1446,11 @@ xpc_array_set_double(xpc_object_t xarray, size_t index, double value);
* undefined.
*
* @param value
* The date value to insert, represented as an <code>int64_t</code>. After
* calling this method, the XPC object corresponding to the primitive value
* inserted may be safely retrieved with {@link xpc_array_get_value()}.
* The date value to insert, represented as an <code>int64_t</code>. The
* interval is with respect to the Unix epoch. XPC dates are in Unix time and
* are thus unaware of local time or leap seconds. After calling this method,
* the XPC object corresponding to the primitive value inserted may be safely
* retrieved with {@link xpc_array_get_value()}.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
XPC_EXPORT XPC_NONNULL1
@ -1692,8 +1696,10 @@ xpc_array_get_double(xpc_object_t xarray, size_t index);
* index is outside that range, the behavior is undefined.
*
* @result
* The underlying date interval at the specified index. 0 if the value at the
* specified index is not a date value.
* The underlying date interval at the specified index. The interval is with
* respect to the Unix epoch. XPC dates are in Unix time and are thus unaware
* of local time or leap seconds. 0 if the value at the specified index is not
* a date value.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1
@ -1715,7 +1721,7 @@ xpc_array_get_date(xpc_object_t xarray, size_t index);
* index is outside that range, the behavior is undefined.
*
* @param length
* Upon return output, will contain the length of the data corresponding to the
* Upon return, will contain the length of the data corresponding to the
* specified key.
*
* @result
@ -1842,7 +1848,7 @@ xpc_array_create_connection(xpc_object_t xarray, size_t index);
*
* @result
* The object at the specified index within the array or NULL if the given
* object was not an XPC array or if the the value at the specified index was
* object was not an XPC array or if the value at the specified index was
* not a dictionary.
*
* @discussion
@ -1869,7 +1875,7 @@ xpc_array_get_dictionary(xpc_object_t xarray, size_t index);
*
* @result
* The object at the specified index within the array or NULL if the given
* object was not an XPC array or if the the value at the specified index was
* object was not an XPC array or if the value at the specified index was
* not an array.
*
* @discussion
@ -1922,7 +1928,7 @@ typedef bool (^xpc_dictionary_applier_t)(const char * _Nonnull key,
* the actual count of values, only that many key/value pairs will be inserted
* into the dictionary.
*
* If the count is more than the the actual count of key/value pairs, the
* If the count is more than the actual count of key/value pairs, the
* behavior is undefined. If one array is NULL and the other is not, the
* behavior is undefined. If both arrays are NULL and the count is non-0, the
* behavior is undefined.
@ -2192,18 +2198,20 @@ xpc_dictionary_set_double(xpc_object_t xdict, const char *key, double value);
* @function xpc_dictionary_set_date
*
* @abstract
* Inserts a date (primitive) value into a dictionary.
* Inserts a date value into a dictionary.
*
* @param xdict
* The dictionary which is to be manipulated.
*
* @param key
* The key for which the primitive value shall be set.
* The key for which the value shall be set.
*
* @param value
* The date value to insert. After calling this method, the XPC object
* corresponding to the primitive value inserted may be safely retrieved with
* {@link xpc_dictionary_get_value()}.
* The date value to insert, represented as an <code>int64_t</code>. The
* interval is with respect to the Unix epoch. XPC dates are in Unix time and
* are thus unaware of local time or leap seconds. After calling this method,
* the XPC object corresponding to the primitive value inserted may be safely
* retrieved with {@link xpc_dictionary_get_value()}.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2
@ -2263,7 +2271,7 @@ xpc_dictionary_set_string(xpc_object_t xdict, const char *key,
* @function xpc_dictionary_set_uuid
*
* @abstract
* Inserts a uuid (primitive) value into an array.
* Inserts a UUID (primitive) value into a dictionary.
*
* @param xdict
* The dictionary which is to be manipulated.
@ -2381,7 +2389,7 @@ xpc_dictionary_get_bool(xpc_object_t xdict, const char *key);
* @function xpc_dictionary_get_int64
*
* @abstract
* Gets an <code>int64</code> primitive value from a dictionary directly.
* Gets an <code>int64_t</code> primitive value from a dictionary directly.
*
* @param xdict
* The dictionary object which is to be examined.
@ -2403,7 +2411,7 @@ xpc_dictionary_get_int64(xpc_object_t xdict, const char *key);
* @function xpc_dictionary_get_uint64
*
* @abstract
* Gets a <code>uint64</code> primitive value from a dictionary directly.
* Gets a <code>uint64_t</code> primitive value from a dictionary directly.
*
* @param xdict
* The dictionary object which is to be examined.
@ -2456,9 +2464,10 @@ xpc_dictionary_get_double(xpc_object_t xdict, const char *key);
* The key whose value is to be obtained.
*
* @result
* The underlying date interval for the specified key. 0 if the value for the
* specified key is not a date value or if there is no value for the specified
* key.
* The underlying date interval for the specified key. The interval is with
* respect to the Unix epoch. XPC dates are in Unix time and are thus unaware
* of local time or leap seconds. 0 if the value for the specified key is not a
* date value or if there is no value for the specified key.
*/
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0)
XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL
@ -2674,7 +2683,13 @@ xpc_dictionary_copy_mach_send(xpc_object_t xdict, const char *key);
* bundle's Info.plist under the XPCService dictionary.
*
* @param handler
* The handler with which to accept new connections.
* The handler with which to accept new connections. This handler is called for
* each new connection established with the service. The handler must either
* accept the connection by setting an event handler with
* xpc_connection_set_event_handler() and calling xpc_connection_resume(), or
* reject the connection by calling xpc_connection_cancel(). Failure to take
* one of these actions will result in the connection remaining in an undefined
* state, potentially causing resource leaks or transaction issues.
*/
API_AVAILABLE(macos(10.7), macCatalyst(5.0))
API_UNAVAILABLE(ios)