Commit c907866d55
Changed files (107)
lib
libc
include
any-macos-any
_types
arpa
libkern
mach
malloc
secure
simd
sys
xlocale
xpc
lib/libc/darwin/libSystem.tbd
@@ -71,7 +71,7 @@ tbd-version: 4
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
install-name: '/usr/lib/system/libcommonCrypto.dylib'
-current-version: 65535.60.1
+current-version: 65535
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -399,7 +399,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.60.68
+current-version: 1736.120.5
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -715,11 +715,12 @@ exports:
_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_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,
+ _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,
@@ -769,7 +770,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: 1504.60.7
+current-version: 1521.120.4
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -951,43 +952,42 @@ exports:
__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,
- __dyld_for_objc_header_opt_ro, __dyld_for_objc_header_opt_rw,
- __dyld_fork_child, __dyld_get_dlopen_image_header, __dyld_get_image_header,
- __dyld_get_image_name, __dyld_get_image_slide, __dyld_get_image_uuid,
- __dyld_get_image_vmaddr_slide, __dyld_get_objc_selector, __dyld_get_prog_image_header,
- __dyld_get_shared_cache_range, __dyld_get_shared_cache_uuid,
- __dyld_get_swift_prespecialized_data, __dyld_has_fix_for_radar,
- __dyld_has_preoptimized_swift_protocol_conformances, __dyld_image_count,
- __dyld_images_for_addresses, __dyld_initializer, __dyld_is_memory_immutable,
- __dyld_is_objc_constant, __dyld_is_preoptimized_objc_image_loaded,
+ __dyld_for_each_prewarming_range, __dyld_for_objc_header_opt_ro,
+ __dyld_for_objc_header_opt_rw, __dyld_fork_child, __dyld_get_dlopen_image_header,
+ __dyld_get_image_header, __dyld_get_image_name, __dyld_get_image_slide,
+ __dyld_get_image_uuid, __dyld_get_image_vmaddr_slide, __dyld_get_objc_selector,
+ __dyld_get_prog_image_header, __dyld_get_shared_cache_range,
+ __dyld_get_shared_cache_uuid, __dyld_get_swift_prespecialized_data,
+ __dyld_has_fix_for_radar, __dyld_has_preoptimized_swift_protocol_conformances,
+ __dyld_image_count, __dyld_images_for_addresses, __dyld_initializer,
+ __dyld_is_memory_immutable, __dyld_is_objc_constant, __dyld_is_preoptimized_objc_image_loaded,
__dyld_is_pseudodylib, __dyld_launch_mode, __dyld_lookup_section_info,
- __dyld_missing_symbol_abort, __dyld_objc_class_count, __dyld_objc_notify_register,
- __dyld_objc_register_callbacks, __dyld_objc_uses_large_shared_cache,
- __dyld_process_info_create, __dyld_process_info_for_each_image,
- __dyld_process_info_for_each_segment, __dyld_process_info_get_aot_cache,
- __dyld_process_info_get_cache, __dyld_process_info_get_platform,
- __dyld_process_info_get_state, __dyld_process_info_notify,
- __dyld_process_info_notify_main, __dyld_process_info_notify_release,
- __dyld_process_info_notify_retain, __dyld_process_info_release,
- __dyld_process_info_retain, __dyld_pseudodylib_deregister,
+ __dyld_objc_class_count, __dyld_objc_notify_register, __dyld_objc_register_callbacks,
+ __dyld_objc_uses_large_shared_cache, __dyld_process_info_create,
+ __dyld_process_info_for_each_image, __dyld_process_info_for_each_segment,
+ __dyld_process_info_get_aot_cache, __dyld_process_info_get_cache,
+ __dyld_process_info_get_platform, __dyld_process_info_get_state,
+ __dyld_process_info_notify, __dyld_process_info_notify_main,
+ __dyld_process_info_notify_release, __dyld_process_info_notify_retain,
+ __dyld_process_info_release, __dyld_process_info_retain, __dyld_pseudodylib_deregister,
__dyld_pseudodylib_deregister_callbacks, __dyld_pseudodylib_register,
__dyld_pseudodylib_register_callbacks, __dyld_register_dlsym_notifier,
__dyld_register_driverkit_main, __dyld_register_for_bulk_image_loads,
__dyld_register_for_image_loads, __dyld_register_func_for_add_image,
__dyld_register_func_for_remove_image, __dyld_shared_cache_contains_path,
__dyld_shared_cache_is_locally_built, __dyld_shared_cache_optimized,
- __dyld_shared_cache_real_path, __dyld_swift_optimizations_version,
- __dyld_visit_objc_classes, __tlv_atexit, __tlv_bootstrap,
- __tlv_exit, _dladdr, _dlclose, _dlerror, _dlopen, _dlopen_audited,
- _dlopen_from, _dlopen_preflight, _dlsym, _dyldVersionNumber,
- _dyldVersionString, _dyld_dynamic_interpose, _dyld_for_each_installed_shared_cache,
- _dyld_for_each_installed_shared_cache_with_system_path, _dyld_get_active_platform,
- _dyld_get_base_platform, _dyld_get_image_versions, _dyld_get_min_os_version,
- _dyld_get_program_min_os_version, _dyld_get_program_minos_version_token,
- _dyld_get_program_sdk_version, _dyld_get_program_sdk_version_token,
- _dyld_get_sdk_version, _dyld_has_inserted_or_interposing_libraries,
- _dyld_image_content_for_section, _dyld_image_content_for_segment,
- _dyld_image_copy_uuid, _dyld_image_for_each_section_info,
+ __dyld_shared_cache_real_path, __dyld_stack_bottom, __dyld_stack_range,
+ __dyld_stack_top, __dyld_swift_optimizations_version, __dyld_visit_objc_classes,
+ __tlv_atexit, __tlv_bootstrap, __tlv_exit, _dladdr, _dlclose,
+ _dlerror, _dlopen, _dlopen_audited, _dlopen_from, _dlopen_preflight,
+ _dlsym, _dyldVersionNumber, _dyldVersionString, _dyld_dynamic_interpose,
+ _dyld_for_each_installed_shared_cache, _dyld_for_each_installed_shared_cache_with_system_path,
+ _dyld_get_active_platform, _dyld_get_base_platform, _dyld_get_image_versions,
+ _dyld_get_min_os_version, _dyld_get_program_min_os_version,
+ _dyld_get_program_minos_version_token, _dyld_get_program_sdk_version,
+ _dyld_get_program_sdk_version_token, _dyld_get_sdk_version,
+ _dyld_has_inserted_or_interposing_libraries, _dyld_image_content_for_section,
+ _dyld_image_content_for_segment, _dyld_image_copy_uuid, _dyld_image_for_each_section_info,
_dyld_image_for_each_segment_info, _dyld_image_get_file_path,
_dyld_image_get_installname, _dyld_image_header_containing_address,
_dyld_image_local_nlist_content_4Symbolication, _dyld_image_path_containing_address,
@@ -1011,7 +1011,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, dyld_stub_binder ]
+ _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,
@@ -1051,7 +1052,7 @@ exports:
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name: '/usr/lib/system/libmacho.dylib'
-current-version: 1022.1
+current-version: 1024.3
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: System
@@ -1091,7 +1092,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.60.2
+current-version: 181.120.2
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1137,7 +1138,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: 75
+current-version: 81
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1147,9 +1148,9 @@ exports:
arm64e-macos, arm64e-maccatalyst ]
symbols: [ ___removefile_init_random, ___removefile_random_char, ___removefile_randomize_buffer,
___removefile_rename_unlink, ___removefile_sunlink, ___removefile_tree_walker,
- _removefile, _removefile_cancel, _removefile_state_alloc,
- _removefile_state_free, _removefile_state_get, _removefile_state_set,
- _removefileat ]
+ ___removefile_tree_walker_slim, _removefile, _removefile_cancel,
+ _removefile_state_alloc, _removefile_state_free, _removefile_state_get,
+ _removefile_state_set, _removefileat ]
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
@@ -1236,7 +1237,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_blocks.dylib'
-current-version: 95
+current-version: 96
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1255,7 +1256,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: 1669.60.4
+current-version: 1698.100.8
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1324,7 +1325,7 @@ exports:
___toupper_l, ___trailz_D2A, ___ulp_D2A, ___ungetc, ___ungetwc,
___vsnprintf_chk, ___vsprintf_chk, ___wcwidth, ___wcwidth_l,
___xlocale_C_collate, __allocenvstate, __atexit_receipt, __c_locale,
- __cleanup, __closeutx, __copyenv, __cthread_init_routine,
+ __cleanup, __closeutx, __collate_lookup, __copyenv, __cthread_init_routine,
__deallocenvstate, __endutxent, __flockfile_debug_stub, __fseeko,
__ftello, __fwalk, __getenvp, __getutxent, __getutxid, __getutxline,
__inet_aton_check, __init_clock_port, __int_to_time, __libc_fork_child,
@@ -1476,51 +1477,52 @@ exports:
_sradixsort, _srand, _srand48, _sranddev, _srandom, _srandomdev,
_sscanf, _sscanf_l, _stat_with_subsystem, _statvfs, _statx_np,
_stpcpy, _stpncpy, _stravis, _strcasecmp, _strcasecmp_l, _strcasestr,
- _strcasestr_l, _strcat, _strcoll, _strcoll_l, _strcspn, _strdup,
- _strenvisx, _strerror, _strerror_r, _strfmon, _strfmon_l,
- _strftime, _strftime_l, _strmode, _strncasecmp, _strncasecmp_l,
- _strncat, _strndup, _strnstr, _strnunvis, _strnunvisx, _strnvis,
- _strnvisx, _strpbrk, _strptime, _strptime_l, _strrchr, _strsenvisx,
- _strsep, _strsignal, _strsignal_r, _strsnvis, _strsnvisx,
- _strspn, _strsvis, _strsvisx, _strtod, _strtod_l, _strtoencf16,
- _strtoencf32, _strtoencf64, _strtoencf64x, _strtof, _strtof_l,
- _strtofflags, _strtoimax, _strtoimax_l, _strtok, _strtok_r,
- _strtol, _strtol_l, _strtold, _strtold_l, _strtoll, _strtoll_l,
- _strtonum, _strtoq, _strtoq_l, _strtoul, _strtoul_l, _strtoull,
- _strtoull_l, _strtoumax, _strtoumax_l, _strtouq, _strtouq_l,
- _strunvis, _strunvisx, _strvis, _strvisx, _strxfrm, _strxfrm_l,
- _suboptarg, _svis, _swab, _swprintf, _swprintf_l, _swscanf,
- _swscanf_l, _sxprintf, _sxprintf_exec, _sync_volume_np, _sys_errlist,
- _sys_nerr, _sys_siglist, _sys_signame, _sysconf, _sysctl,
- _sysctlbyname, _sysctlnametomib, _system, '_system$NOCANCEL',
- _tcdrain, '_tcdrain$NOCANCEL', _tcflow, _tcflush, _tcgetattr,
- _tcgetpgrp, _tcgetsid, _tcsendbreak, _tcsetattr, _tcsetpgrp,
- _tdelete, _telldir, _tempnam, _tfind, _thread_stack_async_pcs,
- _thread_stack_pcs, _time, _time2posix, _timegm, _timelocal,
- _timeoff, _times, _timespec_get, _timezone, _timingsafe_bcmp,
- _tmpfile, _tmpnam, _toascii, _tolower, _tolower_l, _toupper,
- _toupper_l, _towctrans, _towctrans_l, _towlower, _towlower_l,
- _towupper, _towupper_l, _tre_ast_new_catenation, _tre_ast_new_iter,
- _tre_ast_new_literal, _tre_ast_new_node, _tre_ast_new_union,
- _tre_compile, _tre_fill_pmatch, _tre_free, _tre_mem_alloc_impl,
- _tre_mem_destroy, _tre_mem_new_impl, _tre_parse, _tre_stack_destroy,
- _tre_stack_new, _tre_stack_num_objects, _tre_tnfa_run_backtrack,
- _tre_tnfa_run_parallel, _tsearch, _ttyname, _ttyname_r, _ttyslot,
- _twalk, _tzname, _tzset, _tzsetwall, _ualarm, _ulimit, _umaskx_np,
- _uname, _ungetc, _ungetwc, _ungetwc_l, _unlockpt, _unsetenv,
- _unvis, _uselocale, _usleep, '_usleep$NOCANCEL', _utime, _utmpxname,
- _uuid_clear, _uuid_compare, _uuid_copy, _uuid_generate, _uuid_generate_random,
- _uuid_generate_time, _uuid_is_null, _uuid_pack, _uuid_parse,
- _uuid_unpack, _uuid_unparse, _uuid_unparse_lower, _uuid_unparse_upper,
- _vasprintf, _vasprintf_l, _vasxprintf, _vasxprintf_exec, _vdprintf,
- _vdprintf_l, _vdxprintf, _vdxprintf_exec, _verr, _verrc, _verrx,
- _vfork, _vfprintf, _vfprintf_l, _vfscanf, _vfscanf_l, _vfwprintf,
- _vfwprintf_l, _vfwscanf, _vfwscanf_l, _vfxprintf, _vfxprintf_exec,
- _vis, _vprintf, _vprintf_l, _vscanf, _vscanf_l, _vsnprintf,
- _vsnprintf_l, _vsprintf, _vsprintf_l, _vsscanf, _vsscanf_l,
- _vswprintf, _vswprintf_l, _vswscanf, _vswscanf_l, _vsxprintf,
- _vsxprintf_exec, _vwarn, _vwarnc, _vwarnx, _vwprintf, _vwprintf_l,
- _vwscanf, _vwscanf_l, _vxprintf, _vxprintf_exec, _wait, '_wait$NOCANCEL',
+ _strcasestr_l, _strcat, _strchrnul, _strcoll, _strcoll_l,
+ _strcspn, _strdup, _strenvisx, _strerror, _strerror_r, _strfmon,
+ _strfmon_l, _strftime, _strftime_l, _strmode, _strncasecmp,
+ _strncasecmp_l, _strncat, _strndup, _strnstr, _strnunvis,
+ _strnunvisx, _strnvis, _strnvisx, _strpbrk, _strptime, _strptime_l,
+ _strrchr, _strsenvisx, _strsep, _strsignal, _strsignal_r,
+ _strsnvis, _strsnvisx, _strspn, _strsvis, _strsvisx, _strtod,
+ _strtod_l, _strtoencf16, _strtoencf32, _strtoencf64, _strtoencf64x,
+ _strtof, _strtof_l, _strtofflags, _strtoimax, _strtoimax_l,
+ _strtok, _strtok_r, _strtol, _strtol_l, _strtold, _strtold_l,
+ _strtoll, _strtoll_l, _strtonum, _strtoq, _strtoq_l, _strtoul,
+ _strtoul_l, _strtoull, _strtoull_l, _strtoumax, _strtoumax_l,
+ _strtouq, _strtouq_l, _strunvis, _strunvisx, _strvis, _strvisx,
+ _strxfrm, _strxfrm_l, _suboptarg, _svis, _swab, _swprintf,
+ _swprintf_l, _swscanf, _swscanf_l, _sxprintf, _sxprintf_exec,
+ _sync_volume_np, _sys_errlist, _sys_nerr, _sys_siglist, _sys_signame,
+ _sysconf, _sysctl, _sysctlbyname, _sysctlnametomib, _system,
+ '_system$NOCANCEL', _tcdrain, '_tcdrain$NOCANCEL', _tcflow,
+ _tcflush, _tcgetattr, _tcgetpgrp, _tcgetsid, _tcsendbreak,
+ _tcsetattr, _tcsetpgrp, _tdelete, _telldir, _tempnam, _tfind,
+ _thread_stack_async_pcs, _thread_stack_pcs, _time, _time2posix,
+ _timegm, _timelocal, _timeoff, _times, _timespec_get, _timezone,
+ _timingsafe_bcmp, _tmpfile, _tmpnam, _toascii, _tolower, _tolower_l,
+ _toupper, _toupper_l, _towctrans, _towctrans_l, _towlower,
+ _towlower_l, _towupper, _towupper_l, _tre_ast_new_catenation,
+ _tre_ast_new_iter, _tre_ast_new_literal, _tre_ast_new_node,
+ _tre_ast_new_union, _tre_compile, _tre_fill_pmatch, _tre_free,
+ _tre_mem_alloc_impl, _tre_mem_destroy, _tre_mem_new_impl,
+ _tre_parse, _tre_stack_destroy, _tre_stack_new, _tre_stack_num_objects,
+ _tre_tnfa_run_backtrack, _tre_tnfa_run_parallel, _tsearch,
+ _ttyname, _ttyname_r, _ttyslot, _twalk, _tzname, _tzset, _tzsetwall,
+ _ualarm, _ulimit, _umaskx_np, _uname, _ungetc, _ungetwc, _ungetwc_l,
+ _unlockpt, _unsetenv, _unvis, _uselocale, _usleep, '_usleep$NOCANCEL',
+ _utime, _utmpxname, _uuid_clear, _uuid_compare, _uuid_copy,
+ _uuid_generate, _uuid_generate_random, _uuid_generate_time,
+ _uuid_is_null, _uuid_pack, _uuid_parse, _uuid_unpack, _uuid_unparse,
+ _uuid_unparse_lower, _uuid_unparse_upper, _vasprintf, _vasprintf_l,
+ _vasxprintf, _vasxprintf_exec, _vdprintf, _vdprintf_l, _vdxprintf,
+ _vdxprintf_exec, _verr, _verrc, _verrx, _vfork, _vfprintf,
+ _vfprintf_l, _vfscanf, _vfscanf_l, _vfwprintf, _vfwprintf_l,
+ _vfwscanf, _vfwscanf_l, _vfxprintf, _vfxprintf_exec, _vis,
+ _vprintf, _vprintf_l, _vscanf, _vscanf_l, _vsnprintf, _vsnprintf_l,
+ _vsprintf, _vsprintf_l, _vsscanf, _vsscanf_l, _vswprintf,
+ _vswprintf_l, _vswscanf, _vswscanf_l, _vsxprintf, _vsxprintf_exec,
+ _vwarn, _vwarnc, _vwarnx, _vwprintf, _vwprintf_l, _vwscanf,
+ _vwscanf_l, _vxprintf, _vxprintf_exec, _wait, '_wait$NOCANCEL',
_wait3, _waitpid, '_waitpid$NOCANCEL', _warn, _warnc, _warnx,
_wcpcpy, _wcpncpy, _wcrtomb, _wcrtomb_l, _wcscasecmp, _wcscasecmp_l,
_wcscat, _wcschr, _wcscmp, _wcscoll, _wcscoll_l, _wcscpy,
@@ -1550,7 +1552,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: 1669.60.4
+current-version: 1698.100.8
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1580,7 +1582,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
+current-version: 1351.120.3
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1614,7 +1616,8 @@ parent-umbrella:
exports:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
- symbols: [ _CMFSSEAM_DEFAULT, _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT,
+ symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMFSSEAM_DEFAULT, _CMPWDSEAM_DEFAULT,
+ _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT,
_CONTAINER_PERSONA_PRIMARY, __container_init, __container_query_get_servicing_pid,
__container_references_get_servicing_pid, __container_traverse_continuation_create,
__container_traverse_continuation_free, __container_traverse_continuation_pop,
@@ -1691,6 +1694,7 @@ exports:
_container_get_path, _container_get_persona_unique_string,
_container_get_uid, _container_get_unique_path_component,
_container_get_user_managed_assets_relative_path, _container_group_container_identifiers_for_current_user,
+ _container_info_delete, _container_info_modify, _container_info_put,
_container_internal_get_first_boot_uuid, _container_invalidate_code_signing_cache,
_container_is_equal, _container_is_new, _container_is_transient,
_container_log_client_fault_logging_is_enabled, _container_log_error,
@@ -1728,8 +1732,9 @@ exports:
_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_query_copy, _container_query_count_results,
- _container_query_create, _container_query_create_from_container,
+ _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,
@@ -1742,8 +1747,10 @@ exports:
_container_regenerate_uuid, _container_repair_user_data, _container_replace,
_container_retry_test, _container_sandbox_extension_consume,
_container_sandbox_extension_revoke, _container_sandbox_issue_custom_extension,
- _container_sandbox_issue_extension, _container_seam_fs_ensure_lazy_loaded,
- _container_seam_fs_reset, _container_seam_fs_set_common, _container_serialize_copy_deserialized_reference,
+ _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_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,
@@ -1777,7 +1784,8 @@ exports:
_container_xpc_send_sync_message_with_object, _container_xpc_set_client_context_during_block,
_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, _gCMFSSeam ]
+ _container_xpc_shared_copy_connection, _gCMContainerSeam,
+ _gCMFSSeam, _gCMPWDSeam ]
- 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,
@@ -1871,7 +1879,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: 2559.60.39
+current-version: 2600.120.12
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -1908,17 +1916,17 @@ exports:
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name: '/usr/lib/system/libsystem_eligibility.dylib'
-current-version: 160.60.1
+current-version: 181.120.32
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: System
exports:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
- symbols: [ _load_eligibility_plist, _os_eligibility_domain_for_name,
- _os_eligibility_dump_sysdiagnose_data_to_dir, _os_eligibility_force_domain_answer,
- _os_eligibility_force_domain_set_answers, _os_eligibility_get_all_domain_answers,
- _os_eligibility_get_domain_answer, _os_eligibility_get_domain_notification_name,
- _os_eligibility_get_internal_state, _os_eligibility_get_state_dump,
+ symbols: [ _os_eligibility_domain_for_name, _os_eligibility_dump_sysdiagnose_data_to_dir,
+ _os_eligibility_force_domain_answer, _os_eligibility_force_domain_set_answers,
+ _os_eligibility_get_all_domain_answers, _os_eligibility_get_domain_answer,
+ _os_eligibility_get_domain_notification_name, _os_eligibility_get_internal_state,
+ _os_eligibility_get_state_dump, _os_eligibility_precise_locations,
_os_eligibility_reset_all_domains, _os_eligibility_reset_domain,
_os_eligibility_set_input, _os_eligibility_set_test_mode ]
--- !tapi-tbd
@@ -1926,7 +1934,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: 94
+current-version: 97
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -2064,7 +2072,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: 11215.61.3
+current-version: 11417.121.6
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -2114,20 +2122,21 @@ exports:
___open_extended, ___open_nocancel, ___openat, ___openat_dprotected_np,
___openat_nocancel, ___os_nexus_flow_add, ___os_nexus_flow_del,
___os_nexus_get_llink_info, ___os_nexus_ifattach, ___os_nexus_ifdetach,
- ___persona, ___pipe, ___poll_nocancel, ___posix_spawn, ___pread_nocancel,
- ___preadv_nocancel, ___proc_info, ___proc_info_extended_id,
- ___process_policy, ___pselect, ___pselect_nocancel, ___psynch_cvbroad,
- ___psynch_cvclrprepost, ___psynch_cvsignal, ___psynch_cvwait,
- ___psynch_mutexdrop, ___psynch_mutexwait, ___psynch_rw_downgrade,
- ___psynch_rw_longrdlock, ___psynch_rw_rdlock, ___psynch_rw_unlock,
- ___psynch_rw_unlock2, ___psynch_rw_upgrade, ___psynch_rw_wrlock,
- ___psynch_rw_yieldwrlock, ___pthread_canceled, ___pthread_chdir,
- ___pthread_fchdir, ___pthread_kill, ___pthread_markcancel,
- ___pthread_sigmask, ___ptrace, ___pwrite_nocancel, ___pwritev_nocancel,
- ___read_nocancel, ___readv_nocancel, ___reboot, ___record_system_event,
- ___recvfrom, ___recvfrom_nocancel, ___recvmsg, ___recvmsg_nocancel,
- ___rename, ___renameat, ___renameatx_np, ___rmdir, ___sandbox_me,
- ___sandbox_mm, ___sandbox_ms, ___sandbox_msp, ___select, ___select_nocancel,
+ ___oslog_coproc, ___oslog_coproc_reg, ___persona, ___pipe,
+ ___poll_nocancel, ___posix_spawn, ___pread_nocancel, ___preadv_nocancel,
+ ___proc_info, ___proc_info_extended_id, ___process_policy,
+ ___pselect, ___pselect_nocancel, ___psynch_cvbroad, ___psynch_cvclrprepost,
+ ___psynch_cvsignal, ___psynch_cvwait, ___psynch_mutexdrop,
+ ___psynch_mutexwait, ___psynch_rw_downgrade, ___psynch_rw_longrdlock,
+ ___psynch_rw_rdlock, ___psynch_rw_unlock, ___psynch_rw_unlock2,
+ ___psynch_rw_upgrade, ___psynch_rw_wrlock, ___psynch_rw_yieldwrlock,
+ ___pthread_canceled, ___pthread_chdir, ___pthread_fchdir,
+ ___pthread_kill, ___pthread_markcancel, ___pthread_sigmask,
+ ___ptrace, ___pwrite_nocancel, ___pwritev_nocancel, ___read_nocancel,
+ ___readv_nocancel, ___reboot, ___record_system_event, ___recvfrom,
+ ___recvfrom_nocancel, ___recvmsg, ___recvmsg_nocancel, ___rename,
+ ___renameat, ___renameatx_np, ___rmdir, ___sandbox_me, ___sandbox_mm,
+ ___sandbox_ms, ___sandbox_msp, ___select, ___select_nocancel,
___sem_open, ___sem_wait_nocancel, ___semctl, ___semsys, ___semwait_signal,
___semwait_signal_nocancel, ___sendmsg, ___sendmsg_nocancel,
___sendto, ___sendto_nocancel, ___setattrlist, ___setlogin,
@@ -2182,23 +2191,23 @@ exports:
__kernelrpc_mach_vm_protect_trap, __kernelrpc_mach_vm_purgable_control,
__kernelrpc_mach_vm_purgable_control_trap, __kernelrpc_mach_vm_read,
__kernelrpc_mach_vm_remap, __kernelrpc_mach_vm_remap_new,
- __kernelrpc_mach_voucher_extract_attr_recipe, __kernelrpc_task_set_port_space,
- __kernelrpc_thread_policy, __kernelrpc_thread_policy_set,
- __kernelrpc_thread_set_policy, __kernelrpc_vm_map, __kernelrpc_vm_purgable_control,
- __kernelrpc_vm_read, __kernelrpc_vm_remap, __kernelrpc_vm_remap_new,
- __mach_errors, __mach_fork_child, __mach_snprintf, __mach_vsnprintf,
- __os_alloc_once_table, __os_xbs_chrooted, __register_gethostuuid_callback,
- __thread_set_tsd_base, _abort_with_payload, _abort_with_reason,
- _accept, '_accept$NOCANCEL', _access, _accessx_np, _acct,
- _act_get_state, _act_set_state, _adjtime, _aio_cancel, _aio_error,
- _aio_fsync, _aio_read, _aio_return, _aio_suspend, '_aio_suspend$NOCANCEL',
- _aio_write, _audit, _audit_session_join, _audit_session_port,
- _audit_session_self, _auditctl, _auditon, _bind, _bootstrap_port,
- _cerror, _cerror_nocancel, _change_fdguard_np, _chdir, _chflags,
- _chmod, _chown, _chroot, _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,
+ __kernelrpc_mach_vm_update_pointers_with_remote_tags, __kernelrpc_mach_voucher_extract_attr_recipe,
+ __kernelrpc_task_set_port_space, __kernelrpc_thread_policy,
+ __kernelrpc_thread_policy_set, __kernelrpc_thread_set_policy,
+ __kernelrpc_vm_map, __kernelrpc_vm_purgable_control, __kernelrpc_vm_read,
+ __kernelrpc_vm_remap, __kernelrpc_vm_remap_new, __mach_errors,
+ __mach_fork_child, __mach_snprintf, __mach_vsnprintf, __os_alloc_once_table,
+ __os_xbs_chrooted, __register_gethostuuid_callback, __thread_set_tsd_base,
+ _abort_with_payload, _abort_with_reason, _accept, '_accept$NOCANCEL',
+ _access, _accessx_np, _acct, _act_get_state, _act_set_state,
+ _adjtime, _aio_cancel, _aio_error, _aio_fsync, _aio_read,
+ _aio_return, _aio_suspend, '_aio_suspend$NOCANCEL', _aio_write,
+ _audit, _audit_session_join, _audit_session_port, _audit_session_self,
+ _auditctl, _auditon, _bind, _bootstrap_port, _cerror, _cerror_nocancel,
+ _change_fdguard_np, _chdir, _chflags, _chmod, _chown, _chroot,
+ _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_set_efficiency, _coalition_info_set_name,
_coalition_ledger_set_logical_writes_limit, _coalition_policy_get,
@@ -2211,20 +2220,21 @@ exports:
_exception_raise_state_identity, _exchangedata, _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_launch_conclave,
- _exclaves_lookup_service, _exclaves_named_buffer_copyin, _exclaves_named_buffer_copyout,
- _exclaves_named_buffer_create, _exclaves_notification_create,
- _exclaves_outbound_buffer_copyout, _exclaves_outbound_buffer_create,
- _exclaves_sensor_create, _exclaves_sensor_start, _exclaves_sensor_status,
- _exclaves_sensor_stop, _execve, _faccessat, _fchdir, _fchflags,
- _fchmod, _fchmodat, _fchown, _fchownat, _fclonefileat, _fcntl,
- '_fcntl$NOCANCEL', _fdatasync, _ffsctl, _fgetattrlist, _fgetxattr,
- _fhopen, _fileport_makefd, _fileport_makeport, _flistxattr,
- _flock, _fmount, _fpathconf, _freadlink, _fremovexattr, _fs_snapshot_create,
- _fs_snapshot_delete, _fs_snapshot_list, _fs_snapshot_mount,
- _fs_snapshot_rename, _fs_snapshot_revert, _fs_snapshot_root,
- _fsctl, _fsetattrlist, _fsetxattr, _fsgetpath, _fsgetpath_ext,
- _fstat, _fstat64, _fstatat, _fstatat64, _fstatfs, _fstatfs64,
+ _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time,
+ _exclaves_launch_conclave, _exclaves_lookup_service, _exclaves_named_buffer_copyin,
+ _exclaves_named_buffer_copyout, _exclaves_named_buffer_create,
+ _exclaves_notification_create, _exclaves_outbound_buffer_copyout,
+ _exclaves_outbound_buffer_create, _exclaves_sensor_create,
+ _exclaves_sensor_start, _exclaves_sensor_status, _exclaves_sensor_stop,
+ _execve, _faccessat, _fchdir, _fchflags, _fchmod, _fchmodat,
+ _fchown, _fchownat, _fclonefileat, _fcntl, '_fcntl$NOCANCEL',
+ _fdatasync, _ffsctl, _fgetattrlist, _fgetxattr, _fhopen, _fileport_makefd,
+ _fileport_makeport, _flistxattr, _flock, _fmount, _fpathconf,
+ _freadlink, _fremovexattr, _fs_snapshot_create, _fs_snapshot_delete,
+ _fs_snapshot_list, _fs_snapshot_mount, _fs_snapshot_rename,
+ _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,
@@ -2302,18 +2312,20 @@ exports:
_mach_thread_self, _mach_thread_special_port_description,
_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_init, _mach_vm_deferred_reclamation_buffer_synchronize,
- _mach_vm_deferred_reclamation_buffer_update_reclaimable_bytes,
+ _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_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_available, _mach_vm_reclaim_is_reclaimed,
- _mach_vm_reclaim_mark_free, _mach_vm_reclaim_mark_free_with_id,
- _mach_vm_reclaim_mark_used, _mach_vm_reclaim_ringbuffer_init,
- _mach_vm_reclaim_synchronize, _mach_vm_reclaim_update_kernel_accounting,
+ _mach_vm_reclaim_is_reusable, _mach_vm_reclaim_query_state,
+ _mach_vm_reclaim_ring_allocate, _mach_vm_reclaim_ring_capacity,
+ _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_wire, _mach_vm_write, _mach_voucher_attr_command,
+ _mach_vm_remap_new, _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,
_mach_voucher_extract_attr_recipe_trap, _mach_wait_until,
@@ -2360,6 +2372,7 @@ exports:
_os_channel_sync, _os_channel_tx_ring, _os_channel_write_attr,
_os_copy_and_inet_checksum, _os_cpu_copy_in_cksum, _os_cpu_in_cksum,
_os_cpu_in_cksum_mbuf, _os_fault_with_payload, _os_inet_checksum,
+ _os_log_coprocessor_as_kernel, _os_log_coprocessor_register_as_kernel,
_os_nexus_attr_clone, _os_nexus_attr_create, _os_nexus_attr_destroy,
_os_nexus_attr_get, _os_nexus_attr_set, _os_nexus_controller_add_traffic_rule,
_os_nexus_controller_alloc_provider_instance, _os_nexus_controller_bind_provider_instance,
@@ -2498,8 +2511,8 @@ exports:
_stackshot_config_set_delta_timestamp, _stackshot_config_set_flags,
_stackshot_config_set_pagetable_mask, _stackshot_config_set_pid,
_stackshot_config_set_size_hint, _stat, _stat64, _statfs,
- _statfs64, _swapon, _swtch, _swtch_pri, _symlink, _symlinkat,
- _sync, _syscall, _syscall_thread_switch, _system_get_sfi_window,
+ _statfs64, _statfs_ext, _swapon, _swtch, _swtch_pri, _symlink,
+ _symlinkat, _sync, _syscall, _syscall_thread_switch, _system_get_sfi_window,
_system_override, _system_set_sfi_window, _system_version_compat_mode,
_task_assign, _task_assign_default, _task_create, _task_create_identity_token,
_task_dyld_process_info_notify_deregister, _task_dyld_process_info_notify_get,
@@ -2569,7 +2582,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: 3289
+current-version: 3291.100.4
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst,
arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
@@ -2791,7 +2804,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: 657.60.21
+current-version: 715.120.13
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -2803,11 +2816,11 @@ exports:
___malloc_late_init, __malloc_fork_child, __malloc_fork_parent,
__malloc_fork_prepare, __malloc_no_asl_log, __os_cpu_number_override,
_aligned_alloc, _calloc, _free, _mag_set_thread_index, _malloc,
- _malloc_check_counter, _malloc_check_each, _malloc_check_start,
- _malloc_claimed_address, _malloc_create_legacy_default_zone,
- _malloc_create_zone, _malloc_debug, _malloc_default_purgeable_zone,
- _malloc_default_zone, _malloc_destroy_zone, _malloc_engaged_nano,
- _malloc_engaged_secure_allocator, _malloc_enter_process_memory_limit_warn_mode,
+ _malloc_allows_internal_security_4test, _malloc_check_counter,
+ _malloc_check_each, _malloc_check_start, _malloc_claimed_address,
+ _malloc_create_legacy_default_zone, _malloc_create_zone, _malloc_debug,
+ _malloc_default_purgeable_zone, _malloc_default_zone, _malloc_destroy_zone,
+ _malloc_engaged_nano, _malloc_engaged_secure_allocator, _malloc_enter_process_memory_limit_warn_mode,
_malloc_error, _malloc_freezedry, _malloc_get_all_zones, _malloc_get_thread_options,
_malloc_get_wrapped_zone, _malloc_get_zone_name, _malloc_good_size,
_malloc_jumpstart, _malloc_logger, _malloc_make_nonpurgeable,
@@ -2865,7 +2878,7 @@ exports:
_NEHelperCopyXPCEndpointForIdentityProxyExtended, _NEHelperGetAppTrackerDomains,
_NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket,
_NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD,
- _NEHelperGetPFKeySocket, _NEHelperHandleConfigurationsChangedBySC,
+ _NEHelperGetPFKeySocket, _NEHelperGetPid, _NEHelperHandleConfigurationsChangedBySC,
_NEHelperInit, _NEHelperInterfaceCreate, _NEHelperInterfaceDestroy,
_NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress,
_NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetDelegate,
@@ -2936,7 +2949,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: 327.60.1
+current-version: 342
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -2956,7 +2969,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: 340.60.2
+current-version: 349
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3011,6 +3024,7 @@ exports:
__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,
_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,
@@ -3033,7 +3047,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: 535
+current-version: 536
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3129,7 +3143,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.61.2
+current-version: 2401.121.3
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3142,10 +3156,9 @@ exports:
_SANDBOX_CHECK_ALLOW_APPROVAL, _SANDBOX_CHECK_CANONICAL, _SANDBOX_CHECK_NOFOLLOW,
_SANDBOX_CHECK_NO_APPROVAL, _SANDBOX_CHECK_NO_REPORT, _SANDBOX_CHECK_POSIX_READABLE,
_SANDBOX_CHECK_POSIX_WRITEABLE, _SANDBOX_EXTENSION_CANONICAL,
- _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_MAGIC, _SANDBOX_EXTENSION_NOFOLLOW,
- _SANDBOX_EXTENSION_NOFOLLOW_ANY, _SANDBOX_EXTENSION_NO_REPORT,
- _SANDBOX_EXTENSION_NO_STORAGE_CLASS, _SANDBOX_EXTENSION_PREFIXMATCH,
- _SANDBOX_EXTENSION_UNRESOLVED, __amkrtemp, __sandbox_enter_notify_libxpc,
+ _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_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork,
_kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation,
@@ -3176,15 +3189,13 @@ exports:
_sandbox_extension_issue_generic_to_process, _sandbox_extension_issue_generic_to_process_by_pid,
_sandbox_extension_issue_iokit_registry_entry_class, _sandbox_extension_issue_iokit_registry_entry_class_to_process,
_sandbox_extension_issue_iokit_registry_entry_class_to_process_by_pid,
- _sandbox_extension_issue_iokit_user_client_class, _sandbox_extension_issue_mach,
- _sandbox_extension_issue_mach_to_process, _sandbox_extension_issue_mach_to_process_by_pid,
- _sandbox_extension_issue_posix_ipc, _sandbox_extension_issue_related_file_to_process,
+ _sandbox_extension_issue_mach, _sandbox_extension_issue_mach_to_process,
+ _sandbox_extension_issue_mach_to_process_by_pid, _sandbox_extension_issue_related_file_to_process,
_sandbox_extension_reap, _sandbox_extension_release, _sandbox_extension_release_and_detect_last_reference,
_sandbox_extension_release_file, _sandbox_extension_update_file,
_sandbox_extension_update_file_by_fileid, _sandbox_free_error,
_sandbox_get_container_expected, _sandbox_init, _sandbox_init_from_pid,
- _sandbox_init_with_extensions, _sandbox_init_with_parameters,
- _sandbox_issue_extension, _sandbox_issue_fs_extension, _sandbox_issue_fs_rw_extension,
+ _sandbox_init_with_parameters, _sandbox_issue_fs_extension,
_sandbox_issue_mach_extension, _sandbox_message_filter_query,
_sandbox_message_filter_release, _sandbox_message_filter_retain,
_sandbox_note, _sandbox_passthrough_access, _sandbox_proc_getcontainer,
@@ -3239,13 +3250,14 @@ exports:
___asan_get_report_pc, ___asan_get_report_sp, ___asan_get_shadow_mapping,
___asan_locate_address, ___asan_report_present, __sanitizers_init,
_sanitizers_address_on_report, _sanitizers_diagnose_memory_error,
- _sanitizers_report_globals ]
+ _sanitizers_report_globals, _sanitizers_testonly_diagnose_error,
+ _sanitizers_testonly_get_shadow_address ]
--- !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/libsystem_secinit.dylib'
-current-version: 153.60.1
+current-version: 153.100.10
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3278,7 +3290,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: 1612.60.27
+current-version: 1643.120.5
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3315,10 +3327,10 @@ exports:
__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, _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,
+ _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,7 +3360,7 @@ 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'
-current-version: 1800.85
+current-version: 1900.125
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3369,8 +3381,8 @@ exports:
___unw_remove_find_dynamic_unwind_sections, _unw_get_fpreg,
_unw_get_proc_info, _unw_get_proc_name, _unw_get_reg, _unw_getcontext,
_unw_init_local, _unw_is_fpreg, _unw_is_signal_frame, _unw_iterate_dwarf_unwind_cache,
- _unw_local_addr_space, _unw_regname, _unw_resume, _unw_set_fpreg,
- _unw_set_reg, _unw_step ]
+ _unw_local_addr_space, _unw_regname, _unw_resume, _unw_resume_with_frames_walked,
+ _unw_set_fpreg, _unw_set_reg, _unw_step ]
- targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ]
symbols: [ ___unw_is_pointer_auth_enabled ]
--- !tapi-tbd
@@ -3378,7 +3390,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: 2866.60.21
+current-version: 2894.121.3
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
@@ -3426,13 +3438,14 @@ exports:
__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, __libxpc_initializer, __spawn_via_launchd,
- __system_ios_support_version_copy_string_sysctl, __system_version_copy_string_plist,
- __system_version_copy_string_sysctl, __system_version_fallback,
- __system_version_parse_string, __system_version_plist_path,
- __vproc_get_last_exit_status, __vproc_grab_subset, __vproc_kickstart_by_label,
- __vproc_log, __vproc_log_error, __vproc_logv, __vproc_pid_is_managed,
- __vproc_post_fork_ping, __vproc_send_signal_by_label, __vproc_set_global_on_demand,
+ __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,
+ __system_version_fallback, __system_version_parse_string,
+ __system_version_plist_path, __vproc_get_last_exit_status,
+ __vproc_grab_subset, __vproc_kickstart_by_label, __vproc_log,
+ __vproc_log_error, __vproc_logv, __vproc_pid_is_managed, __vproc_post_fork_ping,
+ __vproc_send_signal_by_label, __vproc_set_global_on_demand,
__vproc_standby_begin, __vproc_standby_count, __vproc_standby_end,
__vproc_standby_timeout, __vproc_transaction_begin, __vproc_transaction_count,
__vproc_transaction_count_for_pid, __vproc_transaction_end,
@@ -3521,7 +3534,8 @@ exports:
_launch_service_stats_enable, _launch_service_stats_enable_4ppse,
_launch_service_stats_is_enabled, _launch_service_stats_is_enabled_4ppse,
_launch_set_service_enabled, _launch_set_system_service_enabled,
- _launch_socket_service_check_in, _launch_userspace_reboot_with_purpose,
+ _launch_socket_service_check_in, _launch_trial_factors_active_reload,
+ _launch_urgent_log_submission_completed, _launch_userspace_reboot_with_purpose,
_launch_version_for_user_service_4coresim, _launch_wait, _launchd_close,
_launchd_fdopen, _launchd_getfd, _launchd_msg_recv, _launchd_msg_send,
_load_launchd_jobs_at_loginwindow_prompt, _mpm_uncork_fork,
@@ -3541,41 +3555,41 @@ exports:
_xpc_activity_set_completion_status, _xpc_activity_set_criteria,
_xpc_activity_set_network_threshold, _xpc_activity_set_state,
_xpc_activity_should_be_data_budgeted, _xpc_activity_should_defer,
- _xpc_activity_unregister, _xpc_add_bundle, _xpc_add_bundles_for_domain,
- _xpc_array_append_value, _xpc_array_apply, _xpc_array_apply_f,
- _xpc_array_copy_mach_send, _xpc_array_create, _xpc_array_create_connection,
- _xpc_array_create_empty, _xpc_array_dup_fd, _xpc_array_get_array,
- _xpc_array_get_bool, _xpc_array_get_count, _xpc_array_get_data,
- _xpc_array_get_date, _xpc_array_get_dictionary, _xpc_array_get_double,
- _xpc_array_get_int64, _xpc_array_get_pointer, _xpc_array_get_string,
- _xpc_array_get_uint64, _xpc_array_get_uuid, _xpc_array_get_value,
- _xpc_array_set_bool, _xpc_array_set_connection, _xpc_array_set_data,
- _xpc_array_set_date, _xpc_array_set_double, _xpc_array_set_fd,
- _xpc_array_set_int64, _xpc_array_set_mach_send, _xpc_array_set_pointer,
- _xpc_array_set_string, _xpc_array_set_uint64, _xpc_array_set_uuid,
- _xpc_array_set_value, _xpc_atfork_child, _xpc_atfork_parent,
- _xpc_atfork_prepare, _xpc_binprefs_add, _xpc_binprefs_alloc,
- _xpc_binprefs_copy, _xpc_binprefs_copy_description, _xpc_binprefs_count,
- _xpc_binprefs_cpu_subtype, _xpc_binprefs_cpu_type, _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_main, _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,
- _xpc_connection_activate, _xpc_connection_cancel, _xpc_connection_copy_bundle_id,
- _xpc_connection_copy_entitlement_value, _xpc_connection_copy_invalidation_reason,
- _xpc_connection_create, _xpc_connection_create_bs_service_listener,
- _xpc_connection_create_from_endpoint, _xpc_connection_create_listener,
- _xpc_connection_create_mach_service, _xpc_connection_enable_sim2host_4sim,
- _xpc_connection_enable_termination_imminent_event, _xpc_connection_get_asid,
- _xpc_connection_get_audit_token, _xpc_connection_get_bs_type,
- _xpc_connection_get_context, _xpc_connection_get_egid, _xpc_connection_get_euid,
- _xpc_connection_get_filter_policy_id_4test, _xpc_connection_get_instance,
- _xpc_connection_get_name, _xpc_connection_get_peer_instance,
+ _xpc_activity_unregister, _xpc_add_bundle, _xpc_add_bundle_with_lwcr,
+ _xpc_add_bundles_for_domain, _xpc_array_append_value, _xpc_array_apply,
+ _xpc_array_apply_f, _xpc_array_copy_mach_send, _xpc_array_create,
+ _xpc_array_create_connection, _xpc_array_create_empty, _xpc_array_dup_fd,
+ _xpc_array_get_array, _xpc_array_get_bool, _xpc_array_get_count,
+ _xpc_array_get_data, _xpc_array_get_date, _xpc_array_get_dictionary,
+ _xpc_array_get_double, _xpc_array_get_int64, _xpc_array_get_pointer,
+ _xpc_array_get_string, _xpc_array_get_uint64, _xpc_array_get_uuid,
+ _xpc_array_get_value, _xpc_array_set_bool, _xpc_array_set_connection,
+ _xpc_array_set_data, _xpc_array_set_date, _xpc_array_set_double,
+ _xpc_array_set_fd, _xpc_array_set_int64, _xpc_array_set_mach_send,
+ _xpc_array_set_pointer, _xpc_array_set_string, _xpc_array_set_uint64,
+ _xpc_array_set_uuid, _xpc_array_set_value, _xpc_atfork_child,
+ _xpc_atfork_parent, _xpc_atfork_prepare, _xpc_binprefs_add,
+ _xpc_binprefs_alloc, _xpc_binprefs_copy, _xpc_binprefs_copy_description,
+ _xpc_binprefs_count, _xpc_binprefs_cpu_subtype, _xpc_binprefs_cpu_type,
+ _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_main,
+ _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,
+ _xpc_connection_activate, _xpc_connection_bs_seal_listener,
+ _xpc_connection_cancel, _xpc_connection_copy_bundle_id, _xpc_connection_copy_entitlement_value,
+ _xpc_connection_copy_invalidation_reason, _xpc_connection_create,
+ _xpc_connection_create_bs_service_listener, _xpc_connection_create_from_endpoint,
+ _xpc_connection_create_listener, _xpc_connection_create_mach_service,
+ _xpc_connection_enable_sim2host_4sim, _xpc_connection_enable_termination_imminent_event,
+ _xpc_connection_get_asid, _xpc_connection_get_audit_token,
+ _xpc_connection_get_bs_type, _xpc_connection_get_context,
+ _xpc_connection_get_egid, _xpc_connection_get_euid, _xpc_connection_get_filter_policy_id_4test,
+ _xpc_connection_get_instance, _xpc_connection_get_name, _xpc_connection_get_peer_instance,
_xpc_connection_get_pid, _xpc_connection_is_extension, _xpc_connection_kill,
_xpc_connection_resume, _xpc_connection_send_barrier, _xpc_connection_send_message,
_xpc_connection_send_message_with_reply, _xpc_connection_send_message_with_reply_sync,
@@ -3680,26 +3694,26 @@ exports:
_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_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_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_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_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 ]
objc-classes: [ OS_xpc_object ]
...
lib/libc/darwin/SDKSettings.json
@@ -1,1 +1,1 @@
-{"MinimalDisplayName":"15.2"}
+{"MinimalDisplayName":"15.5"}
lib/libc/include/any-macos-any/_types/_locale_t.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2024 Apple Inc. All rights reserved.
+ *
+ * @APPLE_OSREFERENCE_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. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * 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_OSREFERENCE_LICENSE_HEADER_END@
+ */
+
+#ifndef _LOCALE_T
+#define _LOCALE_T
+
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
+
+struct _xlocale; /* forward reference */
+typedef struct _xlocale * locale_t;
+#endif /* _LOCALE_T */
lib/libc/include/any-macos-any/arpa/inet.h
@@ -63,6 +63,7 @@
/* External definitions for functions in inet(3), addr2ascii(3) */
+#include <_bounds.h>
#include <sys/cdefs.h>
#include <sys/_types.h>
#include <stdint.h> /* uint32_t uint16_t */
@@ -70,26 +71,28 @@
#include <sys/_endian.h> /* htonl() and family if (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
#include <netinet/in.h> /* in_addr */
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
in_addr_t inet_addr(const char *);
-char *inet_ntoa(struct in_addr);
-const char *inet_ntop(int, const void *, char *, socklen_t);
+char *_LIBC_CSTR inet_ntoa(struct in_addr);
+const char *inet_ntop(int, const void *, char *_LIBC_COUNT(__size), socklen_t __size);
int inet_pton(int, const char *, void *);
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
int ascii2addr(int, const char *, void *);
-char *addr2ascii(int, const void *, int, char *);
+char *_LIBC_CSTR addr2ascii(int, const void *_LIBC_SIZE(__size), int __size, char *_LIBC_UNSAFE_INDEXABLE);
int inet_aton(const char *, struct in_addr *);
in_addr_t inet_lnaof(struct in_addr);
struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
in_addr_t inet_netof(struct in_addr);
in_addr_t inet_network(const char *);
-char *inet_net_ntop(int, const void *, int, char *, __darwin_size_t);
-int inet_net_pton(int, const char *, void *, __darwin_size_t);
-char *inet_neta(in_addr_t, char *, __darwin_size_t);
-unsigned int inet_nsap_addr(const char *, unsigned char *, int);
-char *inet_nsap_ntoa(int, const unsigned char *, char *);
+char *_LIBC_CSTR inet_net_ntop(int, const void *, int, char *_LIBC_COUNT(__size), __darwin_size_t __size);
+int inet_net_pton(int, const char *, void *_LIBC_SIZE(__size), __darwin_size_t __size);
+char *_LIBC_CSTR inet_neta(in_addr_t, char *_LIBC_COUNT(__size), __darwin_size_t __size);
+unsigned int inet_nsap_addr(const char *, unsigned char *_LIBC_COUNT(__maxlen), int __maxlen);
+char *_LIBC_CSTR inet_nsap_ntoa(int __binlen, const unsigned char *_LIBC_COUNT(__binlen), char *_LIBC_COUNT_OR_NULL(2 + __binlen*2 + __binlen/2 + 1));
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
__END_DECLS
lib/libc/include/any-macos-any/dispatch/base.h
@@ -244,11 +244,13 @@
#define DISPATCH_SIZED_BY(X)
#endif
-#define DISPATCH_OSX_SUPPORTS_AT_LEAST(macos, ios, tvos, watchos) \
+#define DISPATCH_OSX_SUPPORTS_AT_LEAST(macos, ios, tvos, watchos, bridgeos, visionos) \
( (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= macos) \
|| (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= ios) \
|| (defined(__TV_OS_VERSION_MIN_REQUIRED) && __TV_OS_VERSION_MIN_REQUIRED >= tvos) \
|| (defined(__WATCH_OS_VERSION_MIN_REQUIRED) && __WATCH_OS_VERSION_MIN_REQUIRED >= watchos) \
+ || (defined(__BRIDGE_OS_VERSION_MIN_REQUIRED) && __BRIDGE_OS_VERSION_MIN_REQUIRED >= bridgeos) \
+ || (defined(__VISION_OS_VERSION_MIN_REQUIRED) && __VISION_OS_VERSION_MIN_REQUIRED >= visionos) \
)
#if !__has_feature(nullability)
lib/libc/include/any-macos-any/dispatch/object.h
@@ -71,7 +71,7 @@ DISPATCH_SWIFT_NAME(DispatchObject) OS_OBJECT_DECL_CLASS(dispatch_object);
/*
* DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT is for declaring subclasses of a serial executor base class.
*/
-#if DISPATCH_OSX_SUPPORTS_AT_LEAST(140000, 170000, 170000, 100000)
+#if DISPATCH_OSX_SUPPORTS_AT_LEAST(140000, 170000, 170000, 100000, 90400, 10000)
#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \
DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue_serial_executor, swift_name)
#else
@@ -159,6 +159,7 @@ typedef union {
DISPATCH_EXPORT struct dispatch_source_type_s \
_dispatch_source_type_##name; \
DISPATCH_SWIFT_NAME(swift_name) \
+ OS_OBJECT_SWIFT_SENDABLE \
OS_OBJECT_DECL_PROTOCOL(dispatch_source_##name, <OS_dispatch_source>); \
OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL( \
dispatch_source, dispatch_source_##name)
@@ -173,7 +174,7 @@ typedef union {
OS_OBJECT_DECL_PROTOCOL(name, <NSObject>); \
OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL(name, name)
#ifndef DISPATCH_DATA_DECL
-#define DISPATCH_DATA_DECL(name) OS_OBJECT_DECL_SWIFT(name)
+#define DISPATCH_DATA_DECL(name) OS_OBJECT_DECL_SENDABLE_SWIFT(name)
#endif // DISPATCH_DATA_DECL
#define DISPATCH_DATA_DECL_SWIFT(name, swift_name) \
DISPATCH_SWIFT_NAME(swift_name) \
lib/libc/include/any-macos-any/libkern/OSThermalNotification.h
@@ -24,10 +24,13 @@
#ifndef _OSTHERMALNOTIFICATION_H_
#define _OSTHERMALNOTIFICATION_H_
+#include <_bounds.h>
#include <sys/cdefs.h>
#include <Availability.h>
#include <TargetConditionals.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/*
** OSThermalNotification.h
**
lib/libc/include/any-macos-any/mach/arm/_structs.h
@@ -611,6 +611,72 @@ _STRUCT_ARM_PAGEIN_STATE
int __pagein_error;
};
+#if __DARWIN_UNIX03
+#define _STRUCT_ARM_SME_STATE struct __darwin_arm_sme_state
+_STRUCT_ARM_SME_STATE
+{
+ __uint64_t __svcr;
+ __uint64_t __tpidr2_el0;
+ __uint16_t __svl_b;
+};
+
+#define _STRUCT_ARM_SVE_Z_STATE struct __darwin_arm_sve_z_state
+_STRUCT_ARM_SVE_Z_STATE
+{
+ char __z[16][256];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SVE_P_STATE struct __darwin_arm_sve_p_state
+_STRUCT_ARM_SVE_P_STATE
+{
+ char __p[16][256 / 8];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SME_ZA_STATE struct __darwin_arm_sme_za_state
+_STRUCT_ARM_SME_ZA_STATE
+{
+ char __za[4096];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SME2_STATE struct __darwin_arm_sme2_state
+_STRUCT_ARM_SME2_STATE
+{
+ char __zt0[64];
+} __attribute__((aligned(4)));
+#else /* !__DARWIN_UNIX03 */
+#define _STRUCT_ARM_SME_STATE struct arm_sme_state
+_STRUCT_ARM_SME_STATE
+{
+ __uint64_t svcr;
+ __uint64_t tpidr2_el0;
+ __uint16_t svl_b;
+};
+
+#define _STRUCT_ARM_SVE_Z_STATE struct arm_sve_z_state
+_STRUCT_ARM_SVE_Z_STATE
+{
+ char z[16][256];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SVE_P_STATE struct arm_sve_p_state
+_STRUCT_ARM_SVE_P_STATE
+{
+ char p[16][256 / 8];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SME_ZA_STATE struct arm_sme_za_state
+_STRUCT_ARM_SME_ZA_STATE
+{
+ char za[4096];
+} __attribute__((aligned(4)));
+
+#define _STRUCT_ARM_SME2_STATE struct arm_sme2_state
+_STRUCT_ARM_SME2_STATE
+{
+ char zt0[64];
+} __attribute__((aligned(4)));
+#endif /* __DARWIN_UNIX03 */
+
/*
* Debug State
*/
lib/libc/include/any-macos-any/mach/arm/thread_status.h
@@ -73,8 +73,30 @@
#define ARM_PAGEIN_STATE 27
-
-#define THREAD_STATE_FLAVORS 29 /* This must be updated to 1 more than the highest numerical state flavor */
+/* API */
+#define ARM_SME_STATE 28
+#define ARM_SVE_Z_STATE1 29
+#define ARM_SVE_Z_STATE2 30
+#define ARM_SVE_P_STATE 31
+#define ARM_SME_ZA_STATE1 32
+#define ARM_SME_ZA_STATE2 33
+#define ARM_SME_ZA_STATE3 34
+#define ARM_SME_ZA_STATE4 35
+#define ARM_SME_ZA_STATE5 36
+#define ARM_SME_ZA_STATE6 37
+#define ARM_SME_ZA_STATE7 38
+#define ARM_SME_ZA_STATE8 39
+#define ARM_SME_ZA_STATE9 40
+#define ARM_SME_ZA_STATE10 41
+#define ARM_SME_ZA_STATE11 42
+#define ARM_SME_ZA_STATE12 42
+#define ARM_SME_ZA_STATE13 44
+#define ARM_SME_ZA_STATE14 45
+#define ARM_SME_ZA_STATE15 46
+#define ARM_SME_ZA_STATE16 47
+#define ARM_SME2_STATE 48
+
+#define THREAD_STATE_FLAVORS 50 /* This must be updated to 1 more than the highest numerical state flavor */
#ifndef ARM_STATE_FLAVOR_IS_OTHER_VALID
#define ARM_STATE_FLAVOR_IS_OTHER_VALID(_flavor_) 0
@@ -101,6 +123,11 @@
(x == ARM_DEBUG_STATE64) || \
(x == ARM_PAGEIN_STATE) || \
(ARM_STATE_FLAVOR_IS_OTHER_VALID(x)))
+/*
+ * VALID_THREAD_STATE_FLAVOR() intentionally excludes ARM_SME_STATE through
+ * ARM_SME2_STATE, since these are not currently supported inside Mach exception
+ * ports.
+ */
struct arm_state_hdr {
uint32_t flavor;
@@ -199,6 +226,12 @@ typedef _STRUCT_ARM_DEBUG_STATE64 arm_debug_state64_t;
typedef _STRUCT_ARM_PAGEIN_STATE arm_pagein_state_t;
+typedef _STRUCT_ARM_SME_STATE arm_sme_state_t;
+typedef _STRUCT_ARM_SVE_Z_STATE arm_sve_z_state_t;
+typedef _STRUCT_ARM_SVE_P_STATE arm_sve_p_state_t;
+typedef _STRUCT_ARM_SME_ZA_STATE arm_sme_za_state_t;
+typedef _STRUCT_ARM_SME2_STATE arm_sme2_state_t;
+
/*
* Otherwise not ARM64 kernel and we must preserve legacy ARM definitions of
* arm_debug_state for binary compatability of userland consumers of this file.
@@ -241,6 +274,21 @@ typedef _STRUCT_ARM_LEGACY_DEBUG_STATE arm_debug_state_t;
#define ARM_NEON_STATE64_COUNT ((mach_msg_type_number_t) \
(sizeof (arm_neon_state64_t)/sizeof(uint32_t)))
+#define ARM_SME_STATE_COUNT ((mach_msg_type_number_t) \
+ (sizeof (arm_sme_state_t)/sizeof(uint32_t)))
+
+#define ARM_SVE_Z_STATE_COUNT ((mach_msg_type_number_t) \
+ (sizeof (arm_sve_z_state_t)/sizeof(uint32_t)))
+
+#define ARM_SVE_P_STATE_COUNT ((mach_msg_type_number_t) \
+ (sizeof (arm_sve_p_state_t)/sizeof(uint32_t)))
+
+#define ARM_SME_ZA_STATE_COUNT ((mach_msg_type_number_t) \
+ (sizeof (arm_sme_za_state_t)/sizeof(uint32_t)))
+
+#define ARM_SME2_STATE_COUNT ((mach_msg_type_number_t) \
+ (sizeof (arm_sme2_state_t)/sizeof(uint32_t)))
+
#define MACHINE_THREAD_STATE ARM_THREAD_STATE
#define MACHINE_THREAD_STATE_COUNT ARM_UNIFIED_THREAD_STATE_COUNT
lib/libc/include/any-macos-any/mach/mach_init.h
@@ -77,7 +77,7 @@ __API_AVAILABLE(macos(11.3), ios(14.5), tvos(14.5), watchos(7.3))
extern boolean_t mach_task_is_self(task_name_t task);
extern kern_return_t host_page_size(host_t, vm_size_t *);
-extern mach_port_t mach_task_self_;
+extern __swift_nonisolated_unsafe mach_port_t mach_task_self_;
#define mach_task_self() mach_task_self_
#define current_task() mach_task_self()
lib/libc/include/any-macos-any/mach/mach_time.h
@@ -67,6 +67,10 @@ uint64_t mach_continuous_time(void);
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0)
uint64_t mach_continuous_approximate_time(void);
+/*
+ * variant of mach_continuous_time that uses speculative timebase
+ */
+
__END_DECLS
lib/libc/include/any-macos-any/mach/mach_types.h
@@ -218,7 +218,7 @@ typedef exception_handler_t exception_port_t;
typedef exception_handler_array_t exception_port_arrary_t;
typedef char vfs_path_t[4096];
/*
- * 8K, c.f. FSGETPATH_MAXBUFLEN in bsd/vfs/vfs_syscalls.c.
+ * 8K, c.f. MAXLONGPATHLEN in sys/syslimits.h.
* These types should NEVER be allocated on the stack.
*/
typedef char nspace_path_t[8192];
lib/libc/include/any-macos-any/mach/port.h
@@ -394,48 +394,59 @@ typedef mach_port_options_t *mach_port_options_ptr_t;
*/
#define GUARD_TYPE_MACH_PORT 0x1
-/* Reasons for exception for a guarded mach port */
+/*
+ * Reasons for exception for a guarded mach port
+ *
+ * Arguments are documented in doc/mach_ipc/guard_exceptions.md,
+ * please update when adding a new type.
+ *
+ * Note: these had been designed as bitfields,
+ * hence the weird spaced values,
+ * but are truly an enum, please add new values in the "holes".
+ */
enum mach_port_guard_exception_codes {
- kGUARD_EXC_DESTROY = 1,
- kGUARD_EXC_MOD_REFS = 2,
- kGUARD_EXC_INVALID_OPTIONS = 3,
- kGUARD_EXC_SET_CONTEXT = 4,
- kGUARD_EXC_THREAD_SET_STATE = 5,
- kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE= 6,
- kGUARD_EXC_UNGUARDED = 1u << 3,
- kGUARD_EXC_INCORRECT_GUARD = 1u << 4,
- kGUARD_EXC_IMMOVABLE = 1u << 5,
- kGUARD_EXC_STRICT_REPLY = 1u << 6,
- kGUARD_EXC_MSG_FILTERED = 1u << 7,
+ kGUARD_EXC_DESTROY = 1,
+ kGUARD_EXC_MOD_REFS = 2,
+ kGUARD_EXC_INVALID_OPTIONS = 3,
+ kGUARD_EXC_SET_CONTEXT = 4,
+ kGUARD_EXC_THREAD_SET_STATE = 5,
+ 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_INCORRECT_GUARD = 16,
+ kGUARD_EXC_IMMOVABLE = 32,
+ kGUARD_EXC_STRICT_REPLY = 64,
+ kGUARD_EXC_MSG_FILTERED = 128,
/* start of [optionally] non-fatal guards */
- kGUARD_EXC_INVALID_RIGHT = 1u << 8,
- kGUARD_EXC_INVALID_NAME = 1u << 9,
- kGUARD_EXC_INVALID_VALUE = 1u << 10,
- kGUARD_EXC_INVALID_ARGUMENT = 1u << 11,
- kGUARD_EXC_RIGHT_EXISTS = 1u << 12,
- kGUARD_EXC_KERN_NO_SPACE = 1u << 13,
- kGUARD_EXC_KERN_FAILURE = 1u << 14,
- kGUARD_EXC_KERN_RESOURCE = 1u << 15,
- kGUARD_EXC_SEND_INVALID_REPLY = 1u << 16,
- kGUARD_EXC_SEND_INVALID_VOUCHER = 1u << 17,
- kGUARD_EXC_SEND_INVALID_RIGHT = 1u << 18,
- kGUARD_EXC_RCV_INVALID_NAME = 1u << 19,
+ kGUARD_EXC_INVALID_RIGHT = 256,
+ kGUARD_EXC_INVALID_NAME = 512,
+ kGUARD_EXC_INVALID_VALUE = 1u << 10,
+ kGUARD_EXC_INVALID_ARGUMENT = 1u << 11, /* really kGUARD_EXC_ALREADY_GUARDED */
+ kGUARD_EXC_RIGHT_EXISTS = 1u << 12, /* unused */
+ kGUARD_EXC_KERN_NO_SPACE = 1u << 13, /* unused */
+ kGUARD_EXC_KERN_FAILURE = 1u << 14, /* really kGUARD_EXC_INVALID_PDREQUEST */
+ kGUARD_EXC_KERN_RESOURCE = 1u << 15, /* unused */
+ kGUARD_EXC_SEND_INVALID_REPLY = 1u << 16,
+ kGUARD_EXC_SEND_INVALID_VOUCHER = 1u << 17,
+ kGUARD_EXC_SEND_INVALID_RIGHT = 1u << 18,
+ kGUARD_EXC_RCV_INVALID_NAME = 1u << 19,
/* start of always non-fatal guards */
- kGUARD_EXC_RCV_GUARDED_DESC = 1u << 20, /* for development only */
+ 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_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 (1u << 7)
+#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 MAX_OPTIONAL_kGUARD_EXC_CODE (1u << 19)
-
/*
* These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions.
*/
lib/libc/include/any-macos-any/mach/task_info.h
@@ -502,6 +502,15 @@ typedef struct task_flags_info * task_flags_info_t;
+#define TASK_SECURITY_CONFIG_INFO 32 /* Runtime security mitigations configuration for the task */
+struct task_security_config_info {
+ uint32_t config; /* Configuration bitmask */
+};
+
+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)))
+
/*
* Type to control EXC_GUARD delivery options for a task
* via task_get/set_exc_guard_behavior interface(s).
lib/libc/include/any-macos-any/mach/task_policy.h
@@ -172,7 +172,7 @@ typedef struct task_qos_policy *task_qos_policy_t;
#define PROC_FLAG_DARWINBG 0x8000 /* process in darwin background */
#define PROC_FLAG_EXT_DARWINBG 0x10000 /* process in darwin background - external enforcement */
#define PROC_FLAG_IOS_APPLEDAEMON 0x20000 /* process is apple ios daemon */
-#define PROC_FLAG_IOS_IMPPROMOTION 0x80000 /* process is apple ios daemon */
+#define PROC_FLAG_IOS_IMPPROMOTION 0x80000 /* process is able to receive an importance donation */
#define PROC_FLAG_ADAPTIVE 0x100000 /* Process is adaptive */
#define PROC_FLAG_ADAPTIVE_IMPORTANT 0x200000 /* Process is adaptive, and is currently important */
#define PROC_FLAG_IMPORTANCE_DONOR 0x400000 /* Process is marked as an importance donor */
lib/libc/include/any-macos-any/mach/vm_statistics.h
@@ -66,6 +66,7 @@
#ifndef _MACH_VM_STATISTICS_H_
#define _MACH_VM_STATISTICS_H_
+#include <stdbool.h>
#include <sys/cdefs.h>
#include <mach/machine/vm_types.h>
@@ -330,12 +331,18 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t;
#define GUARD_TYPE_VIRT_MEMORY 0x5
/* Reasons for exception for virtual memory */
-enum virtual_memory_guard_exception_codes {
- kGUARD_EXC_DEALLOC_GAP = 1u << 0,
- kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 1u << 1,
- kGUARD_EXC_RECLAIM_INDEX_FAILURE = 1u << 2,
- kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 1u << 3,
-};
+__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,
+});
/* current accounting postmark */
lib/libc/include/any-macos-any/mach/vm_types.h
@@ -77,6 +77,8 @@ typedef mach_port_t upl_t;
typedef mach_port_t vm_named_entry_t;
+typedef mach_vm_offset_t *mach_vm_offset_list_t;
+
#define VM_MAP_NULL ((vm_map_t) 0)
#define VM_MAP_INSPECT_NULL ((vm_map_inspect_t) 0)
#define VM_MAP_READ_NULL ((vm_map_read_t) 0)
lib/libc/include/any-macos-any/mach-o/dyld.h
@@ -57,10 +57,10 @@ extern "C" {
* will return the mach_header and name of an image, given an address in
* the image. dladdr() is thread safe.
*/
-extern uint32_t _dyld_image_count(void) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
-extern const struct mach_header* _dyld_get_image_header(uint32_t image_index) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
-extern intptr_t _dyld_get_image_vmaddr_slide(uint32_t image_index) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
-extern const char* _dyld_get_image_name(uint32_t image_index) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
+extern uint32_t _dyld_image_count(void) __API_AVAILABLE(macos(10.1), ios(2.0));
+extern const struct mach_header* _dyld_get_image_header(uint32_t image_index) __API_AVAILABLE(macos(10.1), ios(2.0));
+extern intptr_t _dyld_get_image_vmaddr_slide(uint32_t image_index) __API_AVAILABLE(macos(10.1), ios(2.0));
+extern const char* _dyld_get_image_name(uint32_t image_index) __API_AVAILABLE(macos(10.1), ios(2.0));
/*
@@ -71,8 +71,8 @@ extern const char* _dyld_get_image_name(uint32_t image_index)
* _dyld_register_func_for_remove_image() is called after any terminators in an image are run
* and before the image is un-memory-mapped.
*/
-extern void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
-extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
+extern void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __API_AVAILABLE(macos(10.1), ios(2.0));
+extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __API_AVAILABLE(macos(10.1), ios(2.0));
/*
@@ -80,7 +80,7 @@ extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_
* specifed by the libraryName. The libraryName parameter would be "bar" for /path/libbar.3.dylib and
* "Foo" for /path/Foo.framework/Versions/A/Foo. It returns -1 if no such library is loaded.
*/
-extern int32_t NSVersionOfRunTimeLibrary(const char* libraryName) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
+extern int32_t NSVersionOfRunTimeLibrary(const char* libraryName) __API_AVAILABLE(macos(10.1), ios(2.0));
/*
@@ -89,7 +89,7 @@ extern int32_t NSVersionOfRunTimeLibrary(const char* libraryName) __O
* "Foo" for /path/Foo.framework/Versions/A/Foo. It returns -1 if the main executable did not link
* against the specified library.
*/
-extern int32_t NSVersionOfLinkTimeLibrary(const char* libraryName) __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_2_0);
+extern int32_t NSVersionOfLinkTimeLibrary(const char* libraryName) __API_AVAILABLE(macos(10.1), ios(2.0));
/*
@@ -102,7 +102,7 @@ extern int32_t NSVersionOfLinkTimeLibrary(const char* libraryName) __O
* That is the path may be a symbolic link and not the real file. With deep directories the total bufsize
* needed could be more than MAXPATHLEN.
*/
-extern int _NSGetExecutablePath(char* buf, uint32_t* bufsize) __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
+extern int _NSGetExecutablePath(char* buf, uint32_t* bufsize) __API_AVAILABLE(macos(10.2), ios(2.0));
@@ -110,14 +110,14 @@ extern int _NSGetExecutablePath(char* buf, uint32_t* bufsize) __
* Registers a function to be called when the current thread terminates.
* Called by c++ compiler to implement destructors on thread_local object variables.
*/
-extern void _tlv_atexit(void (*termFunc)(void* objAddr), void* objAddr) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0);
+extern void _tlv_atexit(void (*termFunc)(void* objAddr), void* objAddr) __API_AVAILABLE(macos(10.10), ios(8.0));
/*
* Never called. On-disk thread local variables contain a pointer to this. Once
* the thread local is prepared, the pointer changes to a real handler such as tlv_get_addr.
*/
-extern void _tlv_bootstrap(void) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0) DYLD_DRIVERKIT_UNAVAILABLE ;
+extern void _tlv_bootstrap(void) __API_AVAILABLE(macos(10.10), ios(8.0)) DYLD_DRIVERKIT_UNAVAILABLE ;
/*
lib/libc/include/any-macos-any/mach-o/loader.h
@@ -343,6 +343,11 @@ struct load_command {
#define LC_DYLD_CHAINED_FIXUPS (0x34 | LC_REQ_DYLD) /* used with linkedit_data_command */
#define LC_FILESET_ENTRY (0x35 | LC_REQ_DYLD) /* used with fileset_entry_command */
#define LC_ATOM_INFO 0x36 /* used with linkedit_data_command */
+#define LC_FUNCTION_VARIANTS 0x37 /* used with linkedit_data_command */
+#define LC_FUNCTION_VARIANT_FIXUPS 0x38 /* used with linkedit_data_command */
+#define LC_TARGET_TRIPLE 0x39 /* target triple used to compile */
+
+
/*
* A variable length string in a load command is represented by an lc_str
@@ -1225,6 +1230,16 @@ struct rpath_command {
union lc_str path; /* path to add to run path */
};
+/*
+ * The target_triple_command contains a string which specifies the
+ * target triple (e.g. "arm64e-apple-macosx15.0.0") used to compile the code.
+ */
+struct target_triple_command {
+ uint32_t cmd; /* LC_TARGET_TRIPLE */
+ uint32_t cmdsize; /* including string */
+ union lc_str triple; /* target triple string */
+};
+
/*
* The linkedit_data_command contains the offsets and sizes of a blob
* of data in the __LINKEDIT segment.
@@ -1234,7 +1249,8 @@ struct linkedit_data_command {
LC_FUNCTION_STARTS, LC_DATA_IN_CODE,
LC_DYLIB_CODE_SIGN_DRS, LC_ATOM_INFO,
LC_LINKER_OPTIMIZATION_HINT,
- LC_DYLD_EXPORTS_TRIE, or
+ LC_DYLD_EXPORTS_TRIE,
+ LC_FUNCTION_VARIANTS, LC_FUNCTION_VARIANT_FIXUPS, or
LC_DYLD_CHAINED_FIXUPS. */
uint32_t cmdsize; /* sizeof(struct linkedit_data_command) */
uint32_t dataoff; /* file offset of data in __LINKEDIT segment */
@@ -1319,20 +1335,28 @@ struct build_tool_version {
#define PLATFORM_VISIONOS 11
#define PLATFORM_VISIONOSSIMULATOR 12
-#ifndef __OPEN_SOURCE__
-
-#endif /* __OPEN_SOURCE__ */
-
#define PLATFORM_FIRMWARE 13
#define PLATFORM_SEPOS 14
+#define PLATFORM_MACOS_EXCLAVECORE 15
+#define PLATFORM_MACOS_EXCLAVEKIT 16
+#define PLATFORM_IOS_EXCLAVECORE 17
+#define PLATFORM_IOS_EXCLAVEKIT 18
+#define PLATFORM_TVOS_EXCLAVECORE 19
+#define PLATFORM_TVOS_EXCLAVEKIT 20
+#define PLATFORM_WATCHOS_EXCLAVECORE 21
+#define PLATFORM_WATCHOS_EXCLAVEKIT 22
+#define PLATFORM_VISIONOS_EXCLAVECORE 23
+#define PLATFORM_VISIONOS_EXCLAVEKIT 24
+
#ifndef __OPEN_SOURCE__
#endif /* __OPEN_SOURCE__ */
+
#ifndef __OPEN_SOURCE__
-#endif /* __OPEN_SOURCE__ */
+#endif // __OPEN_SOURCE__
/* Known values for the tool field above. */
#define TOOL_CLANG 1
lib/libc/include/any-macos-any/malloc/_malloc_type.h
@@ -73,7 +73,7 @@ __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) || (__has_builtin(__is_target_environment) && (__is_target_environment(exclavekit) || __is_target_environment(exclavecore))))
+#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))))
#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos)))
#define _MALLOC_TYPE_ENABLED 1
#endif
lib/libc/include/any-macos-any/net/if.h
@@ -150,7 +150,7 @@ struct if_clonereq {
#define IFCAP_VALID (IFCAP_HWCSUM | IFCAP_TSO | IFCAP_LRO | IFCAP_VLAN_MTU | \
IFCAP_VLAN_HWTAGGING | IFCAP_JUMBO_MTU | IFCAP_AV | IFCAP_TXSTATUS | \
IFCAP_SKYWALK | IFCAP_SW_TIMESTAMP | IFCAP_HW_TIMESTAMP | \
- IFCAP_CSUM_PARTIAL | IFCAP_CSUM_ZERO_INVERT)
+ IFCAP_CSUM_PARTIAL | IFCAP_CSUM_ZERO_INVERT | IFCAP_LRO_NUM_SEG)
#define IFQ_MAXLEN 128
#define IFNET_SLOWHZ 1 /* granularity is 1 second */
lib/libc/include/any-macos-any/net/if_var.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2025 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
@@ -68,12 +68,6 @@
#include <stdint.h>
#include <sys/types.h>
#include <sys/time.h>
-#include <sys/queue.h> /* get TAILQ macros */
-#ifdef BSD_KERN_PRIVATE
-#include <net/pktsched/pktsched.h>
-#include <sys/eventhandler.h>
-#endif
-
#ifdef __APPLE__
lib/libc/include/any-macos-any/os/availability.h
@@ -65,7 +65,7 @@
#define API_TO_BE_DEPRECATED_DRIVERKIT 100000
#endif
-#ifndef API_TO_BE_DEPRECATEDC_VISIONOS
+#ifndef API_TO_BE_DEPRECATED_VISIONOS
#define API_TO_BE_DEPRECATED_VISIONOS 100000
#endif
@@ -90,44 +90,76 @@
* Use to specify the release that a particular API became available.
*
* Platform names:
- * macos, ios, tvos, watchos
+ * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
+ * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
+ * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
*
* Examples:
* API_AVAILABLE(macos(10.10))
* API_AVAILABLE(macos(10.9), ios(10.0))
* API_AVAILABLE(macos(10.4), ios(8.0), watchos(2.0), tvos(10.0))
+ * API_AVAILABLE(driverkit(19.0))
*/
- #define API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
- #define API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
+ #define API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE15,__API_AVAILABLE14,__API_AVAILABLE13,__API_AVAILABLE12,__API_AVAILABLE11,__API_AVAILABLE10,__API_AVAILABLE9,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
+ #define API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE_BEGIN15,__API_AVAILABLE_BEGIN14,__API_AVAILABLE_BEGIN13,__API_AVAILABLE_BEGIN12,__API_AVAILABLE_BEGIN11,__API_AVAILABLE_BEGIN10,__API_AVAILABLE_BEGIN9,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
#define API_AVAILABLE_END _Pragma("clang attribute pop")
/*
* API Deprecations
*
- * Use to specify the release that a particular API became unavailable.
+ * Use to specify the release that a particular API became deprecated.
*
* Platform names:
- * macos, ios, tvos, watchos
+ * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
+ * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
+ * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
*
* Examples:
*
- * API_DEPRECATED("No longer supported", macos(10.4, 10.8))
- * API_DEPRECATED("No longer supported", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
+ * API_DEPRECATED("Deprecated", macos(10.4, 10.8))
+ * API_DEPRECATED("Deprecated", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
*
* API_DEPRECATED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4), ios(9.0, 10.0))
* API_DEPRECATED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6), watchos(2.0, 3.0))
*/
- #define API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
- #define API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
+ #define API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_MSG15,__API_DEPRECATED_MSG14,__API_DEPRECATED_MSG13,__API_DEPRECATED_MSG12,__API_DEPRECATED_MSG11,__API_DEPRECATED_MSG10,__API_DEPRECATED_MSG9,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
+ #define API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_REP15,__API_DEPRECATED_REP14,__API_DEPRECATED_REP13,__API_DEPRECATED_REP12,__API_DEPRECATED_REP11,__API_DEPRECATED_REP10,__API_DEPRECATED_REP9,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
- #define API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
+ #define API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_BEGIN15,__API_DEPRECATED_BEGIN14,__API_DEPRECATED_BEGIN13,__API_DEPRECATED_BEGIN12,__API_DEPRECATED_BEGIN11,__API_DEPRECATED_BEGIN10,__API_DEPRECATED_BEGIN9,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
#define API_DEPRECATED_END _Pragma("clang attribute pop")
- #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
+ #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN15,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN14,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN13,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN12,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN11,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN10,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN9,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
#define API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
+ /*
+ * API Obsoletions
+ *
+ * Use to specify the release that a particular API became unavailable.
+ *
+ * Platform names:
+ * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
+ * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
+ * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
+ *
+ * Examples:
+ *
+ * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0))
+ * API_OBSOLETED("No longer supported", macos(10.4, 10.8, 11.0), ios(2.0, 3.0, 4.0), watchos(2.0, 3.0, 4.0), tvos(9.0, 10.0, 11.0))
+ *
+ * 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__)
+
+ #define API_OBSOLETED_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_BEGIN15,__API_OBSOLETED_BEGIN14,__API_OBSOLETED_BEGIN13,__API_OBSOLETED_BEGIN12,__API_OBSOLETED_BEGIN11,__API_OBSOLETED_BEGIN10,__API_OBSOLETED_BEGIN9,__API_OBSOLETED_BEGIN8,__API_OBSOLETED_BEGIN7,__API_OBSOLETED_BEGIN6,__API_OBSOLETED_BEGIN5,__API_OBSOLETED_BEGIN4,__API_OBSOLETED_BEGIN3,__API_OBSOLETED_BEGIN2,__API_OBSOLETED_BEGIN1,__API_OBSOLETED_BEGIN0,0,0)(__VA_ARGS__)
+ #define API_OBSOLETED_END _Pragma("clang attribute pop")
+
+ #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.
@@ -137,9 +169,9 @@
* API_UNAVAILABLE(watchos, tvos)
*/
- #define API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
+ #define API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE15,__API_UNAVAILABLE14,__API_UNAVAILABLE13,__API_UNAVAILABLE12,__API_UNAVAILABLE11,__API_UNAVAILABLE10,__API_UNAVAILABLE9,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
- #define API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
+ #define API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE_BEGIN15,__API_UNAVAILABLE_BEGIN14,__API_UNAVAILABLE_BEGIN13,__API_UNAVAILABLE_BEGIN12,__API_UNAVAILABLE_BEGIN11,__API_UNAVAILABLE_BEGIN10,__API_UNAVAILABLE_BEGIN9,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
#define API_UNAVAILABLE_END _Pragma("clang attribute pop")
#endif /* __has_attribute(availability) */
#endif /* #if defined(__has_feature) && defined(__has_attribute) */
@@ -184,6 +216,30 @@
#define API_DEPRECATED_WITH_REPLACEMENT_END(...)
#endif
+#ifndef API_OBSOLETED
+ #define API_OBSOLETED(...)
+#endif
+
+#ifndef API_OBSOLETED_BEGIN
+ #define API_OBSOLETED_BEGIN(...)
+#endif
+
+#ifndef API_OBSOLETED_END
+ #define API_OBSOLETED_END(...)
+#endif
+
+#ifndef API_OBSOLETED_WITH_REPLACEMENT
+ #define API_OBSOLETED_WITH_REPLACEMENT(...)
+#endif
+
+#ifndef API_OBSOLETED_WITH_REPLACEMENT_BEGIN
+ #define API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...)
+#endif
+
+#ifndef API_OBSOLETED_WITH_REPLACEMENT_END
+ #define API_OBSOLETED_WITH_REPLACEMENT_END(...)
+#endif
+
#ifndef API_UNAVAILABLE
#define API_UNAVAILABLE(...)
#endif
@@ -225,3 +281,14 @@
#endif
#endif /* __OS_AVAILABILITY__ */
+
+#ifndef __OPEN_SOURCE__
+// This is explicitly outside the header guard
+#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
+#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
+#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
+#define __AVAILABILITY_FILE "os/availability.h"
+#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
+#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with os/availability.h from Local. Mixing and matching Availability from different SDKs is not supported"
+#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
+#endif /* __OPEN_SOURCE__ */
lib/libc/include/any-macos-any/secure/_stdio.h
@@ -28,8 +28,11 @@
#ifndef _SECURE__STDIO_H_
#define _SECURE__STDIO_H_
+#include <_bounds.h>
#include <secure/_common.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if _USE_FORTIFY_LEVEL > 0
#ifndef __has_builtin
@@ -39,7 +42,7 @@
/* sprintf, vsprintf, snprintf, vsnprintf */
#if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__)
-extern int __sprintf_chk (char * __restrict, int, size_t,
+extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
const char * __restrict, ...);
#undef sprintf
@@ -49,7 +52,7 @@ extern int __sprintf_chk (char * __restrict, int, size_t,
#if __DARWIN_C_LEVEL >= 200112L
#if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__)
-extern int __snprintf_chk (char * __restrict, size_t, int, size_t,
+extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
const char * __restrict, ...);
#undef snprintf
@@ -58,7 +61,7 @@ extern int __snprintf_chk (char * __restrict, size_t, int, size_t,
#endif
#if __has_builtin(__builtin___vsprintf_chk) || defined(__GNUC__)
-extern int __vsprintf_chk (char * __restrict, int, size_t,
+extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
const char * __restrict, va_list);
#undef vsprintf
@@ -67,7 +70,7 @@ extern int __vsprintf_chk (char * __restrict, int, size_t,
#endif
#if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__)
-extern int __vsnprintf_chk (char * __restrict, size_t, int, size_t,
+extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
const char * __restrict, va_list);
#undef vsnprintf
lib/libc/include/any-macos-any/simd/common.h
@@ -4815,7 +4815,11 @@ static inline SIMD_CFUNC char simd_reduce_add(simd_char8 x) {
}
static inline SIMD_CFUNC char simd_reduce_add(simd_char16 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_s8(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC char simd_reduce_add(simd_char32 x) {
@@ -4843,7 +4847,11 @@ static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar8 x) {
}
static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar16 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_u8(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar32 x) {
@@ -4867,7 +4875,11 @@ static inline SIMD_CFUNC short simd_reduce_add(simd_short4 x) {
}
static inline SIMD_CFUNC short simd_reduce_add(simd_short8 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_s16(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC short simd_reduce_add(simd_short16 x) {
@@ -4891,7 +4903,11 @@ static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort4 x) {
}
static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort8 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_u16(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort16 x) {
@@ -4902,30 +4918,6 @@ static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort32 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half2 x) {
- return x.x + x.y;
-}
-
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half3 x) {
- return x.x + x.y + x.z;
-}
-
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half4 x) {
- return simd_reduce_add(x.lo + x.hi);
-}
-
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half8 x) {
- return simd_reduce_add(x.lo + x.hi);
-}
-
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half16 x) {
- return simd_reduce_add(x.lo + x.hi);
-}
-
-static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half32 x) {
- return simd_reduce_add(x.lo + x.hi);
-}
-
static inline SIMD_CFUNC int simd_reduce_add(simd_int2 x) {
return x.x + x.y;
}
@@ -4935,7 +4927,11 @@ static inline SIMD_CFUNC int simd_reduce_add(simd_int3 x) {
}
static inline SIMD_CFUNC int simd_reduce_add(simd_int4 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_s32(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC int simd_reduce_add(simd_int8 x) {
@@ -4955,7 +4951,11 @@ static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint3 x) {
}
static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint4 x) {
+#if defined __arm64__ || defined __aarch64__
+ return vaddvq_u32(x);
+#else
return simd_reduce_add(x.lo + x.hi);
+#endif
}
static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint8 x) {
@@ -4966,55 +4966,79 @@ static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint16 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC float simd_reduce_add(simd_float2 x) {
+static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long2 x) {
return x.x + x.y;
}
-static inline SIMD_CFUNC float simd_reduce_add(simd_float3 x) {
+static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long3 x) {
return x.x + x.y + x.z;
}
-static inline SIMD_CFUNC float simd_reduce_add(simd_float4 x) {
+static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long4 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC float simd_reduce_add(simd_float8 x) {
+static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long8 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC float simd_reduce_add(simd_float16 x) {
+static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong2 x) {
+ return x.x + x.y;
+}
+
+static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong3 x) {
+ return x.x + x.y + x.z;
+}
+
+static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong4 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long2 x) {
+static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong8 x) {
+ return simd_reduce_add(x.lo + x.hi);
+}
+
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half2 x) {
return x.x + x.y;
}
-static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long3 x) {
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half3 x) {
return x.x + x.y + x.z;
}
-static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long4 x) {
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half4 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long8 x) {
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half8 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong2 x) {
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half16 x) {
+ return simd_reduce_add(x.lo + x.hi);
+}
+
+static inline SIMD_CFUNC _Float16 simd_reduce_add(simd_half32 x) {
+ return simd_reduce_add(x.lo + x.hi);
+}
+
+static inline SIMD_CFUNC float simd_reduce_add(simd_float2 x) {
return x.x + x.y;
}
-static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong3 x) {
+static inline SIMD_CFUNC float simd_reduce_add(simd_float3 x) {
return x.x + x.y + x.z;
}
-static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong4 x) {
+static inline SIMD_CFUNC float simd_reduce_add(simd_float4 x) {
return simd_reduce_add(x.lo + x.hi);
}
-static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong8 x) {
+static inline SIMD_CFUNC float simd_reduce_add(simd_float8 x) {
+ return simd_reduce_add(x.lo + x.hi);
+}
+
+static inline SIMD_CFUNC float simd_reduce_add(simd_float16 x) {
return simd_reduce_add(x.lo + x.hi);
}
lib/libc/include/any-macos-any/sys/_symbol_aliasing.h
@@ -509,6 +509,18 @@
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_5(x)
#endif
+#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 170600
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_6(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_6(x)
+#endif
+
+#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 170700
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_7(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_7(x)
+#endif
+
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180000
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_0(x) x
#else
@@ -527,6 +539,24 @@
#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_2(x)
#endif
+#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180300
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_3(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_3(x)
+#endif
+
+#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180400
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_4(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_4(x)
+#endif
+
+#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 180500
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_18_5(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
@@ -863,6 +893,12 @@
#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_6(x)
#endif
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130700
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_7(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_7(x)
+#endif
+
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 140000
#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_0(x) x
#else
@@ -899,6 +935,18 @@
#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_5(x)
#endif
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 140600
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_6(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_6(x)
+#endif
+
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 140700
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_7(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_7(x)
+#endif
+
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150000
#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_0(x) x
#else
@@ -917,3 +965,21 @@
#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_2(x)
#endif
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150300
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_3(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_3(x)
+#endif
+
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150400
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_4(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_4(x)
+#endif
+
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 150500
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x) x
+#else
+#define __DARWIN_ALIAS_STARTING_MAC___MAC_15_5(x)
+#endif
+
lib/libc/include/any-macos-any/sys/acl.h
@@ -24,9 +24,12 @@
#define _SYS_ACL_H
#include <Availability.h>
+#include <_bounds.h>
#include <sys/kauth.h>
#include <sys/_types/_ssize_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define __DARWIN_ACL_READ_DATA (1<<1)
#define __DARWIN_ACL_LIST_DIRECTORY __DARWIN_ACL_READ_DATA
#define __DARWIN_ACL_WRITE_DATA (1<<2)
@@ -200,13 +203,13 @@ extern int acl_set_file(const char *path_p, acl_type_t type, acl_t acl);
extern int acl_set_link_np(const char *path_p, acl_type_t type, acl_t acl);
/* 23.1.6.4 ACL Format translation */
-extern ssize_t acl_copy_ext(void *buf_p, acl_t acl, ssize_t size);
-extern ssize_t acl_copy_ext_native(void *buf_p, acl_t acl, ssize_t size);
-extern acl_t acl_copy_int(const void *buf_p);
-extern acl_t acl_copy_int_native(const void *buf_p);
-extern acl_t acl_from_text(const char *buf_p);
+extern ssize_t acl_copy_ext(void *_LIBC_SIZE(size) buf_p, acl_t acl, ssize_t size);
+extern ssize_t acl_copy_ext_native(void *_LIBC_SIZE(size) buf_p, acl_t acl, ssize_t size);
+extern acl_t acl_copy_int(const void *_LIBC_UNSAFE_INDEXABLE buf_p);
+extern acl_t acl_copy_int_native(const void *_LIBC_UNSAFE_INDEXABLE buf_p);
+extern acl_t acl_from_text(const char *_LIBC_UNSAFE_INDEXABLE buf_p);
extern ssize_t acl_size(acl_t acl);
-extern char *acl_to_text(acl_t acl, ssize_t *len_p);
+extern char *_LIBC_CSTR acl_to_text(acl_t acl, ssize_t *len_p);
__END_DECLS
#endif /* _SYS_ACL_H */
lib/libc/include/any-macos-any/sys/attr.h
@@ -129,6 +129,12 @@ typedef struct vol_capabilities_attr {
*/
#define ATTR_MAX_BUFFER 8192
+
+/*
+ * Max size of attribute buffer if IOPOL_TYPE_VFS_SUPPORT_LONG_PATHS is enabled
+ */
+#define ATTR_MAX_BUFFER_LONGPATHS (ATTR_MAX_BUFFER - MAXPATHLEN + MAXLONGPATHLEN)
+
/*
* VOL_CAP_FMT_PERSISTENTOBJECTIDS: When set, the volume has object IDs
* that are persistent (retain their values even when the volume is
@@ -491,13 +497,14 @@ typedef struct vol_attributes_attr {
#define ATTR_VOL_MOUNTEXTFLAGS 0x00080000
#define ATTR_VOL_FSTYPENAME 0x00100000
#define ATTR_VOL_FSSUBTYPE 0x00200000
+#define ATTR_VOL_OWNER 0x00400000
#define ATTR_VOL_SPACEUSED 0x00800000
#define ATTR_VOL_QUOTA_SIZE 0x10000000
#define ATTR_VOL_RESERVED_SIZE 0x20000000
#define ATTR_VOL_ATTRIBUTES 0x40000000
#define ATTR_VOL_INFO 0x80000000
-#define ATTR_VOL_VALIDMASK 0xF0BFFFFF
+#define ATTR_VOL_VALIDMASK 0xF0FFFFFF
/*
* The list of settable ATTR_VOL_* attributes include the following:
lib/libc/include/any-macos-any/sys/cdefs.h
@@ -965,6 +965,11 @@
#if __has_include(<ptrcheck.h>)
#include <ptrcheck.h>
#else
+#if __has_feature(bounds_safety)
+#error -fbounds-safety is enabled, but <ptrcheck.h> is missing. \
+ This will lead to difficult-to-diagnose compilation errors.
+#endif /* __has_feature(bounds_safety) */
+
/*
* We intentionally define to nothing pointer attributes which do not have an
* impact on the ABI. __indexable and __bidi_indexable are not defined because
@@ -1108,4 +1113,5 @@
# define __xnu_returns_data_pointer
#endif
+
#endif /* !_CDEFS_H_ */
lib/libc/include/any-macos-any/sys/fcntl.h
@@ -125,6 +125,8 @@
#define O_CREAT 0x00000200 /* create if nonexistant */
#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 */
+
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#define O_EVTONLY 0x00008000 /* descriptor requested for event notifications only */
lib/libc/include/any-macos-any/sys/mount.h
@@ -462,4 +462,5 @@ int unmount(const char *, int);
int getvfsbyname(const char *, struct vfsconf *);
__END_DECLS
+
#endif /* !_SYS_MOUNT_H_ */
lib/libc/include/any-macos-any/sys/param.h
@@ -202,7 +202,7 @@
#define isset(a, i) (((unsigned char *)(a))[(i)/NBBY] & (1u<<((i)%NBBY)))
#define isclr(a, i) ((((unsigned char *)(a))[(i)/NBBY] & (1u<<((i)%NBBY))) == 0)
-/* Macros for counting and rounding. */
+/* Macros for counting, rounding. */
#ifndef howmany
#define howmany(x, y) ((((x) % (y)) == 0) ? ((x) / (y)) : (((x) / (y)) + 1))
#endif
lib/libc/include/any-macos-any/sys/proc.h
@@ -86,7 +86,6 @@
struct session;
struct pgrp;
struct proc;
-struct proc_ident;
/* Exported fields for kern sysctls */
struct extern_proc {
@@ -216,6 +215,7 @@ struct extern_proc {
#define P_DIRTY_LAUNCH_IN_PROGRESS 0x00000200 /* launch is in progress */
#define P_DIRTY_DEFER_ALWAYS 0x00000400 /* defer going to idle-exit after every dirty->clean transition.
* For legacy jetsam policy only. This is the default with the other policies.*/
+#define P_DIRTY_SHUTDOWN_ON_CLEAN 0x00000800 /* process should shutdown on going clean */
#define P_DIRTY_IS_DIRTY (P_DIRTY | P_DIRTY_SHUTDOWN)
#define P_DIRTY_IDLE_EXIT_ENABLED (P_DIRTY_TRACK|P_DIRTY_ALLOW_IDLE_EXIT)
lib/libc/include/any-macos-any/sys/proc_info.h
@@ -825,6 +825,7 @@ struct channel_fdinfo {
#define PROC_DIRTY_DEFER 0x4
#define PROC_DIRTY_LAUNCH_IN_PROGRESS 0x8
#define PROC_DIRTY_DEFER_ALWAYS 0x10
+#define PROC_DIRTY_SHUTDOWN_ON_CLEAN 0x20
/* proc_get_dirty() flags */
#define PROC_DIRTY_TRACKED 0x1
lib/libc/include/any-macos-any/sys/resource.h
@@ -551,8 +551,9 @@ struct proc_rlimit_control_wakeupmon {
#define IOPOL_VFS_IGNORE_PERMISSIONS_OFF 0
#define IOPOL_VFS_IGNORE_PERMISSIONS_ON 1
-#define IOPOL_VFS_SKIP_MTIME_UPDATE_OFF 0
-#define IOPOL_VFS_SKIP_MTIME_UPDATE_ON 1
+#define IOPOL_VFS_SKIP_MTIME_UPDATE_OFF 0
+#define IOPOL_VFS_SKIP_MTIME_UPDATE_ON 1
+#define IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE 2
#define IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF 0
#define IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON 1
lib/libc/include/any-macos-any/sys/statvfs.h
@@ -27,12 +27,15 @@
#ifndef _SYS_STATVFS_H_
#define _SYS_STATVFS_H_
+#include <_bounds.h>
#include <sys/_types.h>
#include <sys/cdefs.h>
#include <sys/_types/_fsblkcnt_t.h>
#include <sys/_types/_fsfilcnt_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/* Following structure is used as a statvfs/fstatvfs function parameter */
struct statvfs {
unsigned long f_bsize; /* File system block size */
lib/libc/include/any-macos-any/sys/syslimits.h
@@ -124,6 +124,8 @@
/* range: -20 - 20 */
/* (PRIO_MIN - PRIO_MAX) */
#endif /* __DARWIN_UNIX03 */
+
+
#endif /* !_ANSI_SOURCE */
#endif /* !_SYS_SYSLIMITS_H_ */
lib/libc/include/any-macos-any/sys/wait.h
@@ -202,8 +202,7 @@ union wait {
w_Coredump:1, /* core dump indicator */
w_Retcode:8, /* exit code if w_termsig==0 */
w_Filler:16; /* upper bits filler */
-#endif
-#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
+#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
unsigned int w_Filler:16, /* upper bits filler */
w_Retcode:8, /* exit code if w_termsig==0 */
w_Coredump:1, /* core dump indicator */
@@ -220,8 +219,7 @@ union wait {
unsigned int w_Stopval:8, /* == W_STOPPED if stopped */
w_Stopsig:8, /* signal that stopped us */
w_Filler:16; /* upper bits filler */
-#endif
-#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
+#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
unsigned int w_Filler:16, /* upper bits filler */
w_Stopsig:8, /* signal that stopped us */
w_Stopval:8; /* == W_STOPPED if stopped */
lib/libc/include/any-macos-any/xlocale/___wctype.h
@@ -24,9 +24,12 @@
#ifndef _XLOCALE____WCTYPE_H_
#define _XLOCALE____WCTYPE_H_
+#include <_bounds.h>
#include <___wctype.h>
#include <xlocale/_ctype.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_DONT_USE_CTYPE_INLINE_) && \
(defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
lib/libc/include/any-macos-any/xlocale/_ctype.h
@@ -24,9 +24,12 @@
#ifndef _XLOCALE__CTYPE_H_
#define _XLOCALE__CTYPE_H_
+#include <_bounds.h>
#include <_ctype.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/*
* Use inline functions if we are allowed to and the compiler supports them.
*/
lib/libc/include/any-macos-any/xlocale/_inttypes.h
@@ -25,19 +25,22 @@
#define _XLOCALE__INTTYPES_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <stdint.h>
#include <stddef.h> /* wchar_t */
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-intmax_t strtoimax_l(const char * __restrict nptr, char ** __restrict endptr,
- int base, locale_t);
-uintmax_t strtoumax_l(const char * __restrict nptr, char ** __restrict endptr,
- int base, locale_t);
+intmax_t strtoimax_l(const char * __restrict nptr,
+ char *_LIBC_CSTR * __restrict endptr, int base, locale_t);
+uintmax_t strtoumax_l(const char * __restrict nptr,
+ char *_LIBC_CSTR * __restrict endptr, int base, locale_t);
intmax_t wcstoimax_l(const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base, locale_t);
+ wchar_t *_LIBC_CSTR * __restrict endptr, int base, locale_t);
uintmax_t wcstoumax_l(const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base, locale_t);
+ wchar_t *_LIBC_CSTR * __restrict endptr, int base, locale_t);
/* Poison the following routines if -fshort-wchar is set */
#if !defined(__cplusplus) && defined(__WCHAR_MAX__) && __WCHAR_MAX__ <= 0xffffU
lib/libc/include/any-macos-any/xlocale/_langinfo.h
@@ -25,11 +25,14 @@
#define _XLOCALE__LANGINFO_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types/_nl_item.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-char *nl_langinfo_l(nl_item, locale_t);
+char *_LIBC_CSTR nl_langinfo_l(nl_item, locale_t);
__END_DECLS
#endif /* _XLOCALE__LANGINFO_H_ */
lib/libc/include/any-macos-any/xlocale/_monetary.h
@@ -30,8 +30,10 @@
#include <sys/_types/_ssize_t.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-ssize_t strfmon_l(char *, size_t, locale_t, const char *, ...)
+ssize_t strfmon_l(char *_LIBC_COUNT(__maxsize), size_t __maxsize, locale_t, const char *, ...)
__strfmonlike(4, 5);
__END_DECLS
lib/libc/include/any-macos-any/xlocale/_regex.h
@@ -29,6 +29,9 @@
#include <__xlocale.h>
#endif
+#include <_bounds.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
int regcomp_l(regex_t * __restrict, const char * __restrict, int,
@@ -37,14 +40,14 @@ int regcomp_l(regex_t * __restrict, const char * __restrict, int,
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-int regncomp_l(regex_t * __restrict, const char * __restrict, size_t,
- int, locale_t __restrict)
+int regncomp_l(regex_t * __restrict, const char * __restrict _LIBC_COUNT(__len),
+ size_t __len, int, locale_t __restrict)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA);
int regwcomp_l(regex_t * __restrict, const wchar_t * __restrict,
int, locale_t __restrict)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA);
-int regwnexec_l(const regex_t * __restrict, const wchar_t * __restrict,
- size_t, size_t, regmatch_t __pmatch[ __restrict], int,
+int regwnexec_l(const regex_t * __restrict, const wchar_t * __restrict _LIBC_COUNT(__len),
+ size_t __len, size_t __nmatch, regmatch_t __pmatch[ __restrict _LIBC_COUNT(__nmatch)], int,
locale_t __restrict)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA);
lib/libc/include/any-macos-any/xlocale/_stdio.h
@@ -24,9 +24,12 @@
#ifndef _XLOCALE__STDIO_H_
#define _XLOCALE__STDIO_H_
+#include <_bounds.h>
#include <_stdio.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
int fprintf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, ...)
@@ -37,25 +40,25 @@ int printf_l(locale_t __restrict, const char * __restrict, ...)
__printflike(2, 3);
int scanf_l(locale_t __restrict, const char * __restrict, ...)
__scanflike(2, 3);
-int sprintf_l(char * __restrict, locale_t __restrict, const char * __restrict, ...)
- __printflike(3, 4) __swift_unavailable("Use snprintf_l instead.");
+int sprintf_l(char * __restrict _LIBC_UNSAFE_INDEXABLE, locale_t __restrict, const char * __restrict, ...)
+ __printflike(3, 4) __swift_unavailable("Use snprintf_l instead.") _LIBC_PTRCHECK_REPLACED("snprintf_l");
int sscanf_l(const char * __restrict, locale_t __restrict, const char * __restrict, ...)
__scanflike(3, 4);
int vfprintf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, va_list)
__printflike(3, 0);
int vprintf_l(locale_t __restrict, const char * __restrict, va_list)
__printflike(2, 0);
-int vsprintf_l(char * __restrict, locale_t __restrict, const char * __restrict, va_list)
- __printflike(3, 0) __swift_unavailable("Use vsnprintf_l instead.");
+int vsprintf_l(char * __restrict _LIBC_UNSAFE_INDEXABLE, locale_t __restrict, const char * __restrict, va_list)
+ __printflike(3, 0) __swift_unavailable("Use vsnprintf_l instead.") _LIBC_PTRCHECK_REPLACED("vsnprintf_l");
#if __DARWIN_C_LEVEL >= 200112L || defined(__cplusplus)
-int snprintf_l(char * __restrict, size_t, locale_t __restrict, const char * __restrict, ...)
+int snprintf_l(char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, locale_t __restrict, const char * __restrict, ...)
__printflike(4, 5);
int vfscanf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, va_list)
__scanflike(3, 0);
int vscanf_l(locale_t __restrict, const char * __restrict, va_list)
__scanflike(2, 0);
-int vsnprintf_l(char * __restrict, size_t, locale_t __restrict, const char * __restrict, va_list)
+int vsnprintf_l(char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, locale_t __restrict, const char * __restrict, va_list)
__printflike(4, 0);
int vsscanf_l(const char * __restrict, locale_t __restrict, const char * __restrict, va_list)
__scanflike(3, 0);
@@ -70,9 +73,9 @@ int vdprintf_l(int, locale_t __restrict, const char * __restrict, va_list)
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL || defined(__cplusplus)
-int asprintf_l(char ** __restrict, locale_t __restrict, const char * __restrict, ...)
+int asprintf_l(char *_LIBC_CSTR * __restrict, locale_t __restrict, const char * __restrict, ...)
__printflike(3, 4);
-int vasprintf_l(char ** __restrict, locale_t __restrict, const char * __restrict, va_list)
+int vasprintf_l(char *_LIBC_CSTR * __restrict, locale_t __restrict, const char * __restrict, va_list)
__printflike(3, 0);
#endif
lib/libc/include/any-macos-any/xlocale/_stdlib.h
@@ -24,11 +24,14 @@
#ifndef _XLOCALE__STDLIB_H_
#define _XLOCALE__STDLIB_H_
+#include <_bounds.h>
#include <sys/cdefs.h>
#include <sys/_types/_size_t.h>
#include <sys/_types/_wchar_t.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
double atof_l(const char *, locale_t);
int atoi_l(const char *, locale_t);
@@ -37,32 +40,32 @@ long atol_l(const char *, locale_t);
long long
atoll_l(const char *, locale_t);
#endif /* !__DARWIN_NO_LONG_LONG */
-int mblen_l(const char *, size_t, locale_t);
-size_t mbstowcs_l(wchar_t * __restrict , const char * __restrict, size_t,
- locale_t);
-int mbtowc_l(wchar_t * __restrict, const char * __restrict, size_t,
- locale_t);
-double strtod_l(const char *, char **, locale_t) __DARWIN_ALIAS(strtod_l);
-float strtof_l(const char *, char **, locale_t) __DARWIN_ALIAS(strtof_l);
-long strtol_l(const char *, char **, int, locale_t);
+int mblen_l(const char *_LIBC_COUNT(__n), size_t __n, locale_t);
+size_t mbstowcs_l(wchar_t * __restrict _LIBC_COUNT(__n),
+ const char * __restrict, size_t __n, locale_t);
+int mbtowc_l(wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE,
+ const char * __restrict _LIBC_COUNT(__n), size_t __n, locale_t);
+double strtod_l(const char *, char *_LIBC_CSTR *, locale_t) __DARWIN_ALIAS(strtod_l);
+float strtof_l(const char *, char *_LIBC_CSTR *, locale_t) __DARWIN_ALIAS(strtof_l);
+long strtol_l(const char *, char *_LIBC_CSTR *, int, locale_t);
long double
- strtold_l(const char *, char **, locale_t);
+ strtold_l(const char *, char *_LIBC_CSTR *, locale_t);
long long
- strtoll_l(const char *, char **, int, locale_t);
+ strtoll_l(const char *, char *_LIBC_CSTR *, int, locale_t);
#if !__DARWIN_NO_LONG_LONG
long long
- strtoq_l(const char *, char **, int, locale_t);
+ strtoq_l(const char *, char *_LIBC_CSTR *, int, locale_t);
#endif /* !__DARWIN_NO_LONG_LONG */
unsigned long
- strtoul_l(const char *, char **, int, locale_t);
+ strtoul_l(const char *, char *_LIBC_CSTR *, int, locale_t);
unsigned long long
- strtoull_l(const char *, char **, int, locale_t);
+ strtoull_l(const char *, char *_LIBC_CSTR *, int, locale_t);
#if !__DARWIN_NO_LONG_LONG
unsigned long long
- strtouq_l(const char *, char **, int, locale_t);
+ strtouq_l(const char *, char *_LIBC_CSTR *, int, locale_t);
#endif /* !__DARWIN_NO_LONG_LONG */
-size_t wcstombs_l(char * __restrict, const wchar_t * __restrict, size_t,
- locale_t);
+size_t wcstombs_l(char * __restric _LIBC_COUNT(__n),
+ const wchar_t * __restrict, size_t __n, locale_t);
int wctomb_l(char *, wchar_t, locale_t);
/* Poison the following routines if -fshort-wchar is set */
lib/libc/include/any-macos-any/xlocale/_string.h
@@ -25,15 +25,19 @@
#define _XLOCALE__STRING_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <sys/_types/_size_t.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
int strcoll_l(const char *, const char *, locale_t);
-size_t strxfrm_l(char *, const char *, size_t, locale_t);
+size_t strxfrm_l(char *_LIBC_COUNT(__n), const char *, size_t __n, locale_t);
int strcasecmp_l(const char *, const char *, locale_t);
char *strcasestr_l(const char *, const char *, locale_t);
-int strncasecmp_l(const char *, const char *, size_t, locale_t);
+int strncasecmp_l(const char *_LIBC_UNSAFE_INDEXABLE,
+ const char *_LIBC_UNSAFE_INDEXABLE, size_t, locale_t);
__END_DECLS
#endif /* _XLOCALE__STRING_H_ */
lib/libc/include/any-macos-any/xlocale/_time.h
@@ -25,13 +25,16 @@
#define _XLOCALE__TIME_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <sys/_types/_size_t.h>
#include <_types.h>
#include <__xlocale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-size_t strftime_l(char * __restrict, size_t, const char * __restrict,
- const struct tm * __restrict, locale_t)
+size_t strftime_l(char * __restrict _LIBC_COUNT(__n), size_t __n,
+ const char * __restrict, const struct tm * __restrict, locale_t)
__DARWIN_ALIAS(strftime_l) __strftimelike(3);
char *strptime_l(const char * __restrict, const char * __restrict,
struct tm * __restrict, locale_t)
lib/libc/include/any-macos-any/xlocale/_wchar.h
@@ -24,59 +24,68 @@
#ifndef _XLOCALE__WCHAR_H_
#define _XLOCALE__WCHAR_H_
+#include <_bounds.h>
#include <_stdio.h>
#include <__xlocale.h>
#include <sys/_types/_mbstate_t.h>
#include <sys/_types/_wint_t.h>
#include <stddef.h> /* wchar_t */
+_LIBC_SINGLE_BY_DEFAULT()
+
/* Initially added in Issue 4 */
__BEGIN_DECLS
wint_t btowc_l(int, locale_t);
wint_t fgetwc_l(FILE *, locale_t);
-wchar_t *fgetws_l(wchar_t * __restrict, int, FILE * __restrict, locale_t);
+wchar_t *_LIBC_CSTR fgetws_l(wchar_t * __restrict _LIBC_COUNT(__n), int __n,
+ FILE * __restrict, locale_t);
wint_t fputwc_l(wchar_t, FILE *, locale_t);
int fputws_l(const wchar_t * __restrict, FILE * __restrict, locale_t);
int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...);
int fwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...);
wint_t getwc_l(FILE *, locale_t);
wint_t getwchar_l(locale_t);
-size_t mbrlen_l(const char * __restrict, size_t, mbstate_t * __restrict,
- locale_t);
-size_t mbrtowc_l(wchar_t * __restrict, const char * __restrict, size_t,
+size_t mbrlen_l(const char * __restrict _LIBC_COUNT(__n), size_t __n,
mbstate_t * __restrict, locale_t);
+size_t mbrtowc_l(wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE,
+ const char * __restrict _LIBC_COUNT(__n), size_t __n,
+ mbstate_t * __restrict, locale_t);
int mbsinit_l(const mbstate_t *, locale_t);
-size_t mbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t,
- mbstate_t * __restrict, locale_t);
+size_t mbsrtowcs_l(wchar_t * __restrict _LIBC_COUNT(__len),
+ const char ** __restrict, size_t __len, mbstate_t * __restrict,
+ locale_t);
wint_t putwc_l(wchar_t, FILE *, locale_t);
wint_t putwchar_l(wchar_t, locale_t);
-int swprintf_l(wchar_t * __restrict, size_t n, locale_t,
+int swprintf_l(wchar_t * __restrict _LIBC_COUNT(n), size_t n, locale_t,
const wchar_t * __restrict, ...);
int swscanf_l(const wchar_t * __restrict, locale_t,
const wchar_t * __restrict, ...);
wint_t ungetwc_l(wint_t, FILE *, locale_t);
int vfwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict,
__darwin_va_list);
-int vswprintf_l(wchar_t * __restrict, size_t n, locale_t,
+int vswprintf_l(wchar_t * __restrict _LIBC_COUNT(n), size_t n, locale_t,
const wchar_t * __restrict, __darwin_va_list);
int vwprintf_l(locale_t, const wchar_t * __restrict, __darwin_va_list);
-size_t wcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict,
- locale_t);
+size_t wcrtomb_l(
+ char * __restrict _LIBC_UNSAFE_INDEXABLE /* __counted_by(MB_CUR_MAX), which is not a constant */,
+ wchar_t, mbstate_t * __restrict, locale_t);
int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
-size_t wcsftime_l(wchar_t * __restrict, size_t, const wchar_t * __restrict,
- const struct tm * __restrict, locale_t)
+size_t wcsftime_l(wchar_t * __restrict _LIBC_COUNT(__n), size_t __n,
+ const wchar_t * __restrict, const struct tm * __restrict, locale_t)
__DARWIN_ALIAS(wcsftime_l);
-size_t wcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t,
- mbstate_t * __restrict, locale_t);
-double wcstod_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t);
-long wcstol_l(const wchar_t * __restrict, wchar_t ** __restrict, int,
- locale_t);
+size_t wcsrtombs_l(char * __restrict _LIBC_COUNT(__len),
+ const wchar_t ** __restrict, size_t __len, mbstate_t * __restrict,
+ locale_t);
+double wcstod_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ locale_t);
+long wcstol_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ int, locale_t);
unsigned long
- wcstoul_l(const wchar_t * __restrict, wchar_t ** __restrict, int,
- locale_t);
-int wcswidth_l(const wchar_t *, size_t, locale_t);
-size_t wcsxfrm_l(wchar_t * __restrict, const wchar_t * __restrict, size_t,
+ wcstoul_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict, int,
locale_t);
+int wcswidth_l(const wchar_t *_LIBC_COUNT(__n), size_t __n, locale_t);
+size_t wcsxfrm_l(wchar_t * __restrict _LIBC_COUNT(__n),
+ const wchar_t * __restrict, size_t __n, locale_t);
int wctob_l(wint_t, locale_t);
int wcwidth_l(wchar_t, locale_t);
int wprintf_l(locale_t, const wchar_t * __restrict, ...);
@@ -96,16 +105,18 @@ int vfwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict,
int vswscanf_l(const wchar_t * __restrict, locale_t,
const wchar_t * __restrict, __darwin_va_list);
int vwscanf_l(locale_t, const wchar_t * __restrict, __darwin_va_list);
-float wcstof_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t);
+float wcstof_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ locale_t);
long double
- wcstold_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t);
+ wcstold_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ locale_t);
#if !__DARWIN_NO_LONG_LONG
long long
- wcstoll_l(const wchar_t * __restrict, wchar_t ** __restrict, int,
+ wcstoll_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict, int,
locale_t);
unsigned long long
- wcstoull_l(const wchar_t * __restrict, wchar_t ** __restrict, int,
- locale_t);
+ wcstoull_l(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ int, locale_t);
#endif /* !__DARWIN_NO_LONG_LONG */
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L */
@@ -118,10 +129,12 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200809L
__BEGIN_DECLS
-size_t mbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t,
- size_t, mbstate_t * __restrict, locale_t);
+size_t mbsnrtowcs_l(wchar_t * __restrict _LIBC_COUNT(__len),
+ const char ** __restrict, size_t, size_t __len, mbstate_t * __restrict,
+ locale_t);
int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t n, locale_t) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+int wcsncasecmp_l(const wchar_t *_LIBC_UNSAFE_INDEXABLE,
+ const wchar_t *_LIBC_UNSAFE_INDEXABLE, size_t n, locale_t) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
size_t wcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t,
size_t, mbstate_t * __restrict, locale_t);
__END_DECLS
lib/libc/include/any-macos-any/xlocale/_wctype.h
@@ -24,10 +24,13 @@
#ifndef _XLOCALE__WCTYPE_H_
#define _XLOCALE__WCTYPE_H_
+#include <_bounds.h>
#include <___wctype.h>
#include <_types/_wctrans_t.h>
#include <xlocale/_ctype.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_DONT_USE_CTYPE_INLINE_) && \
(defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
lib/libc/include/any-macos-any/xpc/session.h
@@ -139,9 +139,6 @@ xpc_session_create_xpc_service(const char *name,
* 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.
*
- * @param cancel_handler
- * The cancel handler block that will be executed when this session is canceled.
- *
* @result
* On success this returns a new session object. The returned session is
* activated by default and can be used to send messages. The caller is
lib/libc/include/any-macos-any/___wctype.h
@@ -56,11 +56,14 @@
#define ___WCTYPE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_wint_t.h>
#include <_types/_wctype_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#ifndef WEOF
#define WEOF __DARWIN_WEOF
#endif
lib/libc/include/any-macos-any/__xlocale.h
@@ -25,10 +25,11 @@
#define __XLOCALE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_mb_cur_max.h>
+#include <_types/_locale_t.h>
-struct _xlocale; /* forward reference */
-typedef struct _xlocale * locale_t;
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
int ___mb_cur_max_l(locale_t);
lib/libc/include/any-macos-any/_abort.h
@@ -25,6 +25,9 @@
#define __ABORT_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
void abort(void) __cold __dead2;
lib/libc/include/any-macos-any/_assert.h
@@ -43,6 +43,9 @@
#define __ASSERT_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
#ifndef __GNUC__
@@ -69,7 +72,7 @@ __END_DECLS
#else
/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */
#define __assert(e, file, line) \
- __assert_rtn ((const char *)-1L, file, line, e)
+ __assert_rtn (__unsafe_forge_null_terminated(const char *, -1L), file, line, e)
#endif
#endif /* __GNUC__ */
lib/libc/include/any-macos-any/_bounds.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2024 Apple 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 _LIBC_BOUNDS_H_
+#define _LIBC_BOUNDS_H_
+
+#include <sys/cdefs.h>
+
+#ifdef __LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES /* compiler-defined */
+
+#define _LIBC_COUNT(x) __counted_by(x)
+#define _LIBC_COUNT_OR_NULL(x) __counted_by_or_null(x)
+#define _LIBC_SIZE(x) __sized_by(x)
+#define _LIBC_SIZE_OR_NULL(x) __sized_by_or_null(x)
+#define _LIBC_ENDED_BY(x) __ended_by(x)
+#define _LIBC_SINGLE __single
+#define _LIBC_UNSAFE_INDEXABLE __unsafe_indexable
+#define _LIBC_CSTR __null_terminated
+#define _LIBC_NULL_TERMINATED __null_terminated
+#define _LIBC_FLEX_COUNT(FIELD, INTCOUNT) __counted_by(FIELD)
+
+#define _LIBC_SINGLE_BY_DEFAULT() __ptrcheck_abi_assume_single()
+#define _LIBC_PTRCHECK_REPLACED(R) __ptrcheck_unavailable_r(R)
+
+#else /* _LIBC_ANNOTATE_BOUNDS */
+
+#define _LIBC_COUNT(x)
+#define _LIBC_COUNT_OR_NULL(x)
+#define _LIBC_SIZE(x)
+#define _LIBC_SIZE_OR_NULL(x)
+#define _LIBC_ENDED_BY(x)
+#define _LIBC_SINGLE
+#define _LIBC_UNSAFE_INDEXABLE
+#define _LIBC_CSTR
+#define _LIBC_NULL_TERMINATED
+#define _LIBC_FLEX_COUNT(FIELD, INTCOUNT) (INTCOUNT)
+
+#define _LIBC_SINGLE_BY_DEFAULT()
+#define _LIBC_PTRCHECK_REPLACED(R)
+
+#endif /* _LIBC_ANNOTATE_BOUNDS */
+
+#endif /* _LIBC_BOUNDS_H_ */
lib/libc/include/any-macos-any/_ctermid.h
@@ -25,10 +25,15 @@
#define _CTERMID_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
-char *ctermid(char *);
+#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
+
+char *_LIBC_CSTR ctermid(char *_LIBC_COUNT_OR_NULL(L_ctermid));
__END_DECLS
lib/libc/include/any-macos-any/_ctype.h
@@ -68,8 +68,11 @@
#define __CTYPE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <runetype.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define _CTYPE_A 0x00000100L /* Alpha */
#define _CTYPE_C 0x00000200L /* Control */
#define _CTYPE_D 0x00000400L /* Digit */
lib/libc/include/any-macos-any/_inttypes.h
@@ -221,6 +221,7 @@
# define SCNxMAX __SCN_MAX_LENGTH_MODIFIER__ "x"
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <Availability.h>
#include <_types.h>
@@ -230,6 +231,8 @@
__BEGIN_DECLS
+_LIBC_SINGLE_BY_DEFAULT()
+
/* 7.8.2.1 */
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
extern intmax_t
@@ -249,26 +252,26 @@ imaxdiv(intmax_t __numer, intmax_t __denom);
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
extern intmax_t
strtoimax(const char * __restrict __nptr,
- char ** __restrict __endptr,
+ char *_LIBC_CSTR * __restrict __endptr,
int __base);
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
extern uintmax_t
strtoumax(const char * __restrict __nptr,
- char ** __restrict __endptr,
+ char *_LIBC_CSTR * __restrict __endptr,
int __base);
/* 7.8.2.4 */
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
extern intmax_t
wcstoimax(const wchar_t * __restrict __nptr,
- wchar_t ** __restrict __endptr,
+ wchar_t *_LIBC_CSTR * __restrict __endptr,
int __base);
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
extern uintmax_t
wcstoumax(const wchar_t * __restrict __nptr,
- wchar_t ** __restrict __endptr,
+ wchar_t *_LIBC_CSTR * __restrict __endptr,
int __base);
/* Poison the following routines if -fshort-wchar is set */
lib/libc/include/any-macos-any/_langinfo.h
@@ -29,9 +29,12 @@
#ifndef _LANGINFO_H_
#define _LANGINFO_H_
+#include <_bounds.h>
#include <_types.h>
#include <_types/_nl_item.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define CODESET 0 /* codeset name */
#define D_T_FMT 1 /* string for formatting date and time */
#define D_FMT 2 /* date format string */
@@ -110,7 +113,7 @@
#endif
__BEGIN_DECLS
-char *nl_langinfo(nl_item);
+char *_LIBC_CSTR nl_langinfo(nl_item);
__END_DECLS
#endif /* !_LANGINFO_H_ */
lib/libc/include/any-macos-any/_locale.h
@@ -38,19 +38,22 @@
#define __LOCALE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
struct lconv {
- char *decimal_point;
- char *thousands_sep;
- char *grouping;
- char *int_curr_symbol;
- char *currency_symbol;
- char *mon_decimal_point;
- char *mon_thousands_sep;
- char *mon_grouping;
- char *positive_sign;
- char *negative_sign;
+ char *_LIBC_CSTR decimal_point;
+ char *_LIBC_CSTR thousands_sep;
+ char *_LIBC_CSTR grouping;
+ char *_LIBC_CSTR int_curr_symbol;
+ char *_LIBC_CSTR currency_symbol;
+ char *_LIBC_CSTR mon_decimal_point;
+ char *_LIBC_CSTR mon_thousands_sep;
+ char *_LIBC_CSTR mon_grouping;
+ char *_LIBC_CSTR positive_sign;
+ char *_LIBC_CSTR negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
@@ -69,8 +72,33 @@ 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_ */
lib/libc/include/any-macos-any/_mb_cur_max.h
@@ -25,6 +25,9 @@
#define __MB_CUR_MAX_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
int ___mb_cur_max(void);
lib/libc/include/any-macos-any/_monetary.h
@@ -30,12 +30,15 @@
#define _MONETARY_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_size_t.h>
#include <sys/_types/_ssize_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-ssize_t strfmon(char *, size_t, const char *, ...);
+ssize_t strfmon(char *_LIBC_COUNT(__maxsize), size_t __maxsize, const char *, ...);
__END_DECLS
#endif /* !_MONETARY_H_ */
lib/libc/include/any-macos-any/_printf.h
@@ -25,6 +25,9 @@
#define __PRINTF_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
lib/libc/include/any-macos-any/_regex.h
@@ -94,10 +94,13 @@
#define _REGEX_H_
#define __REGEX_H_
+#include <_bounds.h>
#include <_types.h>
#include <Availability.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/*********/
/* types */
/*********/
@@ -110,7 +113,7 @@ typedef __darwin_off_t regoff_t;
typedef struct {
int re_magic;
size_t re_nsub; /* number of parenthesized subexpressions */
- const char *re_endp; /* end pointer for REG_PEND */
+ const char *_LIBC_UNSAFE_INDEXABLE re_endp; /* end pointer for REG_PEND */
struct re_guts *re_g; /* none of your business :-) */
} regex_t;
@@ -207,32 +210,32 @@ typedef struct {
__BEGIN_DECLS
int regcomp(regex_t * __restrict, const char * __restrict, int) __DARWIN_ALIAS(regcomp);
-size_t regerror(int, const regex_t * __restrict, char * __restrict, size_t) __cold;
+size_t regerror(int, const regex_t * __restrict, char *_LIBC_COUNT(__errbuf_size) __restrict, size_t __errbuf_size) __cold;
/*
* gcc under c99 mode won't compile "[ __restrict]" by itself. As a workaround,
* a dummy argument name is added.
*/
-int regexec(const regex_t * __restrict, const char * __restrict, size_t,
- regmatch_t __pmatch[ __restrict], int);
+int regexec(const regex_t * __restrict, const char * __restrict, size_t __nmatch,
+ regmatch_t __pmatch[ __restrict _LIBC_COUNT(__nmatch)], int);
void regfree(regex_t *);
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
/* Darwin extensions */
-int regncomp(regex_t * __restrict, const char * __restrict, size_t, int)
+int regncomp(regex_t * __restrict, const char *_LIBC_COUNT(__len) __restrict, size_t __len, int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
-int regnexec(const regex_t * __restrict, const char * __restrict, size_t,
- size_t, regmatch_t __pmatch[ __restrict], int)
+int regnexec(const regex_t * __restrict, const char *_LIBC_COUNT(__len) __restrict, size_t __len,
+ size_t __nmatch, regmatch_t __pmatch[ __restrict _LIBC_COUNT(__nmatch)], int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
int regwcomp(regex_t * __restrict, const wchar_t * __restrict, int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
-int regwexec(const regex_t * __restrict, const wchar_t * __restrict, size_t,
- regmatch_t __pmatch[ __restrict], int)
+int regwexec(const regex_t * __restrict, const wchar_t * __restrict, size_t __nmatch,
+ regmatch_t __pmatch[ __restrict _LIBC_COUNT(__nmatch)], int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
-int regwncomp(regex_t * __restrict, const wchar_t * __restrict, size_t, int)
+int regwncomp(regex_t * __restrict, const wchar_t * _LIBC_COUNT(__len) __restrict, size_t __len, int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
-int regwnexec(const regex_t * __restrict, const wchar_t * __restrict,
- size_t, size_t, regmatch_t __pmatch[ __restrict], int)
+int regwnexec(const regex_t * __restrict, const wchar_t * _LIBC_COUNT(__len) __restrict,
+ size_t __len, size_t __nmatch, regmatch_t __pmatch[ __restrict _LIBC_COUNT(__nmatch)], int)
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
lib/libc/include/any-macos-any/_stdio.h
@@ -66,6 +66,7 @@
#define _STDIO_H_
#define __STDIO_H_
+#include <_bounds.h>
#include <sys/cdefs.h>
#include <Availability.h>
@@ -80,6 +81,8 @@
#include <sys/stdio.h>
#include <_printf.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
typedef __darwin_off_t fpos_t;
#define _FSTDIO /* Define for new stdio with functions. */
@@ -92,7 +95,7 @@ typedef __darwin_off_t fpos_t;
/* stdio buffers */
struct __sbuf {
- unsigned char *_base;
+ unsigned char *_LIBC_COUNT(_size) _base;
int _size;
};
@@ -126,7 +129,7 @@ struct __sFILEX;
* NB: see WARNING above before changing the layout of this structure!
*/
typedef struct __sFILE {
- unsigned char *_p; /* current position in (some) buffer */
+ unsigned char *_LIBC_UNSAFE_INDEXABLE _p; /* current position in (some) buffer */
int _r; /* read space left for getc() */
int _w; /* write space left for putc() */
short _flags; /* flags, below; this FILE is free if 0 */
@@ -137,9 +140,9 @@ typedef struct __sFILE {
/* operations */
void *_cookie; /* cookie passed to io functions */
int (* _Nullable _close)(void *);
- int (* _Nullable _read) (void *, char *, int);
+ int (* _Nullable _read) (void *, char *_LIBC_COUNT(__n), int __n);
fpos_t (* _Nullable _seek) (void *, fpos_t, int);
- int (* _Nullable _write)(void *, const char *, int);
+ int (* _Nullable _write)(void *, const char *_LIBC_COUNT(__n), int __n);
/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
@@ -233,7 +236,7 @@ int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE * __restrict, fpos_t *);
-char *fgets(char * __restrict, int, FILE *);
+char *_LIBC_CSTR fgets(char * __restrict _LIBC_COUNT(__size), int __size, FILE *);
#if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE)
FILE *fopen(const char * __restrict __filename, const char * __restrict __mode) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(fopen));
#else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */
@@ -242,21 +245,21 @@ FILE *fopen(const char * __restrict __filename, const char * __restrict __mode)
int fprintf(FILE * __restrict, const char * __restrict, ...) __printflike(2, 3);
int fputc(int, FILE *);
int fputs(const char * __restrict, FILE * __restrict) __DARWIN_ALIAS(fputs);
-size_t fread(void * __restrict __ptr, size_t __size, size_t __nitems, FILE * __restrict __stream);
+size_t fread(void * __restrict _LIBC_SIZE(__size * __nitems) __ptr, size_t __size, size_t __nitems, FILE * __restrict __stream);
FILE *freopen(const char * __restrict, const char * __restrict,
FILE * __restrict) __DARWIN_ALIAS(freopen);
int fscanf(FILE * __restrict, const char * __restrict, ...) __scanflike(2, 3);
int fseek(FILE *, long, int);
int fsetpos(FILE *, const fpos_t *);
long ftell(FILE *);
-size_t fwrite(const void * __restrict __ptr, size_t __size, size_t __nitems, FILE * __restrict __stream) __DARWIN_ALIAS(fwrite);
+size_t fwrite(const void * __restrict _LIBC_SIZE(__size * __nitems) __ptr, size_t __size, size_t __nitems, FILE * __restrict __stream) __DARWIN_ALIAS(fwrite);
int getc(FILE *);
int getchar(void);
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of gets(3), it is highly recommended that you use fgets(3) instead.")
#endif
-char *gets(char *);
+char *_LIBC_CSTR gets(char *_LIBC_UNSAFE_INDEXABLE) _LIBC_PTRCHECK_REPLACED(fgets);
void perror(const char *) __cold;
int putc(int, FILE *);
@@ -266,14 +269,15 @@ int remove(const char *);
int rename (const char *__old, const char *__new);
void rewind(FILE *);
int scanf(const char * __restrict, ...) __scanflike(1, 2);
-void setbuf(FILE * __restrict, char * __restrict);
-int setvbuf(FILE * __restrict, char * __restrict, int, size_t);
+void setbuf(FILE * __restrict, char * __restrict _LIBC_COUNT_OR_NULL(BUFSIZ));
+int setvbuf(FILE * __restrict, char * __restrict _LIBC_COUNT_OR_NULL(__size), int, size_t __size);
__swift_unavailable("Use snprintf instead.")
+_LIBC_PTRCHECK_REPLACED("snprintf")
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
#endif
-int sprintf(char * __restrict, const char * __restrict, ...) __printflike(2, 3);
+int sprintf(char * __restrict _LIBC_UNSAFE_INDEXABLE, const char * __restrict, ...) __printflike(2, 3) _LIBC_PTRCHECK_REPLACED(snprintf);
int sscanf(const char * __restrict, const char * __restrict, ...) __scanflike(2, 3);
FILE *tmpfile(void);
@@ -282,17 +286,18 @@ __swift_unavailable("Use mkstemp(3) instead.")
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.")
#endif
-char *tmpnam(char *);
+char *_LIBC_CSTR tmpnam(char *_LIBC_COUNT(L_tmpnam));
int ungetc(int, FILE *);
int vfprintf(FILE * __restrict, const char * __restrict, va_list) __printflike(2, 0);
int vprintf(const char * __restrict, va_list) __printflike(1, 0);
__swift_unavailable("Use vsnprintf instead.")
+_LIBC_PTRCHECK_REPLACED("vsnprintf")
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use vsnprintf(3) instead.")
#endif
-int vsprintf(char * __restrict, const char * __restrict, va_list) __printflike(2, 0);
+int vsprintf(char * __restrict _LIBC_UNSAFE_INDEXABLE, const char * __restrict, va_list) __printflike(2, 0) _LIBC_PTRCHECK_REPLACED(vsnprintf);
__END_DECLS
@@ -302,7 +307,6 @@ __END_DECLS
*/
#if __DARWIN_C_LEVEL >= 198808L
-#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */
#include <_ctermid.h>
@@ -398,7 +402,7 @@ __swift_unavailable("Use mkstemp(3) instead.")
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tempnam(3), it is highly recommended that you use mkstemp(3) instead.")
#endif
-char *tempnam(const char *__dir, const char *__prefix) __DARWIN_ALIAS(tempnam);
+char *_LIBC_CSTR tempnam(const char *__dir, const char *__prefix) __DARWIN_ALIAS(tempnam);
__END_DECLS
#ifndef lint
@@ -428,10 +432,10 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus)
__BEGIN_DECLS
-int snprintf(char * __restrict __str, size_t __size, const char * __restrict __format, ...) __printflike(3, 4);
+int snprintf(char * __restrict _LIBC_COUNT(__size) __str, size_t __size, const char * __restrict __format, ...) __printflike(3, 4);
int vfscanf(FILE * __restrict __stream, const char * __restrict __format, va_list) __scanflike(2, 0);
int vscanf(const char * __restrict __format, va_list) __scanflike(1, 0);
-int vsnprintf(char * __restrict __str, size_t __size, const char * __restrict __format, va_list) __printflike(3, 0);
+int vsnprintf(char * __restrict _LIBC_COUNT(__size) __str, size_t __size, const char * __restrict __format, va_list) __printflike(3, 0);
int vsscanf(const char * __restrict __str, const char * __restrict __format, va_list) __scanflike(2, 0);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus) */
@@ -448,10 +452,10 @@ __END_DECLS
__BEGIN_DECLS
int dprintf(int, const char * __restrict, ...) __printflike(2, 3) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
int vdprintf(int, const char * __restrict, va_list) __printflike(2, 0) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-ssize_t getdelim(char ** __restrict __linep, size_t * __restrict __linecapp, int __delimiter, FILE * __restrict __stream) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-ssize_t getline(char ** __restrict __linep, size_t * __restrict __linecapp, FILE * __restrict __stream) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-FILE *fmemopen(void * __restrict __buf, size_t __size, const char * __restrict __mode) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-FILE *open_memstream(char **__bufp, size_t *__sizep) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+ssize_t getdelim(char *_LIBC_COUNT(*__linecapp) *__restrict __linep, size_t * __restrict __linecapp, int __delimiter, FILE * __restrict __stream) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+ssize_t getline(char *_LIBC_COUNT(*__linecapp) *__restrict __linep, size_t * __restrict __linecapp, FILE * __restrict __stream) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+FILE *fmemopen(void * __restrict __buf _LIBC_SIZE(__size), size_t __size, const char * __restrict __mode) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+FILE *open_memstream(char *_LIBC_COUNT(*__sizep) *__bufp, size_t *__sizep) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200809L */
@@ -464,22 +468,22 @@ __BEGIN_DECLS
extern __const int sys_nerr; /* perror(3) external variables */
extern __const char *__const sys_errlist[];
-int asprintf(char ** __restrict, const char * __restrict, ...) __printflike(2, 3);
-char *ctermid_r(char *);
-char *fgetln(FILE *, size_t *);
+int asprintf(char *_LIBC_CSTR *__restrict, const char * __restrict, ...) __printflike(2, 3);
+char *_LIBC_CSTR ctermid_r(char *_LIBC_COUNT(L_ctermid));
+char *_LIBC_COUNT(*__len) fgetln(FILE *, size_t *__len);
__const char *fmtcheck(const char *, const char *) __attribute__((format_arg(2)));
int fpurge(FILE *);
-void setbuffer(FILE *, char *, int);
+void setbuffer(FILE *, char *_LIBC_COUNT_OR_NULL(__size), int __size);
int setlinebuf(FILE *);
-int vasprintf(char ** __restrict, const char * __restrict, va_list) __printflike(2, 0);
+int vasprintf(char *_LIBC_CSTR *__restrict, const char * __restrict, va_list) __printflike(2, 0);
/*
* Stdio function-access interface.
*/
FILE *funopen(const void *,
- int (* _Nullable)(void *, char *, int),
- int (* _Nullable)(void *, const char *, int),
+ int (* _Nullable)(void *, char *_LIBC_COUNT(__n), int __n),
+ int (* _Nullable)(void *, const char *_LIBC_COUNT(__n), int __n),
fpos_t (* _Nullable)(void *, fpos_t, int),
int (* _Nullable)(void *));
__END_DECLS
lib/libc/include/any-macos-any/_stdlib.h
@@ -58,14 +58,31 @@
#ifndef _STDLIB_H_
#define _STDLIB_H_
+#define _LIBC_COUNT__MB_LEN_MAX _LIBC_UNSAFE_INDEXABLE
+#define _LIBC_COUNT__PATH_MAX _LIBC_UNSAFE_INDEXABLE
+
#include <Availability.h>
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#if !defined(_ANSI_SOURCE)
#include <sys/wait.h>
#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#include <alloca.h>
+#if defined(__LIBC_STAGED_BOUNDS_SAFETY_ATTRIBUTES) && __has_ptrcheck
+
+/* required for bounds annotations, but brings in unexpected names and may
+ * need adoption work from clients */
+#include <limits.h> /* for MB_LEN_MAX */
+#include <sys/syslimits.h> /* for PATH_MAX */
+
+#undef _LIBC_COUNT__MB_LEN_MAX
+#undef _LIBC_COUNT__PATH_MAX
+#define _LIBC_COUNT__MB_LEN_MAX _LIBC_COUNT(MB_LEN_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) */
#endif /* !_ANSI_SOURCE */
@@ -80,6 +97,8 @@
#include <sys/_types/_wchar_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
typedef struct {
int quot; /* quotient */
int rem; /* remainder */
@@ -134,13 +153,13 @@ long atol(const char *);
long long
atoll(const char *);
#endif /* !__DARWIN_NO_LONG_LONG */
-void *bsearch(const void *__key, const void *__base, size_t __nel,
+void *bsearch(const void *_LIBC_SIZE(__width) __key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel,
size_t __width, int (* _Nonnull __compar)(const void *, const void *));
/* calloc is now declared in _malloc.h */
div_t div(int, int) __pure2;
void exit(int) __dead2;
/* free is now declared in _malloc.h */
-char *getenv(const char *);
+char *_LIBC_CSTR getenv(const char *);
long labs(long) __pure2;
ldiv_t ldiv(long, long) __pure2;
#if !__DARWIN_NO_LONG_LONG
@@ -149,11 +168,11 @@ long long
lldiv_t lldiv(long long, long long);
#endif /* !__DARWIN_NO_LONG_LONG */
/* malloc is now declared in _malloc.h */
-int mblen(const char *__s, size_t __n);
-size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t);
-int mbtowc(wchar_t * __restrict, const char * __restrict, size_t);
+int mblen(const char *_LIBC_COUNT(__n) __s, size_t __n);
+size_t mbstowcs(wchar_t * __restrict _LIBC_COUNT(__n), const char * __restrict, size_t __n);
+int mbtowc(wchar_t * __restrict, const char * __restrict _LIBC_COUNT(__n), size_t __n);
/* posix_memalign is now declared in _malloc.h */
-void qsort(void *__base, size_t __nel, size_t __width,
+void qsort(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (* _Nonnull __compar)(const void *, const void *));
#if (__DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \
defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
@@ -162,20 +181,20 @@ void quick_exit(int) __dead2;
int rand(void) __swift_unavailable("Use arc4random instead.");
/* realloc is now declared in _malloc.h */
void srand(unsigned) __swift_unavailable("Use arc4random instead.");
-double strtod(const char *, char **) __DARWIN_ALIAS(strtod);
-float strtof(const char *, char **) __DARWIN_ALIAS(strtof);
-long strtol(const char *__str, char **__endptr, int __base);
+double strtod(const char *, char *_LIBC_CSTR *) __DARWIN_ALIAS(strtod);
+float strtof(const char *, char *_LIBC_CSTR *) __DARWIN_ALIAS(strtof);
+long strtol(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
long double
- strtold(const char *, char **);
+ strtold(const char *, char *_LIBC_CSTR *);
#if !__DARWIN_NO_LONG_LONG
long long
- strtoll(const char *__str, char **__endptr, int __base);
+ strtoll(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
#endif /* !__DARWIN_NO_LONG_LONG */
unsigned long
- strtoul(const char *__str, char **__endptr, int __base);
+ strtoul(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
#if !__DARWIN_NO_LONG_LONG
unsigned long long
- strtoull(const char *__str, char **__endptr, int __base);
+ strtoull(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
#endif /* !__DARWIN_NO_LONG_LONG */
__swift_unavailable("Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)")
@@ -184,23 +203,25 @@ __WATCHOS_PROHIBITED __TVOS_PROHIBITED
int system(const char *) __DARWIN_ALIAS_C(system);
-size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t);
-int wctomb(char *, wchar_t);
+size_t wcstombs(char * __restrict _LIBC_COUNT(__n), const wchar_t * __restrict, size_t __n);
+int wctomb(char *_LIBC_COUNT__MB_LEN_MAX, wchar_t);
#ifndef _ANSI_SOURCE
void _Exit(int) __dead2;
long a64l(const char *);
double drand48(void);
-char *ecvt(double, int, int *__restrict, int *__restrict); /* LEGACY */
+char *_LIBC_CSTR ecvt(double, int, int *__restrict, int *__restrict); /* LEGACY */
double erand48(unsigned short[3]);
-char *fcvt(double, int, int *__restrict, int *__restrict); /* LEGACY */
-char *gcvt(double, int, char *); /* LEGACY */
-int getsubopt(char **, char * const *, char **);
+char *_LIBC_CSTR fcvt(double, int, int *__restrict, int *__restrict); /* LEGACY */
+char *_LIBC_CSTR gcvt(double, int, char *_LIBC_UNSAFE_INDEXABLE) _LIBC_PTRCHECK_REPLACED(snprintf); /* LEGACY */
+int getsubopt(char *_LIBC_CSTR *, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED, char *_LIBC_CSTR *);
int grantpt(int);
#if __DARWIN_UNIX03
-char *initstate(unsigned, char *, size_t); /* no __DARWIN_ALIAS needed */
+char *_LIBC_UNSAFE_INDEXABLE
+ initstate(unsigned, char *_LIBC_COUNT(__size), size_t __size); /* no __DARWIN_ALIAS needed */
#else /* !__DARWIN_UNIX03 */
-char *initstate(unsigned long, char *, long);
+char *_LIBC_UNSAFE_INDEXABLE
+ initstate(unsigned long, char *_LIBC_COUNT(__size), long __size);
#endif /* __DARWIN_UNIX03 */
long jrand48(unsigned short[3]) __swift_unavailable("Use arc4random instead.");
char *l64a(long);
@@ -209,34 +230,33 @@ long lrand48(void) __swift_unavailable("Use arc4random instead.");
#if !defined(_POSIX_C_SOURCE)
__deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of mktemp(3), it is highly recommended that you use mkstemp(3) instead.")
#endif
-char *mktemp(char *);
-int mkstemp(char *);
+char *_LIBC_CSTR mktemp(char *_LIBC_CSTR);
+int mkstemp(char *_LIBC_CSTR);
long mrand48(void) __swift_unavailable("Use arc4random instead.");
long nrand48(unsigned short[3]) __swift_unavailable("Use arc4random instead.");
int posix_openpt(int);
-char *ptsname(int);
+char *_LIBC_CSTR ptsname(int);
#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
-int ptsname_r(int fildes, char *buffer, size_t buflen) __API_AVAILABLE(macos(10.13.4), ios(11.3), tvos(11.3), watchos(4.3));
+int ptsname_r(int fildes, char *_LIBC_COUNT(buflen) buffer, size_t buflen) __API_AVAILABLE(macos(10.13.4), ios(11.3), tvos(11.3), watchos(4.3));
#endif
-int putenv(char *) __DARWIN_ALIAS(putenv);
+int putenv(char *_LIBC_CSTR) __DARWIN_ALIAS(putenv);
long random(void) __swift_unavailable("Use arc4random instead.");
int rand_r(unsigned *) __swift_unavailable("Use arc4random instead.");
#if (__DARWIN_UNIX03 && !defined(_POSIX_C_SOURCE)) || defined(_DARWIN_C_SOURCE) || defined(_DARWIN_BETTER_REALPATH)
-char *realpath(const char * __restrict, char * __restrict) __DARWIN_EXTSN(realpath);
+char *_LIBC_CSTR realpath(const char * __restrict, char * __restrict _LIBC_COUNT__PATH_MAX) __DARWIN_EXTSN(realpath);
#else /* (!__DARWIN_UNIX03 || _POSIX_C_SOURCE) && !_DARWIN_C_SOURCE && !_DARWIN_BETTER_REALPATH */
-char *realpath(const char * __restrict, char * __restrict) __DARWIN_ALIAS(realpath);
+char *_LIBC_CSTR realpath(const char * __restrict, char * __restrict _LIBC_COUNT__PATH_MAX) __DARWIN_ALIAS(realpath);
#endif /* (__DARWIN_UNIX03 && _POSIX_C_SOURCE) || _DARWIN_C_SOURCE || _DARWIN_BETTER_REALPATH */
-unsigned short
- *seed48(unsigned short[3]);
+unsigned short *_LIBC_COUNT(3) seed48(unsigned short[3]);
int setenv(const char * __name, const char * __value, int __overwrite) __DARWIN_ALIAS(setenv);
#if __DARWIN_UNIX03
void setkey(const char *) __DARWIN_ALIAS(setkey);
#else /* !__DARWIN_UNIX03 */
int setkey(const char *);
#endif /* __DARWIN_UNIX03 */
-char *setstate(const char *);
+char *_LIBC_UNSAFE_INDEXABLE setstate(const char *_LIBC_UNSAFE_INDEXABLE);
void srand48(long);
#if __DARWIN_UNIX03
void srandom(unsigned);
@@ -260,12 +280,12 @@ __END_DECLS
__BEGIN_DECLS
uint32_t arc4random(void);
-void arc4random_addrandom(unsigned char * /*dat*/, int /*datlen*/)
+void arc4random_addrandom(unsigned char *_LIBC_COUNT(__datlen) /*dat*/, int __datlen)
__OSX_DEPRECATED(10.0, 10.12, "use arc4random_stir")
__IOS_DEPRECATED(2.0, 10.0, "use arc4random_stir")
__TVOS_DEPRECATED(2.0, 10.0, "use arc4random_stir")
__WATCHOS_DEPRECATED(1.0, 3.0, "use arc4random_stir");
-void arc4random_buf(void * __buf, size_t __nbytes) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+void arc4random_buf(void *_LIBC_SIZE(__nbytes) __buf, size_t __nbytes) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
void arc4random_stir(void);
uint32_t
arc4random_uniform(uint32_t __upper_bound) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
@@ -279,28 +299,28 @@ int atexit_b(void (^ _Nonnull)(void)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IP
#define __bsearch_noescape
#endif
#endif /* __BLOCKS__ */
-void *bsearch_b(const void *__key, const void *__base, size_t __nel,
+void *bsearch_b(const void *_LIBC_SIZE(__width) __key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel,
size_t __width, int (^ _Nonnull __compar)(const void *, const void *) __bsearch_noescape)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
/* getcap(3) functions */
-char *cgetcap(char *, const char *, int);
+char *_LIBC_CSTR cgetcap(char *_LIBC_CSTR, const char *, int);
int cgetclose(void);
-int cgetent(char **, char **, const char *);
-int cgetfirst(char **, char **);
+int cgetent(char *_LIBC_CSTR *, char *_LIBC_CSTR *_LIBC_NULL_TERMINATED, const char *);
+int cgetfirst(char *_LIBC_CSTR *, char *_LIBC_CSTR *_LIBC_NULL_TERMINATED);
int cgetmatch(const char *, const char *);
-int cgetnext(char **, char **);
-int cgetnum(char *, const char *, long *);
+int cgetnext(char *_LIBC_CSTR *, char *_LIBC_CSTR *_LIBC_NULL_TERMINATED);
+int cgetnum(char *_LIBC_CSTR, const char *, long *);
int cgetset(const char *);
-int cgetstr(char *, const char *, char **);
-int cgetustr(char *, const char *, char **);
+int cgetstr(char *_LIBC_CSTR, const char *, char *_LIBC_CSTR *);
+int cgetustr(char *_LIBC_CSTR, const char *, char *_LIBC_CSTR *);
int daemon(int, int) __DARWIN_1050(daemon) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0, "Use posix_spawn APIs instead.") __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-char *devname(dev_t, mode_t);
-char *devname_r(dev_t, mode_t, char *buf, int len);
-char *getbsize(int *, long *);
-int getloadavg(double [], int);
+char *_LIBC_CSTR devname(dev_t, mode_t);
+char *_LIBC_CSTR devname_r(dev_t, mode_t, char *_LIBC_COUNT(len) buf, int len);
+char *_LIBC_CSTR getbsize(int *, long *);
+int getloadavg(double [_LIBC_COUNT(__nelem)], int __nelem);
const char
*getprogname(void);
void setprogname(const char *);
@@ -313,57 +333,57 @@ void setprogname(const char *);
#endif
#endif /* __BLOCKS__ */
-int heapsort(void *__base, size_t __nel, size_t __width,
+int heapsort(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (* _Nonnull __compar)(const void *, const void *));
#ifdef __BLOCKS__
-int heapsort_b(void *__base, size_t __nel, size_t __width,
+int heapsort_b(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (^ _Nonnull __compar)(const void *, const void *) __sort_noescape)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
-int mergesort(void *__base, size_t __nel, size_t __width,
+int mergesort(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (* _Nonnull __compar)(const void *, const void *));
#ifdef __BLOCKS__
-int mergesort_b(void *__base, size_t __nel, size_t __width,
+int mergesort_b(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (^ _Nonnull __compar)(const void *, const void *) __sort_noescape)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
-void psort(void *__base, size_t __nel, size_t __width,
+void psort(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (* _Nonnull __compar)(const void *, const void *))
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#ifdef __BLOCKS__
-void psort_b(void *__base, size_t __nel, size_t __width,
+void psort_b(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (^ _Nonnull __compar)(const void *, const void *) __sort_noescape)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
-void psort_r(void *__base, size_t __nel, size_t __width, void *,
+void psort_r(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width, void *,
int (* _Nonnull __compar)(void *, const void *, const void *))
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#ifdef __BLOCKS__
-void qsort_b(void *__base, size_t __nel, size_t __width,
+void qsort_b(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width,
int (^ _Nonnull __compar)(const void *, const void *) __sort_noescape)
__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
-void qsort_r(void *__base, size_t __nel, size_t __width, void *,
+void qsort_r(void *_LIBC_SIZE(__nel * __width) __base, size_t __nel, size_t __width, void *,
int (* _Nonnull __compar)(void *, const void *, const void *));
-int radixsort(const unsigned char **__base, int __nel, const unsigned char *__table,
+int radixsort(const unsigned char *_LIBC_UNSAFE_INDEXABLE *_LIBC_COUNT(__nel) __base, int __nel, const unsigned char *_LIBC_COUNT_OR_NULL(256) __table,
unsigned __endbyte);
int rpmatch(const char *)
__API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), watchos(6.0));
-int sradixsort(const unsigned char **__base, int __nel, const unsigned char *__table,
+int sradixsort(const unsigned char *_LIBC_UNSAFE_INDEXABLE *_LIBC_COUNT(__nel) __base, int __nel, const unsigned char *_LIBC_COUNT_OR_NULL(256) __table,
unsigned __endbyte);
void sranddev(void);
void srandomdev(void);
/* reallocf is now declared in _malloc.h */
long long
- strtonum(const char *__numstr, long long __minval, long long __maxval, const char **__errstrp)
+ strtonum(const char *__numstr, long long __minval, long long __maxval, const char *_LIBC_CSTR *__errstrp)
__API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0));
#if !__DARWIN_NO_LONG_LONG
long long
- strtoq(const char *__str, char **__endptr, int __base);
+ strtoq(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
unsigned long long
- strtouq(const char *__str, char **__endptr, int __base);
+ strtouq(const char *__str, char *_LIBC_CSTR *__endptr, int __base);
#endif /* !__DARWIN_NO_LONG_LONG */
-extern char *suboptarg; /* getsubopt(3) external variable */
+extern char *_LIBC_CSTR suboptarg; /* getsubopt(3) external variable */
/* valloc is now declared in _malloc.h */
__END_DECLS
#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */
lib/libc/include/any-macos-any/_string.h
@@ -58,6 +58,7 @@
#ifndef _STRING_H_
#define _STRING_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/cdefs.h>
#include <Availability.h>
@@ -66,29 +67,49 @@
/* ANSI-C */
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-void *memchr(const void *__s, int __c, size_t __n);
-int memcmp(const void *__s1, const void *__s2, size_t __n);
-void *memcpy(void *__dst, const void *__src, size_t __n);
-void *memmove(void *__dst, const void *__src, size_t __len);
-void *memset(void *__b, int __c, size_t __len);
-char *strcat(char *__s1, const char *__s2);
-char *strchr(const char *__s, int __c);
+void *_LIBC_SIZE(__n)
+ memchr(const void *_LIBC_SIZE(__n) __s, int __c, size_t __n);
+int memcmp(const void *_LIBC_SIZE(__n) __s1, const void *_LIBC_SIZE(__n) __s2,
+ size_t __n);
+void *_LIBC_SIZE(__n)
+ memcpy(void *_LIBC_SIZE(__n) __dst, const void *_LIBC_SIZE(__n) __src,
+ size_t __n);
+void *_LIBC_SIZE(__len)
+ memmove(void *_LIBC_SIZE(__len) __dst,
+ const void *_LIBC_SIZE(__len) __src, size_t __len);
+void *_LIBC_SIZE(__len)
+ memset(void *_LIBC_SIZE(__len) __b, int __c, size_t __len);
+char *_LIBC_CSTR
+ strcat(char *_LIBC_UNSAFE_INDEXABLE __s1, const char *__s2)
+ _LIBC_PTRCHECK_REPLACED(strlcat);
+char *_LIBC_CSTR strchr(const char *__s, int __c);
int strcmp(const char *__s1, const char *__s2);
int strcoll(const char *__s1, const char *__s2);
-char *strcpy(char *__dst, const char *__src);
+char *_LIBC_CSTR
+ strcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src)
+ _LIBC_PTRCHECK_REPLACED(strlcpy);
size_t strcspn(const char *__s, const char *__charset);
-char *strerror(int __errnum) __DARWIN_ALIAS(strerror);
+char *_LIBC_CSTR strerror(int __errnum) __DARWIN_ALIAS(strerror);
size_t strlen(const char *__s);
-char *strncat(char *__s1, const char *__s2, size_t __n);
-int strncmp(const char *__s1, const char *__s2, size_t __n);
-char *strncpy(char *__dst, const char *__src, size_t __n);
-char *strpbrk(const char *__s, const char *__charset);
-char *strrchr(const char *__s, int __c);
+char *_LIBC_CSTR
+ strncat(char *_LIBC_UNSAFE_INDEXABLE __s1,
+ const char *_LIBC_COUNT(__n) __s2, size_t __n)
+ _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
+ strncpy(char *_LIBC_COUNT(__n) __dst,
+ const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
+ _LIBC_PTRCHECK_REPLACED(strlcpy);
+char *_LIBC_CSTR strpbrk(const char *__s, const char *__charset);
+char *_LIBC_CSTR strrchr(const char *__s, int __c);
size_t strspn(const char *__s, const char *__charset);
-char *strstr(const char *__big, const char *__little);
-char *strtok(char *__str, const char *__sep);
-size_t strxfrm(char *__s1, const char *__s2, size_t __n);
+char *_LIBC_CSTR strstr(const char *__big, const char *__little);
+char *_LIBC_CSTR strtok(char *_LIBC_CSTR __str, const char *__sep);
+size_t strxfrm(char *_LIBC_COUNT(__n) __s1, const char *__s2, size_t __n);
__END_DECLS
@@ -101,7 +122,9 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 199506L
__BEGIN_DECLS
-char *strtok_r(char *__str, const char *__sep, char **__lasts);
+char *_LIBC_CSTR
+ strtok_r(char *_LIBC_CSTR __str, const char *__sep,
+ char *_LIBC_CSTR *__lasts);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 199506L */
@@ -113,9 +136,12 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200112L
__BEGIN_DECLS
-int strerror_r(int __errnum, char *__strerrbuf, size_t __buflen);
-char *strdup(const char *__s1);
-void *memccpy(void *__dst, const void *__src, int __c, size_t __n);
+int strerror_r(int __errnum, char *_LIBC_COUNT(__buflen) __strerrbuf,
+ size_t __buflen);
+char *_LIBC_CSTR strdup(const char *__s1);
+void *_LIBC_UNSAFE_INDEXABLE /* in bounds of __dst */
+ memccpy(void *_LIBC_SIZE(__n) __dst, const void *_LIBC_SIZE(__n) __src,
+ int __c, size_t __n);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L */
@@ -127,11 +153,16 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200809L
__BEGIN_DECLS
-char *stpcpy(char *__dst, const char *__src);
-char *stpncpy(char *__dst, const char *__src, size_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-char *strndup(const char *__s1, size_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-size_t strnlen(const char *__s1, size_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-char *strsignal(int __sig);
+char *_LIBC_CSTR
+ stpcpy(char *_LIBC_UNSAFE_INDEXABLE __dst, const char *__src) _LIBC_PTRCHECK_REPLACED(strlcpy);
+char *_LIBC_CSTR
+ stpncpy(char *_LIBC_UNSAFE_INDEXABLE __dst,
+ const char *_LIBC_UNSAFE_INDEXABLE __src, size_t __n)
+ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
+ _LIBC_PTRCHECK_REPLACED(strlcpy);
+char *_LIBC_CSTR strndup(const char *_LIBC_COUNT(__n) __s1, size_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+size_t strnlen(const char *_LIBC_COUNT(__n) __s1, size_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+char *_LIBC_CSTR strsignal(int __sig);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200809L */
@@ -142,7 +173,7 @@ __END_DECLS
#include <sys/_types/_errno_t.h>
__BEGIN_DECLS
-errno_t memset_s(void *__s, rsize_t __smax, int __c, rsize_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
+errno_t memset_s(void *_LIBC_SIZE(__smax) __s, rsize_t __smax, int __c, rsize_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
__END_DECLS
#endif
@@ -152,28 +183,37 @@ __END_DECLS
#include <sys/_types/_ssize_t.h>
__BEGIN_DECLS
-void *memmem(const void *__big, size_t __big_len, const void *__little, size_t __little_len) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-void memset_pattern4(void *__b, const void *__pattern4, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-void memset_pattern8(void *__b, const void *__pattern8, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-void memset_pattern16(void *__b, const void *__pattern16, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-
-char *strcasestr(const char *__big, const char *__little);
-char *strnstr(const char *__big, const char *__little, size_t __len);
-size_t strlcat(char *__dst, const char *__source, size_t __size);
-size_t strlcpy(char *__dst, const char *__source, size_t __size);
-void strmode(int __mode, char *__bp);
-char *strsep(char **__stringp, const char *__delim);
+void *_LIBC_UNSAFE_INDEXABLE
+ memmem(const void *_LIBC_SIZE(__big_len) __big, size_t __big_len,
+ const void *_LIBC_SIZE(__little_len) __little, size_t __little_len) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+void memset_pattern4(void *_LIBC_SIZE(__len) __b, const void *_LIBC_SIZE(4) __pattern4, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
+void memset_pattern8(void *_LIBC_SIZE(__len) __b, const void *_LIBC_SIZE(8) __pattern8, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
+void memset_pattern16(void *_LIBC_SIZE(__len) __b, const void *_LIBC_SIZE(16) __pattern16, size_t __len) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
+
+char *_LIBC_CSTR
+ strcasestr(const char *__big, const char *__little);
+__OSX_AVAILABLE(15.4) __IOS_AVAILABLE(18.4)
+__TVOS_AVAILABLE(18.4) __WATCHOS_AVAILABLE(11.4)
+char *_LIBC_CSTR
+ strchrnul(const char *__s, int __c);
+char *_LIBC_CSTR
+ strnstr(const char *_LIBC_COUNT(__len) __big, const char *__little, size_t __len);
+size_t strlcat(char *_LIBC_COUNT(__size) __dst, const char *__source, size_t __size);
+size_t strlcpy(char *_LIBC_COUNT(__size) __dst, const char *__source, size_t __size);
+void strmode(int __mode, char *_LIBC_COUNT(12) __bp);
+char *_LIBC_CSTR
+ strsep(char *_LIBC_CSTR *__stringp, const char *__delim);
/* SUS places swab() in unistd.h. It is listed here for source compatibility */
-void swab(const void * __restrict, void * __restrict, ssize_t);
+void swab(const void *_LIBC_SIZE(__len) __restrict, void *_LIBC_SIZE(__len) __restrict, ssize_t __len);
__OSX_AVAILABLE(10.12.1) __IOS_AVAILABLE(10.1)
__TVOS_AVAILABLE(10.0.1) __WATCHOS_AVAILABLE(3.1)
-int timingsafe_bcmp(const void *__b1, const void *__b2, size_t __len);
+int timingsafe_bcmp(const void *_LIBC_SIZE(__len) __b1, const void *_LIBC_SIZE(__len) __b2, size_t __len);
__OSX_AVAILABLE(11.0) __IOS_AVAILABLE(14.0)
__TVOS_AVAILABLE(14.0) __WATCHOS_AVAILABLE(7.0)
-int strsignal_r(int __sig, char *__strsignalbuf, size_t __buflen);
+int strsignal_r(int __sig, char *_LIBC_COUNT(__buflen) __strsignalbuf, size_t __buflen);
__END_DECLS
/* Some functions historically defined in string.h were placed in strings.h
lib/libc/include/any-macos-any/_strings.h
@@ -58,25 +58,28 @@
#ifndef __STRINGS_H_
#define __STRINGS_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/cdefs.h>
#include <Availability.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
/* Removed in Issue 7 */
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
-int bcmp(const void *, const void *, size_t) __POSIX_C_DEPRECATED(200112L);
-void bcopy(const void *, void *, size_t) __POSIX_C_DEPRECATED(200112L);
-void bzero(void *, size_t) __POSIX_C_DEPRECATED(200112L);
-char *index(const char *, int) __POSIX_C_DEPRECATED(200112L);
-char *rindex(const char *, int) __POSIX_C_DEPRECATED(200112L);
+int bcmp(const void *_LIBC_SIZE(__n), const void *_LIBC_SIZE(__n), size_t __n) __POSIX_C_DEPRECATED(200112L);
+void bcopy(const void *_LIBC_SIZE(__n), void *_LIBC_SIZE(__n), size_t __n) __POSIX_C_DEPRECATED(200112L);
+void bzero(void *_LIBC_SIZE(__n), size_t __n) __POSIX_C_DEPRECATED(200112L);
+char *_LIBC_CSTR index(const char *, int) __POSIX_C_DEPRECATED(200112L);
+char *_LIBC_CSTR rindex(const char *, int) __POSIX_C_DEPRECATED(200112L);
#endif
int ffs(int);
int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
+int strncasecmp(const char *_LIBC_UNSAFE_INDEXABLE, const char *_LIBC_UNSAFE_INDEXABLE, size_t);
__END_DECLS
/* Darwin extensions */
lib/libc/include/any-macos-any/_time.h
@@ -65,6 +65,7 @@
#include <_types.h>
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <Availability.h>
#include <sys/_types/_clock_t.h>
#include <sys/_types/_null.h>
@@ -72,6 +73,8 @@
#include <sys/_types/_time_t.h>
#include <sys/_types/_timespec.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
struct tm {
int tm_sec; /* seconds after the minute [0-60] */
int tm_min; /* minutes after the hour [0-59] */
@@ -83,7 +86,7 @@ struct tm {
int tm_yday; /* days since January 1 [0-365] */
int tm_isdst; /* Daylight Savings Time flag */
long tm_gmtoff; /* offset from UTC in seconds */
- char *tm_zone; /* timezone abbreviation */
+ char *_LIBC_CSTR tm_zone; /* timezone abbreviation */
};
#if __DARWIN_UNIX03
@@ -95,7 +98,7 @@ struct tm {
#endif /* __DARWIN_UNIX03 */
#ifndef _ANSI_SOURCE
-extern char *tzname[];
+extern char *_LIBC_CSTR tzname[_LIBC_COUNT(2)];
#endif
extern int getdate_err;
@@ -105,16 +108,16 @@ extern long timezone __DARWIN_ALIAS(timezone);
extern int daylight;
__BEGIN_DECLS
-char *asctime(const struct tm *);
+char *_LIBC_CSTR asctime(const struct tm *);
clock_t clock(void) __DARWIN_ALIAS(clock);
-char *ctime(const time_t *);
+char *_LIBC_CSTR ctime(const time_t *);
double difftime(time_t, time_t);
struct tm *getdate(const char *);
struct tm *gmtime(const time_t *);
struct tm *localtime(const time_t *);
time_t mktime(struct tm *) __DARWIN_ALIAS(mktime);
-size_t strftime(char * __restrict, size_t, const char * __restrict, const struct tm * __restrict) __DARWIN_ALIAS(strftime);
-char *strptime(const char * __restrict, const char * __restrict, struct tm * __restrict) __DARWIN_ALIAS(strptime);
+size_t strftime(char *_LIBC_COUNT(__maxsize) __restrict, size_t __maxsize, const char * __restrict, const struct tm * __restrict) __DARWIN_ALIAS(strftime);
+char *_LIBC_CSTR strptime(const char * __restrict, const char * __restrict, struct tm * __restrict) __DARWIN_ALIAS(strptime);
time_t time(time_t *);
#ifndef _ANSI_SOURCE
@@ -122,15 +125,15 @@ void tzset(void);
#endif /* not ANSI */
/* [TSF] Thread safe functions */
-char *asctime_r(const struct tm * __restrict, char * __restrict);
-char *ctime_r(const time_t *, char *);
+char *_LIBC_CSTR asctime_r(const struct tm * __restrict, char * __restrict _LIBC_COUNT(26));
+char *_LIBC_CSTR ctime_r(const time_t *, char *_LIBC_COUNT(26));
struct tm *gmtime_r(const time_t * __restrict, struct tm * __restrict);
struct tm *localtime_r(const time_t * __restrict, struct tm * __restrict);
#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
time_t posix2time(time_t);
#if !__DARWIN_UNIX03
-char *timezone(int, int);
+char *_LIBC_CSTR timezone(int, int);
#endif /* !__DARWIN_UNIX03 */
void tzsetwall(void);
time_t time2posix(time_t);
lib/libc/include/any-macos-any/_types.h
@@ -25,8 +25,11 @@
#define __TYPES_H_
#include <sys/_types.h>
+#include <_bounds.h>
#include <machine/_types.h> /* __uint32_t */
+_LIBC_SINGLE_BY_DEFAULT()
+
#if __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7
#define __strfmonlike(fmtarg, firstvararg) \
__attribute__((__format__ (__strfmon__, fmtarg, firstvararg)))
lib/libc/include/any-macos-any/_wchar.h
@@ -67,6 +67,7 @@
#ifndef _WCHAR_H_
#define _WCHAR_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/cdefs.h>
#include <Availability.h>
@@ -91,12 +92,15 @@
#include <time.h>
#include <__wctype.h>
+_LIBC_SINGLE_BY_DEFAULT()
/* Initially added in Issue 4 */
__BEGIN_DECLS
wint_t btowc(int);
wint_t fgetwc(FILE *);
-wchar_t *fgetws(wchar_t * __restrict, int, FILE * __restrict);
+wchar_t *_LIBC_CSTR
+ fgetws(wchar_t * __restrict _LIBC_COUNT(__n), int __n,
+ FILE * __restrict);
wint_t fputwc(wchar_t, FILE *);
int fputws(const wchar_t * __restrict, FILE * __restrict);
int fwide(FILE *, int);
@@ -104,57 +108,78 @@ int fwprintf(FILE * __restrict, const wchar_t * __restrict, ...);
int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...);
wint_t getwc(FILE *);
wint_t getwchar(void);
-size_t mbrlen(const char * __restrict, size_t, mbstate_t * __restrict);
-size_t mbrtowc(wchar_t * __restrict, const char * __restrict, size_t,
- mbstate_t * __restrict);
+size_t mbrlen(const char * __restrict _LIBC_COUNT(__n), size_t __n,
+ mbstate_t * __restrict);
+size_t mbrtowc(wchar_t * __restrict, const char * __restrict _LIBC_COUNT(__n),
+ size_t __n, mbstate_t * __restrict);
int mbsinit(const mbstate_t *);
-size_t mbsrtowcs(wchar_t * __restrict, const char ** __restrict, size_t,
- mbstate_t * __restrict);
+size_t mbsrtowcs(wchar_t * __restrict _LIBC_COUNT(__len),
+ const char ** __restrict, size_t __len, mbstate_t * __restrict);
wint_t putwc(wchar_t, FILE *);
wint_t putwchar(wchar_t);
-int swprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict, ...);
+int swprintf(wchar_t * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen,
+ const wchar_t * __restrict, ...);
int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...);
wint_t ungetwc(wint_t, FILE *);
int vfwprintf(FILE * __restrict, const wchar_t * __restrict,
__darwin_va_list);
-int vswprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict,
- __darwin_va_list);
+int vswprintf(wchar_t * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen,
+ const wchar_t * __restrict, __darwin_va_list);
int vwprintf(const wchar_t * __restrict, __darwin_va_list);
size_t wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict);
wchar_t *wcschr(const wchar_t *, wchar_t);
int wcscmp(const wchar_t *, const wchar_t *);
int wcscoll(const wchar_t *, const wchar_t *);
-wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict);
+wchar_t *wcscpy(wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE,
+ const wchar_t * __restrict) _LIBC_PTRCHECK_REPLACED(wcslcpy);
size_t wcscspn(const wchar_t *, const wchar_t *);
-size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t * __restrict,
- const struct tm * __restrict) __DARWIN_ALIAS(wcsftime);
+size_t wcsftime(wchar_t * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen,
+ const wchar_t * __restrict, const struct tm * __restrict)
+ __DARWIN_ALIAS(wcsftime);
size_t wcslen(const wchar_t *);
-wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict, size_t);
-int wcsncmp(const wchar_t *, const wchar_t *, size_t);
-wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict, size_t);
+wchar_t *_LIBC_UNSAFE_INDEXABLE
+ wcsncat(wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE,
+ const wchar_t * __restrict _LIBC_COUNT(__n), size_t __n)
+ _LIBC_PTRCHECK_REPLACED(wcslcat);
+int wcsncmp(const wchar_t *_LIBC_UNSAFE_INDEXABLE,
+ const wchar_t *_LIBC_UNSAFE_INDEXABLE, size_t);
+wchar_t *_LIBC_COUNT(__n)
+ wcsncpy(wchar_t * __restrict _LIBC_COUNT(__n),
+ const wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE, size_t __n)
+ _LIBC_PTRCHECK_REPLACED(wcslcpy);
wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
wchar_t *wcsrchr(const wchar_t *, wchar_t);
-size_t wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t,
- mbstate_t * __restrict);
+size_t wcsrtombs(char * __restrict _LIBC_COUNT(__len),
+ const wchar_t ** __restrict, size_t __len, mbstate_t * __restrict);
size_t wcsspn(const wchar_t *, const wchar_t *);
wchar_t *wcsstr(const wchar_t * __restrict, const wchar_t * __restrict);
-size_t wcsxfrm(wchar_t * __restrict, const wchar_t * __restrict, size_t);
+size_t wcsxfrm(wchar_t * __restrict _LIBC_COUNT(__n),
+ const wchar_t * __restrict, size_t __n);
int wctob(wint_t);
double wcstod(const wchar_t * __restrict, wchar_t ** __restrict);
-wchar_t *wcstok(wchar_t * __restrict, const wchar_t * __restrict,
- wchar_t ** __restrict);
-long wcstol(const wchar_t * __restrict, wchar_t ** __restrict, int);
+wchar_t *_LIBC_CSTR
+ wcstok(wchar_t * __restrict _LIBC_CSTR, const wchar_t * __restrict,
+ wchar_t *_LIBC_CSTR * __restrict);
+long wcstol(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict,
+ int);
unsigned long
- wcstoul(const wchar_t * __restrict, wchar_t ** __restrict, int);
-wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
-int wmemcmp(const wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
-wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemset(wchar_t *, wchar_t, size_t);
+ wcstoul(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict, int);
+wchar_t *_LIBC_UNSAFE_INDEXABLE /* in bounds of arg1 */
+ wmemchr(const wchar_t *_LIBC_COUNT(__n) /*arg1*/, wchar_t, size_t __n);
+int wmemcmp(const wchar_t *_LIBC_COUNT(__n), const wchar_t *_LIBC_COUNT(__n),
+ size_t __n);
+wchar_t *_LIBC_COUNT(__n)
+ wmemcpy(wchar_t * __restrict _LIBC_COUNT(__n),
+ const wchar_t * __restrict _LIBC_COUNT(__n), size_t __n);
+wchar_t *_LIBC_COUNT(__n)
+ wmemmove(wchar_t *_LIBC_COUNT(__n), const wchar_t *_LIBC_COUNT(__n),
+ size_t __n);
+wchar_t *_LIBC_COUNT(__n)
+ wmemset(wchar_t *_LIBC_COUNT(__n), wchar_t, size_t __n);
int wprintf(const wchar_t * __restrict, ...);
int wscanf(const wchar_t * __restrict, ...);
-int wcswidth(const wchar_t *, size_t);
+int wcswidth(const wchar_t *_LIBC_COUNT(__n), size_t __n);
int wcwidth(wchar_t);
__END_DECLS
@@ -172,14 +197,14 @@ int vfwscanf(FILE * __restrict, const wchar_t * __restrict,
int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict,
__darwin_va_list);
int vwscanf(const wchar_t * __restrict, __darwin_va_list);
-float wcstof(const wchar_t * __restrict, wchar_t ** __restrict);
+float wcstof(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict);
long double
- wcstold(const wchar_t * __restrict, wchar_t ** __restrict);
+ wcstold(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict);
#if !__DARWIN_NO_LONG_LONG
long long
- wcstoll(const wchar_t * __restrict, wchar_t ** __restrict, int);
+ wcstoll(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict, int);
unsigned long long
- wcstoull(const wchar_t * __restrict, wchar_t ** __restrict, int);
+ wcstoull(const wchar_t * __restrict, wchar_t *_LIBC_CSTR * __restrict, int);
#endif /* !__DARWIN_NO_LONG_LONG */
__END_DECLS
#endif
@@ -192,17 +217,27 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200809L
__BEGIN_DECLS
-size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t,
- size_t, mbstate_t * __restrict);
-wchar_t *wcpcpy(wchar_t * __restrict, const wchar_t * __restrict) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-wchar_t *wcpncpy(wchar_t * __restrict, const wchar_t * __restrict, size_t) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-wchar_t *wcsdup(const wchar_t *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+size_t mbsnrtowcs(wchar_t * __restrict _LIBC_COUNT(__len),
+ const char *_LIBC_UNSAFE_INDEXABLE* __restrict, size_t, size_t __len,
+ mbstate_t * __restrict);
+wchar_t *_LIBC_UNSAFE_INDEXABLE wcpcpy(
+ wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE,
+ const wchar_t * __restrict) _LIBC_PTRCHECK_REPLACED(wcslcpy)
+ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
+ _LIBC_PTRCHECK_REPLACED(wcslcpy);
+wchar_t *_LIBC_COUNT(__n) wcpncpy(
+ wchar_t * __restrict _LIBC_COUNT(__n),
+ const wchar_t * __restrict _LIBC_UNSAFE_INDEXABLE, size_t __n)
+ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3)
+ _LIBC_PTRCHECK_REPLACED(wcslcpy);
+wchar_t *_LIBC_CSTR wcsdup(const wchar_t *)
+ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
int wcscasecmp(const wchar_t *, const wchar_t *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-int wcsncasecmp(const wchar_t *, const wchar_t *, size_t n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-size_t wcsnlen(const wchar_t *, size_t) __pure __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-size_t wcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t,
- size_t, mbstate_t * __restrict);
-FILE *open_wmemstream(wchar_t ** __bufp, size_t * __sizep) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+int wcsncasecmp(const wchar_t *_LIBC_UNSAFE_INDEXABLE, const wchar_t *_LIBC_UNSAFE_INDEXABLE, size_t n) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+size_t wcsnlen(const wchar_t *_LIBC_COUNT(__n), size_t __n) __pure __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+size_t wcsnrtombs(char * __restrict _LIBC_COUNT(__len), const wchar_t ** __restrict, size_t,
+ size_t __len, mbstate_t * __restrict);
+FILE *open_wmemstream(wchar_t *_LIBC_COUNT(*__sizep) * __bufp, size_t * __sizep) __API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200809L */
@@ -212,9 +247,10 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
__BEGIN_DECLS
-wchar_t *fgetwln(FILE * __restrict, size_t *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-size_t wcslcat(wchar_t *, const wchar_t *, size_t);
-size_t wcslcpy(wchar_t *, const wchar_t *, size_t);
+wchar_t *_LIBC_COUNT(*__len)
+ fgetwln(FILE * __restrict, size_t *__len) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
+size_t wcslcat(wchar_t *_LIBC_COUNT(__len), const wchar_t *, size_t __len);
+size_t wcslcpy(wchar_t *_LIBC_COUNT(__len), const wchar_t *, size_t __len);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
lib/libc/include/any-macos-any/_wctype.h
@@ -32,6 +32,7 @@
#define _WCTYPE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <_types/_wctrans_t.h>
@@ -40,6 +41,8 @@
#include <__wctype.h>
#include <ctype.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/*
* Use inline functions if we are allowed to and the compiler supports them.
*/
lib/libc/include/any-macos-any/_xlocale.h
@@ -25,6 +25,7 @@
#define _XLOCALE_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#ifndef _USE_EXTENDED_LOCALES_
#define _USE_EXTENDED_LOCALES_
@@ -33,34 +34,13 @@
#include <_locale.h>
#include <__xlocale.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)
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
extern const locale_t _c_locale;
-locale_t duplocale(locale_t);
-int freelocale(locale_t);
struct lconv * localeconv_l(locale_t);
-locale_t newlocale(int, __const char *, locale_t);
__const char * querylocale(int, locale_t);
-locale_t uselocale(locale_t);
__END_DECLS
#endif /* _XLOCALE_H_ */
lib/libc/include/any-macos-any/alloca.h
@@ -25,11 +25,14 @@
#define _ALLOCA_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-void *alloca(size_t); /* built-in for gcc */
+void *_LIBC_SIZE(__size) alloca(size_t __size); /* built-in for gcc */
__END_DECLS
#if defined(__GNUC__) && __GNUC__ >= 3
lib/libc/include/any-macos-any/ar.h
@@ -44,6 +44,10 @@
#ifndef _AR_H_
#define _AR_H_
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
+
/* Pre-4BSD archives had these magic numbers in them. */
#define OARMAG1 0177555
#define OARMAG2 0177545
lib/libc/include/any-macos-any/AssertMacros.h
@@ -133,6 +133,9 @@
*
* If you do not define DEBUG_ASSERT_PRODUCTION_CODE, the default value 1 will be used
* (production code = no assertion code and no messages).
+ *
+ * If you are building with modules modules this must be defined via a commandline
+ * flag (i.e. -DDEBUG_ASSERT_PRODUCTION_CODE=1) in order to work correctly.
*/
#ifndef DEBUG_ASSERT_PRODUCTION_CODE
#define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG
lib/libc/include/any-macos-any/Availability.h
@@ -26,8 +26,8 @@
/*
These macros are for use in OS header files. They enable function prototypes
and Objective-C methods to be tagged with the OS version in which they
- were first available; and, if applicable, the OS version in which they
- became deprecated.
+ were first available; and, if applicable, the OS versions in which they
+ became deprecated and obsoleted.
The desktop Mac OS X and iOS each have different version numbers.
The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
@@ -135,25 +135,38 @@
#ifndef __API_TO_BE_DEPRECATED_MACOS
#define __API_TO_BE_DEPRECATED_MACOS 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION 100000
+#endif
#ifndef __API_TO_BE_DEPRECATED_IOS
#define __API_TO_BE_DEPRECATED_IOS 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION 100000
+#endif
#ifndef __API_TO_BE_DEPRECATED_MACCATALYST
#define __API_TO_BE_DEPRECATED_MACCATALYST 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION 100000
+#endif
#ifndef __API_TO_BE_DEPRECATED_WATCHOS
#define __API_TO_BE_DEPRECATED_WATCHOS 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION 100000
+#endif
#ifndef __API_TO_BE_DEPRECATED_TVOS
#define __API_TO_BE_DEPRECATED_TVOS 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION 100000
+#endif
-#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS
-#endif
#ifndef __API_TO_BE_DEPRECATED_DRIVERKIT
#define __API_TO_BE_DEPRECATED_DRIVERKIT 100000
@@ -162,11 +175,18 @@
#ifndef __API_TO_BE_DEPRECATED_VISIONOS
#define __API_TO_BE_DEPRECATED_VISIONOS 100000
#endif
+#ifndef __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION
+#define __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION 100000
+#endif
#ifndef __API_TO_BE_DEPRECATED_EXCLAVEKIT
#endif
+#ifndef __API_TO_BE_DEPRECATED_KERNELKIT
+#define __API_TO_BE_DEPRECATED_KERNELKIT 100000
+#endif
+
#ifndef __OPEN_SOURCE__
@@ -424,7 +444,9 @@
* Use to specify the release that a particular API became available.
*
* Platform names:
- * macos, ios, tvos, watchos
+ * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
+ * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
+ * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
*
* Examples:
* __API_AVAILABLE(macos(10.10))
@@ -432,36 +454,48 @@
* __API_AVAILABLE(macos(10.4), ios(8.0), watchos(2.0), tvos(10.0))
* __API_AVAILABLE(driverkit(19.0))
*/
- #define __API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
+ #define __API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE15,__API_AVAILABLE14,__API_AVAILABLE13,__API_AVAILABLE12,__API_AVAILABLE11,__API_AVAILABLE10,__API_AVAILABLE9,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
- #define __API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
+ #define __API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE_BEGIN15,__API_AVAILABLE_BEGIN14,__API_AVAILABLE_BEGIN13,__API_AVAILABLE_BEGIN12,__API_AVAILABLE_BEGIN11,__API_AVAILABLE_BEGIN10,__API_AVAILABLE_BEGIN9,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
#define __API_AVAILABLE_END _Pragma("clang attribute pop")
/*
* API Deprecations
*
- * Use to specify the release that a particular API became unavailable.
+ * Use to specify the release that a particular API became deprecated.
*
* Platform names:
- * macos, ios, tvos, watchos
+ * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
+ * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
+ * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
*
* Examples:
*
- * __API_DEPRECATED("No longer supported", macos(10.4, 10.8))
- * __API_DEPRECATED("No longer supported", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
+ * __API_DEPRECATED("Deprecated", macos(10.4, 10.8))
+ * __API_DEPRECATED("Deprecated", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
*
* __API_DEPRECATED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4), ios(9.0, 10.0))
* __API_DEPRECATED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6), watchos(2.0, 3.0))
*/
- #define __API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
- #define __API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
+ #define __API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_MSG15,__API_DEPRECATED_MSG14,__API_DEPRECATED_MSG13,__API_DEPRECATED_MSG12,__API_DEPRECATED_MSG11,__API_DEPRECATED_MSG10,__API_DEPRECATED_MSG9,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
+ #define __API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_REP15,__API_DEPRECATED_REP14,__API_DEPRECATED_REP13,__API_DEPRECATED_REP12,__API_DEPRECATED_REP11,__API_DEPRECATED_REP10,__API_DEPRECATED_REP9,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
- #define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
+ #define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_BEGIN15,__API_DEPRECATED_BEGIN14,__API_DEPRECATED_BEGIN13,__API_DEPRECATED_BEGIN12,__API_DEPRECATED_BEGIN11,__API_DEPRECATED_BEGIN10,__API_DEPRECATED_BEGIN9,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
#define __API_DEPRECATED_END _Pragma("clang attribute pop")
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN15,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN14,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN13,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN12,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN11,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN10,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN9,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
#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__)
+
+ #define __API_OBSOLETED_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_BEGIN15,__API_OBSOLETED_BEGIN14,__API_OBSOLETED_BEGIN13,__API_OBSOLETED_BEGIN12,__API_OBSOLETED_BEGIN11,__API_OBSOLETED_BEGIN10,__API_OBSOLETED_BEGIN9,__API_OBSOLETED_BEGIN8,__API_OBSOLETED_BEGIN7,__API_OBSOLETED_BEGIN6,__API_OBSOLETED_BEGIN5,__API_OBSOLETED_BEGIN4,__API_OBSOLETED_BEGIN3,__API_OBSOLETED_BEGIN2,__API_OBSOLETED_BEGIN1,__API_OBSOLETED_BEGIN0,0,0)(__VA_ARGS__)
+ #define __API_OBSOLETED_END _Pragma("clang attribute pop")
+
+ #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.
@@ -470,9 +504,9 @@
* __API_UNAVAILABLE(macos)
* __API_UNAVAILABLE(watchos, tvos)
*/
- #define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
+ #define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE15,__API_UNAVAILABLE14,__API_UNAVAILABLE13,__API_UNAVAILABLE12,__API_UNAVAILABLE11,__API_UNAVAILABLE10,__API_UNAVAILABLE9,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
- #define __API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
+ #define __API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE_BEGIN15,__API_UNAVAILABLE_BEGIN14,__API_UNAVAILABLE_BEGIN13,__API_UNAVAILABLE_BEGIN12,__API_UNAVAILABLE_BEGIN11,__API_UNAVAILABLE_BEGIN10,__API_UNAVAILABLE_BEGIN9,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
#define __API_UNAVAILABLE_END _Pragma("clang attribute pop")
#endif /* __has_attribute(availability) */
#endif /* #if defined(__has_feature) && defined(__has_attribute) */
@@ -517,6 +551,30 @@
#define __API_DEPRECATED_WITH_REPLACEMENT_END(...)
#endif
+#ifndef __API_OBSOLETED
+ #define __API_OBSOLETED(...)
+#endif
+
+#ifndef __API_OBSOLETED_BEGIN
+ #define __API_OBSOLETED_BEGIN(...)
+#endif
+
+#ifndef __API_OBSOLETED_END
+ #define __API_OBSOLETED_END(...)
+#endif
+
+#ifndef __API_OBSOLETED_WITH_REPLACEMENT
+ #define __API_OBSOLETED_WITH_REPLACEMENT(...)
+#endif
+
+#ifndef __API_OBSOLETED_WITH_REPLACEMENT_BEGIN
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...)
+#endif
+
+#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END
+ #define __API_OBSOLETED_WITH_REPLACEMENT_END(...)
+#endif
+
#ifndef __API_UNAVAILABLE
#define __API_UNAVAILABLE(...)
#endif
@@ -555,3 +613,13 @@
#endif /* __AVAILABILITY__ */
+#ifndef __OPEN_SOURCE__
+// This is explicitly outside the header guard
+#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
+#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
+#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
+#define __AVAILABILITY_FILE "Availability.h"
+#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
+#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with Availability.h from Local. Mixing and matching Availability from different SDKs is not supported"
+#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
+#endif /* __OPEN_SOURCE__ */
lib/libc/include/any-macos-any/AvailabilityInternal.h
@@ -36,11 +36,11 @@
#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_2
+ #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_2
+ #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_15_5
#endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */
#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
@@ -48,11 +48,11 @@
#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_2
+ #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_2
+ #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_18_5
#endif /* __has_builtin(__is_target_os) && __is_target_os(ios) */
#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
@@ -60,13 +60,13 @@
#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_2
+ #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
#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_2
+ #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) */
@@ -76,34 +76,25 @@
#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_2
+ #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
#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_2
+ #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 /* __TV_OS_VERSION_MIN_REQUIRED */
-#ifndef __BRIDGE_OS_VERSION_MIN_REQUIRED
- #if defined(__has_builtin) && __has_builtin(__is_target_os)
- #if __is_target_os(bridgeos)
- #define __BRIDGE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
- #define __BRIDGE_OS_VERSION_MAX_ALLOWED __BRIDGEOS_9_2
- /* for compatibility with existing code. New code should use platform specific checks */
- #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_11_0
- #endif
- #endif
-#endif /* __BRIDGE_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_2
+ #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_24_5
#endif
#endif /* __has_builtin(__is_target_os) && __is_target_os(driverkit) */
#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */
@@ -112,7 +103,7 @@
#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_2
+ #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
@@ -120,25 +111,6 @@
#endif /* __VISION_OS_VERSION_MIN_REQUIRED */
-//FIXME: Workaround for rdar://116062344
-#ifndef __VISION_OS_VERSION_MIN_REQUIRED
- #if defined(__has_builtin) && __has_builtin(__is_target_os)
- #if __is_target_os(xros)
- #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
- // Hardcoded these since until compiler fix for rdar://116062344 will land
- #if defined(__VISIONOS_2_0)
- #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_2_0
- #elif defined(__VISIONOS_1_1)
- #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_1_1
- #elif defined(__VISIONOS_1_0)
- #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_1_0
- #endif
- /* 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) */
-#endif /* __VISION_OS_VERSION_MIN_REQUIRED */
-
#ifndef __OPEN_SOURCE__
#endif /* __OPEN_SOURCE__ */
@@ -175,41 +147,70 @@
#if __has_attribute(availability)
#define __API_AVAILABLE_PLATFORM_macos(x) macos,introduced=x
#define __API_DEPRECATED_PLATFORM_macos(x,y) macos,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_macos(x,y,z) macos,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable
#define __API_AVAILABLE_PLATFORM_macosx(x) macos,introduced=x
#define __API_DEPRECATED_PLATFORM_macosx(x,y) macos,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_macosx(x,y,z) macos,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_macosx macos,unavailable
+ #define __API_AVAILABLE_PLATFORM_macOSApplicationExtension(x) macOSApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_macOSApplicationExtension(x,y) macOSApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_macOSApplicationExtension(x,y,z) macOSApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_macOSApplicationExtension macOSApplicationExtension,unavailable
#define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x
#define __API_DEPRECATED_PLATFORM_ios(x,y) ios,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_ios(x,y,z) ios,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable
+ #define __API_AVAILABLE_PLATFORM_iOSApplicationExtension(x) iOSApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_iOSApplicationExtension(x,y) iOSApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_iOSApplicationExtension(x,y,z) iOSApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_iOSApplicationExtension iOSApplicationExtension,unavailable
#define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x
#define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_macCatalyst(x,y,z) macCatalyst,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable
- #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x
- #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y
- #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable
+ #define __API_AVAILABLE_PLATFORM_macCatalystApplicationExtension(x) macCatalystApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_macCatalystApplicationExtension(x,y) macCatalystApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_macCatalystApplicationExtension(x,y,z) macCatalystApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_macCatalystApplicationExtension macCatalystApplicationExtension,unavailable
#define __API_AVAILABLE_PLATFORM_watchos(x) watchos,introduced=x
#define __API_DEPRECATED_PLATFORM_watchos(x,y) watchos,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_watchos(x,y,z) watchos,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable
+ #define __API_AVAILABLE_PLATFORM_watchOSApplicationExtension(x) watchOSApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_watchOSApplicationExtension(x,y) watchOSApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_watchOSApplicationExtension(x,y,z) watchOSApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_watchOSApplicationExtension watchOSApplicationExtension,unavailable
#define __API_AVAILABLE_PLATFORM_tvos(x) tvos,introduced=x
#define __API_DEPRECATED_PLATFORM_tvos(x,y) tvos,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_tvos(x,y,z) tvos,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable
-
-
-
+ #define __API_AVAILABLE_PLATFORM_tvOSApplicationExtension(x) tvOSApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_tvOSApplicationExtension(x,y) tvOSApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_tvOSApplicationExtension(x,y,z) tvOSApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_tvOSApplicationExtension tvOSApplicationExtension,unavailable
+
#define __API_AVAILABLE_PLATFORM_driverkit(x) driverkit,introduced=x
#define __API_DEPRECATED_PLATFORM_driverkit(x,y) driverkit,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_driverkit(x,y,z) driverkit,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable
#define __API_AVAILABLE_PLATFORM_visionos(x) visionos,introduced=x
#define __API_DEPRECATED_PLATFORM_visionos(x,y) visionos,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_visionos(x,y,z) visionos,introduced=x,deprecated=y,obsoleted=z
#define __API_UNAVAILABLE_PLATFORM_visionos visionos,unavailable
- #define __API_AVAILABLE_PLATFORM_xros(x) visionos,introduced=x
- #define __API_DEPRECATED_PLATFORM_xros(x,y) visionos,introduced=x,deprecated=y
- #define __API_UNAVAILABLE_PLATFORM_xros visionos,unavailable
+ #define __API_AVAILABLE_PLATFORM_visionOSApplicationExtension(x) visionOSApplicationExtension,introduced=x
+ #define __API_DEPRECATED_PLATFORM_visionOSApplicationExtension(x,y) visionOSApplicationExtension,introduced=x,deprecated=y
+ #define __API_OBSOLETED_PLATFORM_visionOSApplicationExtension(x,y,z) visionOSApplicationExtension,introduced=x,deprecated=y,obsoleted=z
+ #define __API_UNAVAILABLE_PLATFORM_visionOSApplicationExtension visionOSApplicationExtension,unavailable
+ #define __API_UNAVAILABLE_PLATFORM_kernelkit kernelkit,unavailable
#endif /* __has_attribute(availability) */
#endif /* defined(__has_feature) && defined(__has_attribute) */
+#ifndef __OPEN_SOURCE__
+
+#endif /* __OPEN_SOURCE__ */
+
#if defined(__has_feature) && defined(__has_attribute)
#if __has_attribute(availability)
#define __API_APPLY_TO any(record, enum, enum_constant, function, objc_method, objc_category, objc_protocol, objc_interface, objc_property, type_alias, variable, field)
@@ -239,7 +240,14 @@
#define __API_AVAILABLE6(arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6)
#define __API_AVAILABLE7(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7)
#define __API_AVAILABLE8(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8)
- #define __API_AVAILABLE_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME
+ #define __API_AVAILABLE9(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9)
+ #define __API_AVAILABLE10(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10)
+ #define __API_AVAILABLE11(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10) __API_A(arg11)
+ #define __API_AVAILABLE12(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10) __API_A(arg11) __API_A(arg12)
+ #define __API_AVAILABLE13(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10) __API_A(arg11) __API_A(arg12) __API_A(arg13)
+ #define __API_AVAILABLE14(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10) __API_A(arg11) __API_A(arg12) __API_A(arg13) __API_A(arg14)
+ #define __API_AVAILABLE15(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) __API_A(arg6) __API_A(arg7) __API_A(arg8) __API_A(arg9) __API_A(arg10) __API_A(arg11) __API_A(arg12) __API_A(arg13) __API_A(arg14) __API_A(arg15)
+ #define __API_AVAILABLE_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,NAME,...) NAME
#define __API_A_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_AVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO)))
@@ -252,7 +260,14 @@
#define __API_AVAILABLE_BEGIN6(arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6)
#define __API_AVAILABLE_BEGIN7(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7)
#define __API_AVAILABLE_BEGIN8(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8)
- #define __API_AVAILABLE_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME
+ #define __API_AVAILABLE_BEGIN9(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9)
+ #define __API_AVAILABLE_BEGIN10(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10)
+ #define __API_AVAILABLE_BEGIN11(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10) __API_A_BEGIN(arg11)
+ #define __API_AVAILABLE_BEGIN12(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10) __API_A_BEGIN(arg11) __API_A_BEGIN(arg12)
+ #define __API_AVAILABLE_BEGIN13(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10) __API_A_BEGIN(arg11) __API_A_BEGIN(arg12) __API_A_BEGIN(arg13)
+ #define __API_AVAILABLE_BEGIN14(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10) __API_A_BEGIN(arg11) __API_A_BEGIN(arg12) __API_A_BEGIN(arg13) __API_A_BEGIN(arg14)
+ #define __API_AVAILABLE_BEGIN15(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) __API_A_BEGIN(arg6) __API_A_BEGIN(arg7) __API_A_BEGIN(arg8) __API_A_BEGIN(arg9) __API_A_BEGIN(arg10) __API_A_BEGIN(arg11) __API_A_BEGIN(arg12) __API_A_BEGIN(arg13) __API_A_BEGIN(arg14) __API_A_BEGIN(arg15)
+ #define __API_AVAILABLE_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,NAME,...) NAME
@@ -267,7 +282,14 @@
#define __API_DEPRECATED_MSG6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6)
#define __API_DEPRECATED_MSG7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7)
#define __API_DEPRECATED_MSG8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8)
- #define __API_DEPRECATED_MSG_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME
+ #define __API_DEPRECATED_MSG9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9)
+ #define __API_DEPRECATED_MSG10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10)
+ #define __API_DEPRECATED_MSG11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10) __API_D(msg,arg11)
+ #define __API_DEPRECATED_MSG12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10) __API_D(msg,arg11) __API_D(msg,arg12)
+ #define __API_DEPRECATED_MSG13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10) __API_D(msg,arg11) __API_D(msg,arg12) __API_D(msg,arg13)
+ #define __API_DEPRECATED_MSG14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10) __API_D(msg,arg11) __API_D(msg,arg12) __API_D(msg,arg13) __API_D(msg,arg14)
+ #define __API_DEPRECATED_MSG15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) __API_D(msg,arg6) __API_D(msg,arg7) __API_D(msg,arg8) __API_D(msg,arg9) __API_D(msg,arg10) __API_D(msg,arg11) __API_D(msg,arg12) __API_D(msg,arg13) __API_D(msg,arg14) __API_D(msg,arg15)
+ #define __API_DEPRECATED_MSG_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
#define __API_D_BEGIN(msg, x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x,message=msg))), apply_to = __API_APPLY_TO)))
@@ -280,41 +302,152 @@
#define __API_DEPRECATED_BEGIN6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6)
#define __API_DEPRECATED_BEGIN7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7)
#define __API_DEPRECATED_BEGIN8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8)
- #define __API_DEPRECATED_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME
+ #define __API_DEPRECATED_BEGIN9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9)
+ #define __API_DEPRECATED_BEGIN10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10)
+ #define __API_DEPRECATED_BEGIN11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10) __API_D_BEGIN(msg,arg11)
+ #define __API_DEPRECATED_BEGIN12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10) __API_D_BEGIN(msg,arg11) __API_D_BEGIN(msg,arg12)
+ #define __API_DEPRECATED_BEGIN13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10) __API_D_BEGIN(msg,arg11) __API_D_BEGIN(msg,arg12) __API_D_BEGIN(msg,arg13)
+ #define __API_DEPRECATED_BEGIN14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10) __API_D_BEGIN(msg,arg11) __API_D_BEGIN(msg,arg12) __API_D_BEGIN(msg,arg13) __API_D_BEGIN(msg,arg14)
+ #define __API_DEPRECATED_BEGIN15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) __API_D_BEGIN(msg,arg4) __API_D_BEGIN(msg,arg5) __API_D_BEGIN(msg,arg6) __API_D_BEGIN(msg,arg7) __API_D_BEGIN(msg,arg8) __API_D_BEGIN(msg,arg9) __API_D_BEGIN(msg,arg10) __API_D_BEGIN(msg,arg11) __API_D_BEGIN(msg,arg12) __API_D_BEGIN(msg,arg13) __API_D_BEGIN(msg,arg14) __API_D_BEGIN(msg,arg15)
+ #define __API_DEPRECATED_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
#if __has_feature(attribute_availability_with_replacement)
- #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep)))
+ #define __API_DR(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep)))
#else
- #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x)))
+ #define __API_DR(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x)))
#endif
- #define __API_DEPRECATED_REP0(msg,arg0) __API_R(msg,arg0)
- #define __API_DEPRECATED_REP1(msg,arg0,arg1) __API_R(msg,arg0) __API_R(msg,arg1)
- #define __API_DEPRECATED_REP2(msg,arg0,arg1,arg2) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2)
- #define __API_DEPRECATED_REP3(msg,arg0,arg1,arg2,arg3) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3)
- #define __API_DEPRECATED_REP4(msg,arg0,arg1,arg2,arg3,arg4) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3) __API_R(msg,arg4)
- #define __API_DEPRECATED_REP5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3) __API_R(msg,arg4) __API_R(msg,arg5)
- #define __API_DEPRECATED_REP6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3) __API_R(msg,arg4) __API_R(msg,arg5) __API_R(msg,arg6)
- #define __API_DEPRECATED_REP7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3) __API_R(msg,arg4) __API_R(msg,arg5) __API_R(msg,arg6) __API_R(msg,arg7)
- #define __API_DEPRECATED_REP8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_R(msg,arg0) __API_R(msg,arg1) __API_R(msg,arg2) __API_R(msg,arg3) __API_R(msg,arg4) __API_R(msg,arg5) __API_R(msg,arg6) __API_R(msg,arg7) __API_R(msg,arg8)
- #define __API_DEPRECATED_REP_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME
+ #define __API_DEPRECATED_REP0(msg,arg0) __API_DR(msg,arg0)
+ #define __API_DEPRECATED_REP1(msg,arg0,arg1) __API_DR(msg,arg0) __API_DR(msg,arg1)
+ #define __API_DEPRECATED_REP2(msg,arg0,arg1,arg2) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2)
+ #define __API_DEPRECATED_REP3(msg,arg0,arg1,arg2,arg3) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3)
+ #define __API_DEPRECATED_REP4(msg,arg0,arg1,arg2,arg3,arg4) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4)
+ #define __API_DEPRECATED_REP5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5)
+ #define __API_DEPRECATED_REP6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6)
+ #define __API_DEPRECATED_REP7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7)
+ #define __API_DEPRECATED_REP8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8)
+ #define __API_DEPRECATED_REP9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9)
+ #define __API_DEPRECATED_REP10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10)
+ #define __API_DEPRECATED_REP11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10) __API_DR(msg,arg11)
+ #define __API_DEPRECATED_REP12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10) __API_DR(msg,arg11) __API_DR(msg,arg12)
+ #define __API_DEPRECATED_REP13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10) __API_DR(msg,arg11) __API_DR(msg,arg12) __API_DR(msg,arg13)
+ #define __API_DEPRECATED_REP14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10) __API_DR(msg,arg11) __API_DR(msg,arg12) __API_DR(msg,arg13) __API_DR(msg,arg14)
+ #define __API_DEPRECATED_REP15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_DR(msg,arg0) __API_DR(msg,arg1) __API_DR(msg,arg2) __API_DR(msg,arg3) __API_DR(msg,arg4) __API_DR(msg,arg5) __API_DR(msg,arg6) __API_DR(msg,arg7) __API_DR(msg,arg8) __API_DR(msg,arg9) __API_DR(msg,arg10) __API_DR(msg,arg11) __API_DR(msg,arg12) __API_DR(msg,arg13) __API_DR(msg,arg14) __API_DR(msg,arg15)
+ #define __API_DEPRECATED_REP_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
#if __has_feature(attribute_availability_with_replacement)
- #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))), apply_to = __API_APPLY_TO)))
+ #define __API_DR_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))), apply_to = __API_APPLY_TO)))
#else
- #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO)))
+ #define __API_DR_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO)))
#endif
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN0(msg,arg0) __API_R_BEGIN(msg,arg0)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN1(msg,arg0,arg1) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN2(msg,arg0,arg1,arg2) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN3(msg,arg0,arg1,arg2,arg3) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN4(msg,arg0,arg1,arg2,arg3,arg4) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8)
- #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN0(msg,arg0) __API_DR_BEGIN(msg,arg0)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN1(msg,arg0,arg1) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN2(msg,arg0,arg1,arg2) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN3(msg,arg0,arg1,arg2,arg3) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN4(msg,arg0,arg1,arg2,arg3,arg4) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10) __API_DR_BEGIN(msg,arg11)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10) __API_DR_BEGIN(msg,arg11) __API_DR_BEGIN(msg,arg12)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10) __API_DR_BEGIN(msg,arg11) __API_DR_BEGIN(msg,arg12) __API_DR_BEGIN(msg,arg13)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10) __API_DR_BEGIN(msg,arg11) __API_DR_BEGIN(msg,arg12) __API_DR_BEGIN(msg,arg13) __API_DR_BEGIN(msg,arg14)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_DR_BEGIN(msg,arg0) __API_DR_BEGIN(msg,arg1) __API_DR_BEGIN(msg,arg2) __API_DR_BEGIN(msg,arg3) __API_DR_BEGIN(msg,arg4) __API_DR_BEGIN(msg,arg5) __API_DR_BEGIN(msg,arg6) __API_DR_BEGIN(msg,arg7) __API_DR_BEGIN(msg,arg8) __API_DR_BEGIN(msg,arg9) __API_DR_BEGIN(msg,arg10) __API_DR_BEGIN(msg,arg11) __API_DR_BEGIN(msg,arg12) __API_DR_BEGIN(msg,arg13) __API_DR_BEGIN(msg,arg14) __API_DR_BEGIN(msg,arg15)
+ #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
+
+
+
+#define __API_O(msg,x) __attribute__((availability(__API_OBSOLETED_PLATFORM_##x,message=msg)))
+
+ #define __API_OBSOLETED_MSG0(msg,arg0) __API_O(msg,arg0)
+ #define __API_OBSOLETED_MSG1(msg,arg0,arg1) __API_O(msg,arg0) __API_O(msg,arg1)
+ #define __API_OBSOLETED_MSG2(msg,arg0,arg1,arg2) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2)
+ #define __API_OBSOLETED_MSG3(msg,arg0,arg1,arg2,arg3) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3)
+ #define __API_OBSOLETED_MSG4(msg,arg0,arg1,arg2,arg3,arg4) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4)
+ #define __API_OBSOLETED_MSG5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5)
+ #define __API_OBSOLETED_MSG6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6)
+ #define __API_OBSOLETED_MSG7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7)
+ #define __API_OBSOLETED_MSG8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8)
+ #define __API_OBSOLETED_MSG9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9)
+ #define __API_OBSOLETED_MSG10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10)
+ #define __API_OBSOLETED_MSG11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10) __API_O(msg,arg11)
+ #define __API_OBSOLETED_MSG12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10) __API_O(msg,arg11) __API_O(msg,arg12)
+ #define __API_OBSOLETED_MSG13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10) __API_O(msg,arg11) __API_O(msg,arg12) __API_O(msg,arg13)
+ #define __API_OBSOLETED_MSG14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10) __API_O(msg,arg11) __API_O(msg,arg12) __API_O(msg,arg13) __API_O(msg,arg14)
+ #define __API_OBSOLETED_MSG15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_O(msg,arg0) __API_O(msg,arg1) __API_O(msg,arg2) __API_O(msg,arg3) __API_O(msg,arg4) __API_O(msg,arg5) __API_O(msg,arg6) __API_O(msg,arg7) __API_O(msg,arg8) __API_O(msg,arg9) __API_O(msg,arg10) __API_O(msg,arg11) __API_O(msg,arg12) __API_O(msg,arg13) __API_O(msg,arg14) __API_O(msg,arg15)
+ #define __API_OBSOLETED_MSG_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
+
+#define __API_O_BEGIN(msg, x, y) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_OBSOLETED_PLATFORM_##x,message=msg))), apply_to = __API_APPLY_TO)))
+
+ #define __API_OBSOLETED_BEGIN0(msg,arg0) __API_O_BEGIN(msg,arg0)
+ #define __API_OBSOLETED_BEGIN1(msg,arg0,arg1) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1)
+ #define __API_OBSOLETED_BEGIN2(msg,arg0,arg1,arg2) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2)
+ #define __API_OBSOLETED_BEGIN3(msg,arg0,arg1,arg2,arg3) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3)
+ #define __API_OBSOLETED_BEGIN4(msg,arg0,arg1,arg2,arg3,arg4) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4)
+ #define __API_OBSOLETED_BEGIN5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5)
+ #define __API_OBSOLETED_BEGIN6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6)
+ #define __API_OBSOLETED_BEGIN7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7)
+ #define __API_OBSOLETED_BEGIN8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8)
+ #define __API_OBSOLETED_BEGIN9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9)
+ #define __API_OBSOLETED_BEGIN10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10)
+ #define __API_OBSOLETED_BEGIN11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10) __API_O_BEGIN(msg,arg11)
+ #define __API_OBSOLETED_BEGIN12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10) __API_O_BEGIN(msg,arg11) __API_O_BEGIN(msg,arg12)
+ #define __API_OBSOLETED_BEGIN13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10) __API_O_BEGIN(msg,arg11) __API_O_BEGIN(msg,arg12) __API_O_BEGIN(msg,arg13)
+ #define __API_OBSOLETED_BEGIN14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10) __API_O_BEGIN(msg,arg11) __API_O_BEGIN(msg,arg12) __API_O_BEGIN(msg,arg13) __API_O_BEGIN(msg,arg14)
+ #define __API_OBSOLETED_BEGIN15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_O_BEGIN(msg,arg0) __API_O_BEGIN(msg,arg1) __API_O_BEGIN(msg,arg2) __API_O_BEGIN(msg,arg3) __API_O_BEGIN(msg,arg4) __API_O_BEGIN(msg,arg5) __API_O_BEGIN(msg,arg6) __API_O_BEGIN(msg,arg7) __API_O_BEGIN(msg,arg8) __API_O_BEGIN(msg,arg9) __API_O_BEGIN(msg,arg10) __API_O_BEGIN(msg,arg11) __API_O_BEGIN(msg,arg12) __API_O_BEGIN(msg,arg13) __API_O_BEGIN(msg,arg14) __API_O_BEGIN(msg,arg15)
+ #define __API_OBSOLETED_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
+
+#if __has_feature(attribute_availability_with_replacement)
+ #define __API_OR(rep,x) __attribute__((availability(__API_OBSOLETED_PLATFORM_##x,replacement=rep)))
+#else
+ #define __API_OR(rep,x) __attribute__((availability(__API_OBSOLETED_PLATFORM_##x)))
+#endif
+
+ #define __API_OBSOLETED_REP0(msg,arg0) __API_OR(msg,arg0)
+ #define __API_OBSOLETED_REP1(msg,arg0,arg1) __API_OR(msg,arg0) __API_OR(msg,arg1)
+ #define __API_OBSOLETED_REP2(msg,arg0,arg1,arg2) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2)
+ #define __API_OBSOLETED_REP3(msg,arg0,arg1,arg2,arg3) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3)
+ #define __API_OBSOLETED_REP4(msg,arg0,arg1,arg2,arg3,arg4) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4)
+ #define __API_OBSOLETED_REP5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5)
+ #define __API_OBSOLETED_REP6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6)
+ #define __API_OBSOLETED_REP7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7)
+ #define __API_OBSOLETED_REP8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8)
+ #define __API_OBSOLETED_REP9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9)
+ #define __API_OBSOLETED_REP10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10)
+ #define __API_OBSOLETED_REP11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10) __API_OR(msg,arg11)
+ #define __API_OBSOLETED_REP12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10) __API_OR(msg,arg11) __API_OR(msg,arg12)
+ #define __API_OBSOLETED_REP13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10) __API_OR(msg,arg11) __API_OR(msg,arg12) __API_OR(msg,arg13)
+ #define __API_OBSOLETED_REP14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10) __API_OR(msg,arg11) __API_OR(msg,arg12) __API_OR(msg,arg13) __API_OR(msg,arg14)
+ #define __API_OBSOLETED_REP15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_OR(msg,arg0) __API_OR(msg,arg1) __API_OR(msg,arg2) __API_OR(msg,arg3) __API_OR(msg,arg4) __API_OR(msg,arg5) __API_OR(msg,arg6) __API_OR(msg,arg7) __API_OR(msg,arg8) __API_OR(msg,arg9) __API_OR(msg,arg10) __API_OR(msg,arg11) __API_OR(msg,arg12) __API_OR(msg,arg13) __API_OR(msg,arg14) __API_OR(msg,arg15)
+ #define __API_OBSOLETED_REP_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
+
+#if __has_feature(attribute_availability_with_replacement)
+ #define __API_OR_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_OBSOLETED_PLATFORM_##x,replacement=rep))), apply_to = __API_APPLY_TO)))
+#else
+ #define __API_OR_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_OBSOLETED_PLATFORM_##x))), apply_to = __API_APPLY_TO)))
+#endif
+
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN0(msg,arg0) __API_R_BEGIN(msg,arg0)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN1(msg,arg0,arg1) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN2(msg,arg0,arg1,arg2) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN3(msg,arg0,arg1,arg2,arg3) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN4(msg,arg0,arg1,arg2,arg3,arg4) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN6(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN7(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN8(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN9(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN10(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN11(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10) __API_R_BEGIN(msg,arg11)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN12(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10) __API_R_BEGIN(msg,arg11) __API_R_BEGIN(msg,arg12)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN13(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10) __API_R_BEGIN(msg,arg11) __API_R_BEGIN(msg,arg12) __API_R_BEGIN(msg,arg13)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN14(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10) __API_R_BEGIN(msg,arg11) __API_R_BEGIN(msg,arg12) __API_R_BEGIN(msg,arg13) __API_R_BEGIN(msg,arg14)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN15(msg,arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) __API_R_BEGIN(msg,arg3) __API_R_BEGIN(msg,arg4) __API_R_BEGIN(msg,arg5) __API_R_BEGIN(msg,arg6) __API_R_BEGIN(msg,arg7) __API_R_BEGIN(msg,arg8) __API_R_BEGIN(msg,arg9) __API_R_BEGIN(msg,arg10) __API_R_BEGIN(msg,arg11) __API_R_BEGIN(msg,arg12) __API_R_BEGIN(msg,arg13) __API_R_BEGIN(msg,arg14) __API_R_BEGIN(msg,arg15)
+ #define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,NAME,...) NAME
/*
* API Unavailability
@@ -336,7 +469,14 @@
#define __API_UNAVAILABLE6(arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6)
#define __API_UNAVAILABLE7(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7)
#define __API_UNAVAILABLE8(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8)
- #define __API_UNAVAILABLE_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME
+ #define __API_UNAVAILABLE9(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9)
+ #define __API_UNAVAILABLE10(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10)
+ #define __API_UNAVAILABLE11(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10) __API_U(arg11)
+ #define __API_UNAVAILABLE12(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10) __API_U(arg11) __API_U(arg12)
+ #define __API_UNAVAILABLE13(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10) __API_U(arg11) __API_U(arg12) __API_U(arg13)
+ #define __API_UNAVAILABLE14(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10) __API_U(arg11) __API_U(arg12) __API_U(arg13) __API_U(arg14)
+ #define __API_UNAVAILABLE15(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) __API_U(arg6) __API_U(arg7) __API_U(arg8) __API_U(arg9) __API_U(arg10) __API_U(arg11) __API_U(arg12) __API_U(arg13) __API_U(arg14) __API_U(arg15)
+ #define __API_UNAVAILABLE_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,NAME,...) NAME
#define __API_U_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO)))
@@ -349,7 +489,14 @@
#define __API_UNAVAILABLE_BEGIN6(arg0,arg1,arg2,arg3,arg4,arg5,arg6) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6)
#define __API_UNAVAILABLE_BEGIN7(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7)
#define __API_UNAVAILABLE_BEGIN8(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8)
- #define __API_UNAVAILABLE_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME
+ #define __API_UNAVAILABLE_BEGIN9(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9)
+ #define __API_UNAVAILABLE_BEGIN10(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10)
+ #define __API_UNAVAILABLE_BEGIN11(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11)
+ #define __API_UNAVAILABLE_BEGIN12(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11) __API_U_BEGIN(arg12)
+ #define __API_UNAVAILABLE_BEGIN13(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11) __API_U_BEGIN(arg12) __API_U_BEGIN(arg13)
+ #define __API_UNAVAILABLE_BEGIN14(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11) __API_U_BEGIN(arg12) __API_U_BEGIN(arg13) __API_U_BEGIN(arg14)
+ #define __API_UNAVAILABLE_BEGIN15(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11) __API_U_BEGIN(arg12) __API_U_BEGIN(arg13) __API_U_BEGIN(arg14) __API_U_BEGIN(arg15)
+ #define __API_UNAVAILABLE_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,NAME,...) NAME
#endif /* __has_attribute(availability) */
#endif /* #if defined(__has_feature) && defined(__has_attribute) */
@@ -375,3 +522,15 @@
#endif
#endif /* __AVAILABILITY_INTERNAL__ */
+
+
+#ifndef __OPEN_SOURCE__
+// This is explicitly outside the header guard
+#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
+#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
+#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
+#define __AVAILABILITY_FILE "AvailabilityInternal.h"
+#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
+#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with AvailabilityInternal.h from Local. Mixing and matching Availability from different SDKs is not supported"
+#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
+#endif /* __OPEN_SOURCE__ */
lib/libc/include/any-macos-any/AvailabilityVersions.h
@@ -80,15 +80,21 @@
#define __MAC_13_4 130400
#define __MAC_13_5 130500
#define __MAC_13_6 130600
+#define __MAC_13_7 130700
#define __MAC_14_0 140000
#define __MAC_14_1 140100
#define __MAC_14_2 140200
#define __MAC_14_3 140300
#define __MAC_14_4 140400
#define __MAC_14_5 140500
+#define __MAC_14_6 140600
+#define __MAC_14_7 140700
#define __MAC_15_0 150000
#define __MAC_15_1 150100
#define __MAC_15_2 150200
+#define __MAC_15_3 150300
+#define __MAC_15_4 150400
+#define __MAC_15_5 150500
/* __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
@@ -171,9 +177,14 @@
#define __IPHONE_17_3 170300
#define __IPHONE_17_4 170400
#define __IPHONE_17_5 170500
+#define __IPHONE_17_6 170600
+#define __IPHONE_17_7 170700
#define __IPHONE_18_0 180000
#define __IPHONE_18_1 180100
#define __IPHONE_18_2 180200
+#define __IPHONE_18_3 180300
+#define __IPHONE_18_4 180400
+#define __IPHONE_18_5 180500
/* __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
@@ -223,9 +234,14 @@
#define __WATCHOS_10_3 100300
#define __WATCHOS_10_4 100400
#define __WATCHOS_10_5 100500
+#define __WATCHOS_10_6 100600
+#define __WATCHOS_10_7 100700
#define __WATCHOS_11_0 110000
#define __WATCHOS_11_1 110100
#define __WATCHOS_11_2 110200
+#define __WATCHOS_11_3 110300
+#define __WATCHOS_11_4 110400
+#define __WATCHOS_11_5 110500
/* __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
@@ -276,9 +292,13 @@
#define __TVOS_17_3 170300
#define __TVOS_17_4 170400
#define __TVOS_17_5 170500
+#define __TVOS_17_6 170600
#define __TVOS_18_0 180000
#define __TVOS_18_1 180100
#define __TVOS_18_2 180200
+#define __TVOS_18_3 180300
+#define __TVOS_18_4 180400
+#define __TVOS_18_5 180500
/* __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
@@ -308,9 +328,13 @@
#define __BRIDGEOS_8_3 80300
#define __BRIDGEOS_8_4 80400
#define __BRIDGEOS_8_5 80500
+#define __BRIDGEOS_8_6 80600
#define __BRIDGEOS_9_0 90000
#define __BRIDGEOS_9_1 90100
#define __BRIDGEOS_9_2 90200
+#define __BRIDGEOS_9_3 90300
+#define __BRIDGEOS_9_4 90400
+#define __BRIDGEOS_9_5 90500
#define __DRIVERKIT_19_0 190000
@@ -326,21 +350,31 @@
#define __DRIVERKIT_23_3 230300
#define __DRIVERKIT_23_4 230400
#define __DRIVERKIT_23_5 230500
+#define __DRIVERKIT_23_6 230600
#define __DRIVERKIT_24_0 240000
#define __DRIVERKIT_24_1 240100
#define __DRIVERKIT_24_2 240200
+#define __DRIVERKIT_24_3 240300
+#define __DRIVERKIT_24_4 240400
+#define __DRIVERKIT_24_5 240500
/* __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
#define __VISIONOS_1_1 10100
#define __VISIONOS_1_2 10200
+#define __VISIONOS_1_3 10300
#define __VISIONOS_2_0 20000
#define __VISIONOS_2_1 20100
#define __VISIONOS_2_2 20200
+#define __VISIONOS_2_3 20300
+#define __VISIONOS_2_4 20400
+#define __VISIONOS_2_5 20500
/* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
+/* __KERNELKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
+
#ifndef __OPEN_SOURCE__
@@ -408,17 +442,33 @@
#define MAC_OS_VERSION_13_4 __MAC_13_4
#define MAC_OS_VERSION_13_5 __MAC_13_5
#define MAC_OS_VERSION_13_6 __MAC_13_6
+#define MAC_OS_VERSION_13_7 __MAC_13_7
#define MAC_OS_VERSION_14_0 __MAC_14_0
#define MAC_OS_VERSION_14_1 __MAC_14_1
#define MAC_OS_VERSION_14_2 __MAC_14_2
#define MAC_OS_VERSION_14_3 __MAC_14_3
#define MAC_OS_VERSION_14_4 __MAC_14_4
#define MAC_OS_VERSION_14_5 __MAC_14_5
+#define MAC_OS_VERSION_14_6 __MAC_14_6
+#define MAC_OS_VERSION_14_7 __MAC_14_7
#define MAC_OS_VERSION_15_0 __MAC_15_0
#define MAC_OS_VERSION_15_1 __MAC_15_1
#define MAC_OS_VERSION_15_2 __MAC_15_2
+#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
#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */
#endif /* __AVAILABILITY_VERSIONS__ */
+#ifndef __OPEN_SOURCE__
+// This is explicitly outside the header guard
+#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
+#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
+#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
+#define __AVAILABILITY_FILE "AvailabilityVersions.h"
+#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
+#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with AvailabilityVersions.h from Local. Mixing and matching Availability from different SDKs is not supported"
+#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
+#endif /* __OPEN_SOURCE__ */
lib/libc/include/any-macos-any/Block.h
@@ -18,12 +18,6 @@
# endif
#endif
-#if __has_include(<Availability.h>)
-#include <Availability.h>
-#else
-#define __OSX_AVAILABLE_STARTING(m,i)
-#endif
-
#include <TargetConditionals.h>
#include <sys/cdefs.h>
@@ -34,28 +28,20 @@ extern "C" {
// Create a heap based copy of a Block or simply add a reference to an existing one.
// This must be paired with Block_release to recover memory, even when running
// under Objective-C Garbage Collection.
-BLOCK_EXPORT void *__single _Block_copy(const void *__single aBlock)
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
+BLOCK_EXPORT void *__single _Block_copy(const void *__single aBlock);
// Lose the reference, and if heap based and last reference, recover the memory
-BLOCK_EXPORT void _Block_release(const void *__single aBlock)
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
-
+BLOCK_EXPORT void _Block_release(const void *__single aBlock);
// Used by the compiler. Do not call this function yourself.
-BLOCK_EXPORT void _Block_object_assign(void *, const void *, const int)
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
+BLOCK_EXPORT void _Block_object_assign(void *, const void *, const int);
// Used by the compiler. Do not call this function yourself.
-BLOCK_EXPORT void _Block_object_dispose(const void *, const int)
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
+BLOCK_EXPORT void _Block_object_dispose(const void *, const int);
// Used by the compiler. Do not use these variables yourself.
-BLOCK_EXPORT void * _NSConcreteGlobalBlock[32]
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
-BLOCK_EXPORT void * _NSConcreteStackBlock[32]
- __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
-
+BLOCK_EXPORT void * _NSConcreteGlobalBlock[32];
+BLOCK_EXPORT void * _NSConcreteStackBlock[32];
#if __cplusplus
}
lib/libc/include/any-macos-any/crt_externs.h
@@ -32,12 +32,15 @@
*/
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
-extern char ***_NSGetArgv(void);
+extern char *_LIBC_CSTR *_LIBC_NULL_TERMINATED *_NSGetArgv(void);
extern int *_NSGetArgc(void);
-extern char ***_NSGetEnviron(void);
-extern char **_NSGetProgname(void);
+extern char *_LIBC_CSTR *_LIBC_NULL_TERMINATED *_NSGetEnviron(void);
+extern char *_LIBC_CSTR *_NSGetProgname(void);
#ifdef __LP64__
extern struct mach_header_64 *
#else /* !__LP64__ */
lib/libc/include/any-macos-any/dirent.h
@@ -61,12 +61,15 @@
/*
* The kernel defines the format of directory entries
*/
+#include <_bounds.h>
#include <_types.h>
#include <sys/dirent.h>
#include <sys/cdefs.h>
#include <Availability.h>
#include <sys/_pthread/_pthread_types.h> /* __darwin_pthread_mutex_t */
+_LIBC_SINGLE_BY_DEFAULT()
+
struct _telldir; /* forward reference */
/* structure describing an open directory. */
@@ -74,7 +77,7 @@ typedef struct {
int __dd_fd; /* file descriptor associated with directory */
long __dd_loc; /* offset in current buffer */
long __dd_size; /* amount of data returned */
- char *__dd_buf; /* data buffer */
+ char *_LIBC_COUNT(__dd_len) __dd_buf; /* data buffer */
int __dd_len; /* size of data buffer */
long __dd_seek; /* magic cookie returned */
__unused long __padding; /* (__dd_rewind space left for bincompat) */
@@ -168,7 +171,7 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
__BEGIN_DECLS
-int getdirentries(int, char *, int, long *)
+int getdirentries(int, char *_LIBC_COUNT(__nbytes), int __nbytes, long *)
#if __DARWIN_64_BIT_INO_T
/*
lib/libc/include/any-macos-any/dlfcn.h
@@ -36,11 +36,10 @@
#include <stdbool.h>
#include <Availability.h>
-#ifdef __DRIVERKIT_19_0
- #define __DYLDDL_DRIVERKIT_UNAVAILABLE __API_UNAVAILABLE(driverkit)
-#else
- #define __DYLDDL_DRIVERKIT_UNAVAILABLE
-#endif
+#define __DYLDDL_UNAVAILABLE __API_UNAVAILABLE(driverkit)
+
+#define __DYLDDL_DLSYM_UNAVAILABLE __API_UNAVAILABLE(driverkit)
+
#ifdef __cplusplus
extern "C" {
@@ -63,20 +62,21 @@ extern int dladdr(const void *, Dl_info *);
#endif
#else
- #define __DYLDDL_DRIVERKIT_UNAVAILABLE
+#define __DYLDDL_UNAVAILABLE
+#define __DYLDDL_DLSYM_UNAVAILABLE
#endif /* not POSIX */
#ifdef __cplusplus
extern "C" {
#endif
-extern int dlclose(void * __handle) __DYLDDL_DRIVERKIT_UNAVAILABLE;
-extern char * dlerror(void) __DYLDDL_DRIVERKIT_UNAVAILABLE;
-extern void * dlopen(const char * __path, int __mode) __DYLDDL_DRIVERKIT_UNAVAILABLE;
-extern void * dlsym(void * __handle, const char * __symbol);
+extern int dlclose(void * __handle) __DYLDDL_UNAVAILABLE;
+extern char * dlerror(void) __DYLDDL_UNAVAILABLE;
+extern void * dlopen(const char * __path, int __mode) __DYLDDL_UNAVAILABLE;
+extern void * dlsym(void * __handle, const char * __symbol) __DYLDDL_DLSYM_UNAVAILABLE;
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-extern bool dlopen_preflight(const char* __path) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) __DYLDDL_DRIVERKIT_UNAVAILABLE;
+extern bool dlopen_preflight(const char* __path) __API_AVAILABLE(macos(10.5), ios(2.0)) __DYLDDL_UNAVAILABLE;
#endif /* not POSIX */
lib/libc/include/any-macos-any/err.h
@@ -66,9 +66,12 @@
* __darwin_va_list from <machine/_type.h> and use it.
*/
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <Availability.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
void err(int, const char *, ...) __cold __dead2 __printflike(2, 3);
void verr(int, const char *, __darwin_va_list) __cold __dead2 __printflike(2, 0);
lib/libc/include/any-macos-any/execinfo.h
@@ -24,6 +24,7 @@
#define _EXECINFO_H_ 1
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <Availability.h>
#include <os/base.h>
#include <os/availability.h>
@@ -31,16 +32,18 @@
#include <stdint.h>
#include <uuid/uuid.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
-int backtrace(void**,int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+int backtrace(void **_LIBC_COUNT(__size), int __size) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
API_AVAILABLE(macosx(10.14), ios(12.0), tvos(12.0), watchos(5.0))
OS_EXPORT
-int backtrace_from_fp(void *startfp, void **array, int size);
+int backtrace_from_fp(void *startfp, void **_LIBC_COUNT(size) array, int size);
-char** backtrace_symbols(void* const*,int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
-void backtrace_symbols_fd(void* const*,int,int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+char *_LIBC_CSTR *_LIBC_COUNT_OR_NULL(__size) backtrace_symbols(void* const* _LIBC_COUNT(__size), int __size) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+void backtrace_symbols_fd(void* const* _LIBC_COUNT(__size),int __size,int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
struct image_offset {
/*
@@ -56,7 +59,7 @@ struct image_offset {
API_AVAILABLE(macosx(10.14), ios(12.0), tvos(12.0), watchos(5.0))
OS_EXPORT
-void backtrace_image_offsets(void* const* array,
+void backtrace_image_offsets(void* const* _LIBC_COUNT(size) array,
struct image_offset *image_offsets, int size);
/*!
@@ -91,7 +94,7 @@ void backtrace_image_offsets(void* const* array,
* The number of pointers actually written.
*/
API_AVAILABLE(macosx(12.0), ios(15.0), tvos(15.0), watchos(8.0))
-size_t backtrace_async(void** array, size_t length, uint32_t *task_id);
+size_t backtrace_async(void** _LIBC_COUNT(length) array, size_t length, uint32_t *task_id);
__END_DECLS
lib/libc/include/any-macos-any/fmtmsg.h
@@ -29,6 +29,10 @@
#ifndef _FMTMSG_H_
#define _FMTMSG_H_
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
+
/* Source of condition is... */
#define MM_HARD 0x0001 /* ...hardware. */
#define MM_SOFT 0x0002 /* ...software. */
lib/libc/include/any-macos-any/fnmatch.h
@@ -58,8 +58,11 @@
#ifndef _FNMATCH_H_
#define _FNMATCH_H_
+#include <_bounds.h>
#include <sys/cdefs.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define FNM_NOMATCH 1 /* Match failed. */
#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */
lib/libc/include/any-macos-any/fts.h
@@ -63,15 +63,18 @@
#include <sys/_types/_ino_t.h>
#include <sys/_types/_nlink_t.h>
+#include <_bounds.h>
#include <Availability.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wstrict-prototypes"
typedef struct {
struct _ftsent *fts_cur; /* current node */
struct _ftsent *fts_child; /* linked list of children */
- struct _ftsent **fts_array; /* sort array */
+ struct _ftsent **_LIBC_COUNT(fts_nitems) fts_array; /* sort array */
dev_t fts_dev; /* starting device # */
char *fts_path; /* path for this descent */
int fts_rfd; /* fd for root */
@@ -117,8 +120,8 @@ typedef struct _ftsent {
struct _ftsent *fts_link; /* next file in directory */
long fts_number; /* local numeric value */
void *fts_pointer; /* local address value */
- char *fts_accpath; /* access path */
- char *fts_path; /* root path */
+ char *_LIBC_CSTR fts_accpath; /* access path */
+ char *_LIBC_CSTR fts_path; /* root path */
int fts_errno; /* errno for this node */
int fts_symfd; /* fd for symlink or chdir */
unsigned short fts_pathlen; /* strlen(fts_path) */
@@ -162,7 +165,7 @@ typedef struct _ftsent {
unsigned short fts_instr; /* fts_set() instructions */
struct stat *fts_statp; /* stat(2) information */
- char fts_name[1]; /* file name */
+ char fts_name[1]; /* file name, unsafe with -fbounds-safety */
} FTSENT;
#include <sys/cdefs.h>
@@ -171,7 +174,7 @@ typedef struct _ftsent {
__BEGIN_DECLS
FTSENT *fts_children(FTS *, int) __DARWIN_INODE64(fts_children);
int fts_close(FTS *) __DARWIN_INODE64(fts_close);
-FTS *fts_open(char * const *, int,
+FTS *fts_open(char *_LIBC_CSTR const *, int,
int (*)(const FTSENT **, const FTSENT **)) __DARWIN_INODE64(fts_open);
#ifdef __BLOCKS__
#if __has_attribute(noescape)
@@ -179,7 +182,7 @@ FTS *fts_open(char * const *, int,
#else
#define __fts_noescape
#endif
-FTS *fts_open_b(char * const *, int,
+FTS *fts_open_b(char *_LIBC_CSTR const *, int,
int (^)(const FTSENT **, const FTSENT **) __fts_noescape)
__DARWIN_INODE64(fts_open_b) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
#endif /* __BLOCKS__ */
lib/libc/include/any-macos-any/ftw.h
@@ -24,6 +24,9 @@
#define _FTW_H
#include <sys/stat.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
/*
* Valid flags for the 3rd argument to the function that is passed as the
lib/libc/include/any-macos-any/getopt.h
@@ -41,8 +41,11 @@
#define _GETOPT_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <unistd.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
/*
* GNU-like getopt_long()/getopt_long_only() with 4.4BSD optreset extension.
* getopt() is declared here too for GNU programs.
@@ -66,15 +69,15 @@ struct option {
};
__BEGIN_DECLS
-int getopt_long(int, char * const *, const char *,
+int getopt_long(int __argc, char *_LIBC_CSTR const *_LIBC_COUNT(__argc), const char *,
const struct option *, int *);
-int getopt_long_only(int, char * const *, const char *,
+int getopt_long_only(int __argc, char * const *_LIBC_COUNT(__argc), const char *,
const struct option *, int *);
#ifndef _GETOPT
#define _GETOPT
-int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt);
+int getopt(int __argc, char *_LIBC_CSTR const [_LIBC_COUNT(__argc)], const char *) __DARWIN_ALIAS(getopt);
-extern char *optarg; /* getopt(3) external variables */
+extern char *_LIBC_CSTR optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif
#ifndef _OPTRESET
lib/libc/include/any-macos-any/glob.h
@@ -38,9 +38,12 @@
#include <_types.h>
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <Availability.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
struct dirent;
struct stat;
@@ -50,7 +53,7 @@ typedef struct {
int gl_matchc; /* Count of paths matching pattern. */
size_t gl_offs; /* Reserved at beginning of gl_pathv. */
int gl_flags; /* Copy of flags parameter to glob. */
- char **gl_pathv; /* List of paths matching pattern. */
+ char *_LIBC_CSTR *_LIBC_COUNT(gl_matchc) gl_pathv; /* List of paths matching pattern. */
/* Copy of errfunc parameter to glob. */
#ifdef __BLOCKS__
union {
lib/libc/include/any-macos-any/libgen.h
@@ -32,18 +32,21 @@
#define _LIBGEN_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS
#if __DARWIN_UNIX03
-char *basename(char *);
-char *dirname(char *);
+char *_LIBC_CSTR basename(char *_LIBC_CSTR);
+char *_LIBC_CSTR dirname(char *_LIBC_CSTR);
#else /* !__DARWIN_UNIX03 */
-char *basename(const char *);
-char *dirname(const char *);
+char *_LIBC_CSTR basename(const char *);
+char *_LIBC_CSTR dirname(const char *);
#endif /* __DARWIN_UNIX_03 */
@@ -51,14 +54,15 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
#include <Availability.h>
+#include <limits.h>
__BEGIN_DECLS
-char *basename_r(const char *, char *)
+char *_LIBC_CSTR basename_r(const char *, char *_LIBC_COUNT(PATH_MAX))
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
-char *dirname_r(const char *, char *)
+char *_LIBC_CSTR dirname_r(const char *, char *_LIBC_COUNT(PATH_MAX))
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
lib/libc/include/any-macos-any/locale.h
@@ -37,8 +37,11 @@
#ifndef _LOCALE_H_
#define _LOCALE_H_
+#include <_bounds.h>
#include <_locale.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define LC_ALL 0
#define LC_COLLATE 1
#define LC_CTYPE 2
@@ -50,7 +53,7 @@
#define _LC_LAST 7 /* marks end */
__BEGIN_DECLS
-char *setlocale(int, const char *);
+char *_LIBC_CSTR setlocale(int, const char *);
__END_DECLS
#endif /* _LOCALE_H_ */
lib/libc/include/any-macos-any/math.h
@@ -31,6 +31,11 @@
#include <sys/cdefs.h>
#include <Availability.h>
+#if __has_include(<realtime_safety/realtime_safety.h>)
+#include <realtime_safety/realtime_safety.h>
+REALTIME_SAFE_BEGIN
+#endif
+
__BEGIN_DECLS
/******************************************************************************
@@ -41,7 +46,7 @@ __BEGIN_DECLS
taking advantage of GCC's __FLT_EVAL_METHOD__ (which a compiler may
define anytime and GCC does) that shadows FLT_EVAL_METHOD (which a
compiler must define only in float.h). */
-#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1
+#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1 || __FLT_EVAL_METHOD__ == 16
typedef float float_t;
typedef double double_t;
#elif __FLT_EVAL_METHOD__ == 1
@@ -788,5 +793,10 @@ struct exception {
#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
__END_DECLS
+
+#if __has_include(<realtime_safety/realtime_safety.h>)
+REALTIME_SAFE_END
+#endif
+
#endif /* __MATH_H__ */
lib/libc/include/any-macos-any/ndbm.h
@@ -61,10 +61,13 @@
#ifndef _NDBM_H_
#define _NDBM_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_mode_t.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
/* Map dbm interface onto db(3). */
#include <fcntl.h>
@@ -84,7 +87,7 @@
#endif
typedef struct {
- void *dptr;
+ void *_LIBC_SIZE(dsize) dptr;
size_t dsize;
} datum;
lib/libc/include/any-macos-any/nl_types.h
@@ -43,8 +43,11 @@
#include <sys/cdefs.h>
#include <sys/types.h>
+#include <_bounds.h>
#include <_types.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#ifdef _NLS_PRIVATE
/*
* MESSAGE CATALOG FILE FORMAT.
@@ -87,7 +90,7 @@ struct _nls_msg_hdr {
#define NL_CAT_LOCALE 1
typedef struct __nl_cat_d {
- void *__data;
+ void *_LIBC_SIZE(__size) __data;
int __size;
} *nl_catd;
@@ -95,7 +98,7 @@ typedef struct __nl_cat_d {
__BEGIN_DECLS
nl_catd catopen(const char *, int);
-char *catgets(nl_catd, int, int, const char *)
+char *_LIBC_CSTR catgets(nl_catd, int, int, const char *)
__attribute__((__format_arg__(4)));
int catclose(nl_catd);
__END_DECLS
lib/libc/include/any-macos-any/runetype.h
@@ -39,8 +39,11 @@
#ifndef _RUNETYPE_H_
#define _RUNETYPE_H_
+#include <_bounds.h>
#include <_types.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#include <sys/_types/_size_t.h>
@@ -61,12 +64,12 @@ typedef struct {
__darwin_rune_t __min; /* First rune of the range */
__darwin_rune_t __max; /* Last rune (inclusive) of the range */
__darwin_rune_t __map; /* What first maps to in maps */
- __uint32_t *__types; /* Array of types in range */
+ __uint32_t *_LIBC_UNSAFE_INDEXABLE __types; /* Array of types in range */
} _RuneEntry;
typedef struct {
int __nranges; /* Number of ranges stored */
- _RuneEntry *__ranges; /* Pointer to the ranges */
+ _RuneEntry *_LIBC_COUNT(__nranges) __ranges; /* Pointer to the ranges */
} _RuneRange;
typedef struct {
@@ -78,8 +81,8 @@ typedef struct {
char __magic[8]; /* Magic saying what version we are */
char __encoding[32]; /* ASCII name of this encoding */
- __darwin_rune_t (*__sgetrune)(const char *, __darwin_size_t, char const **);
- int (*__sputrune)(__darwin_rune_t, char *, __darwin_size_t, char **);
+ __darwin_rune_t (*__sgetrune)(const char *_LIBC_COUNT(__n) __string, __darwin_size_t __n, char const *_LIBC_UNSAFE_INDEXABLE /* NULL or within bounds of __string */ *);
+ int (*__sputrune)(__darwin_rune_t, char *_LIBC_COUNT(__n) __string, __darwin_size_t __n, char *_LIBC_UNSAFE_INDEXABLE /* NULL or within bounds of __string */ *);
__darwin_rune_t __invalid_rune; /* Deprecated */
__uint32_t __runetype[_CACHED_RUNES];
@@ -95,14 +98,14 @@ typedef struct {
_RuneRange __maplower_ext;
_RuneRange __mapupper_ext;
- void *__variable; /* Data which depends on the encoding */
+ void *_LIBC_SIZE(__variable_len) __variable; /* Data which depends on the encoding */
int __variable_len; /* how long that data is */
/*
* extra fields to deal with arbitrary character classes
*/
int __ncharclasses;
- _RuneCharClass *__charclasses;
+ _RuneCharClass *_LIBC_COUNT(__ncharclasses) __charclasses;
} _RuneLocale;
#define _RUNE_MAGIC_A "RuneMagA" /* Indicates version A of RuneLocale */
lib/libc/include/any-macos-any/search.h
@@ -10,11 +10,14 @@
#define _SEARCH_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_size_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
typedef struct entry {
- char *key;
+ char *_LIBC_CSTR key;
void *data;
} ENTRY;
@@ -31,7 +34,7 @@ typedef enum {
#ifdef _SEARCH_PRIVATE
typedef struct node {
- char *key;
+ char *_LIBC_CSTR key;
struct node *llink, *rlink;
} node_t;
@@ -46,9 +49,9 @@ int hcreate(size_t);
void hdestroy(void);
ENTRY *hsearch(ENTRY, ACTION);
void insque(void *, void *);
-void *lfind(const void *, const void *, size_t *, size_t,
+void *lfind(const void *, const void *_LIBC_UNSAFE_INDEXABLE, size_t *, size_t,
int (*)(const void *, const void *));
-void *lsearch(const void *, void *, size_t *, size_t,
+void *lsearch(const void *, void *, size_t *_LIBC_UNSAFE_INDEXABLE, size_t,
int (*)(const void *, const void *));
void remque(void *);
void *tdelete(const void * __restrict, void ** __restrict,
lib/libc/include/any-macos-any/signal.h
@@ -59,12 +59,15 @@
#define _USER_SIGNAL_H
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/signal.h>
#include <sys/_pthread/_pthread_types.h>
#include <sys/_pthread/_pthread_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
extern __const char *__const sys_signame[NSIG];
extern __const char *__const sys_siglist[NSIG];
lib/libc/include/any-macos-any/TargetConditionals.h
@@ -175,7 +175,7 @@
/* "-target=arm64e-apple-xros1.0[-simulator]" */
- #if __is_target_vendor(apple) && __is_target_os(xros)
+ #if __is_target_vendor(apple) && __is_target_os(xros) && (!__is_target_environment(exclavekit) && !__is_target_environment(exclavecore))
#define TARGET_OS_MAC 1
#define TARGET_OS_IPHONE 1
lib/libc/include/any-macos-any/termios.h
@@ -23,11 +23,14 @@
#ifndef __TERMIOS_H__
#define __TERMIOS_H__
+#include <_bounds.h>
#include <sys/cdefs.h>
#include <sys/termios.h>
#include <_types.h>
#include <sys/_types/_pid_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
pid_t tcgetsid(int);
__END_DECLS
lib/libc/include/any-macos-any/ulimit.h
@@ -30,10 +30,13 @@
#define _ULIMIT_H_
#include <sys/cdefs.h>
+#include <_bounds.h>
#define UL_GETFSIZE 1
#define UL_SETFSIZE 2
+_LIBC_SINGLE_BY_DEFAULT()
+
__BEGIN_DECLS
long ulimit(int, ...);
__END_DECLS
lib/libc/include/any-macos-any/unistd.h
@@ -68,9 +68,11 @@
#ifndef _UNISTD_H_
#define _UNISTD_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/unistd.h>
#include <Availability.h>
+#include <sys/syslimits.h>
#include <sys/_types/_gid_t.h>
#include <sys/_types/_intptr_t.h>
#include <sys/_types/_off_t.h>
@@ -83,6 +85,8 @@
#include <sys/_types/_useconds_t.h>
#include <sys/_types/_null.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
#define STDIN_FILENO 0 /* standard input file descriptor */
#define STDOUT_FILENO 1 /* standard output file descriptor */
#define STDERR_FILENO 2 /* standard error file descriptor */
@@ -441,21 +445,21 @@ int dup2(int, int);
int execl(const char * __path, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
int execle(const char * __path, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
int execlp(const char * __file, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int execv(const char * __path, char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int execve(const char * __file, char * const * __argv, char * const * __envp) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int execvp(const char * __file, char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int execv(const char * __path, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int execve(const char * __file, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED __argv, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED __envp) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int execvp(const char * __file, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
pid_t fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
long fpathconf(int, int);
-char *getcwd(char *, size_t);
+char *_LIBC_CSTR getcwd(char *_LIBC_COUNT_OR_NULL(__size), size_t __size);
gid_t getegid(void);
uid_t geteuid(void);
gid_t getgid(void);
#if defined(_DARWIN_UNLIMITED_GETGROUPS) || defined(_DARWIN_C_SOURCE)
-int getgroups(int, gid_t []) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(getgroups));
+int getgroups(int __gidsetsize, gid_t [_LIBC_COUNT(__gidsetsize)]) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(getgroups));
#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */
-int getgroups(int, gid_t []);
+int getgroups(int __gidsetsize, gid_t [_LIBC_COUNT(__gidsetsize)]);
#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */
-char *getlogin(void);
+char *_LIBC_CSTR getlogin(void);
pid_t getpgrp(void);
pid_t getpid(void);
pid_t getppid(void);
@@ -469,7 +473,7 @@ int pause(void) __DARWIN_ALIAS_C(pause);
int pipe(int [2]);
-ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read);
+ssize_t read(int, void *_LIBC_SIZE(__nbyte), size_t __nbyte) __DARWIN_ALIAS_C(read);
int rmdir(const char *);
int setgid(gid_t);
@@ -483,17 +487,17 @@ unsigned int
long sysconf(int);
pid_t tcgetpgrp(int);
int tcsetpgrp(int, pid_t);
-char *ttyname(int);
+char *_LIBC_CSTR ttyname(int);
#if __DARWIN_UNIX03
-int ttyname_r(int, char *, size_t) __DARWIN_ALIAS(ttyname_r);
+int ttyname_r(int, char *_LIBC_COUNT(__len), size_t __len) __DARWIN_ALIAS(ttyname_r);
#else /* !__DARWIN_UNIX03 */
-char *ttyname_r(int, char *, size_t);
+char *_LIBC_CSTR ttyname_r(int, char *_LIBC_COUNT(__len), size_t __len);
#endif /* __DARWIN_UNIX03 */
int unlink(const char *);
-ssize_t write(int __fd, const void * __buf, size_t __nbyte) __DARWIN_ALIAS_C(write);
+ssize_t write(int __fd, const void *_LIBC_SIZE(__nbyte) __buf, size_t __nbyte) __DARWIN_ALIAS_C(write);
__END_DECLS
@@ -504,9 +508,9 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 199209L
__BEGIN_DECLS
-size_t confstr(int, char *, size_t) __DARWIN_ALIAS(confstr);
+size_t confstr(int, char *_LIBC_COUNT(__len), size_t __len) __DARWIN_ALIAS(confstr);
-int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt);
+int getopt(int __argc, char *_LIBC_CSTR const [_LIBC_COUNT(__argc)], const char *) __DARWIN_ALIAS(getopt);
extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
@@ -537,15 +541,15 @@ __END_DECLS
#if !defined(_POSIX_C_SOURCE)
__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED
#endif
-void *brk(const void *);
+void *_LIBC_UNSAFE_INDEXABLE brk(const void *_LIBC_UNSAFE_INDEXABLE);
int chroot(const char *) __POSIX_C_DEPRECATED(199506L);
#endif
-char *crypt(const char *, const char *);
+char *_LIBC_CSTR crypt(const char *, const char *);
#if __DARWIN_UNIX03
-void encrypt(char *, int) __DARWIN_ALIAS(encrypt);
+void encrypt(char *_LIBC_COUNT(64), int) __DARWIN_ALIAS(encrypt);
#else /* !__DARWIN_UNIX03 */
-int encrypt(char *, int);
+int encrypt(char *_LIBC_COUNT(64), int);
#endif /* __DARWIN_UNIX03 */
int fchdir(int);
long gethostid(void);
@@ -556,12 +560,12 @@ pid_t getsid(pid_t);
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
int getdtablesize(void) __POSIX_C_DEPRECATED(199506L);
int getpagesize(void) __pure2 __POSIX_C_DEPRECATED(199506L);
-char *getpass(const char *) __POSIX_C_DEPRECATED(199506L);
+char *_LIBC_CSTR getpass(const char *) __POSIX_C_DEPRECATED(199506L);
#endif
/* Removed in Issue 7 */
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
-char *getwd(char *) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
+char *_LIBC_CSTR getwd(char *_LIBC_COUNT_OR_NULL(PATH_MAX)) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
#endif
int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);
@@ -570,9 +574,9 @@ int lockf(int, int, off_t) __DARWIN_ALIAS_C(lockf);
int nice(int) __DARWIN_ALIAS(nice);
-ssize_t pread(int __fd, void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pread);
+ssize_t pread(int __fd, void *_LIBC_SIZE(__nbyte) __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pread);
-ssize_t pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pwrite);
+ssize_t pwrite(int __fd, const void *_LIBC_SIZE(__nbyte) __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pwrite);
/* Removed in Issue 6 */
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
@@ -581,7 +585,7 @@ ssize_t pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) __
#if !defined(_POSIX_C_SOURCE)
__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED
#endif
-void *sbrk(int);
+void *_LIBC_UNSAFE_INDEXABLE sbrk(int);
#endif
#if __DARWIN_UNIX03
@@ -594,7 +598,7 @@ int setregid(gid_t, gid_t) __DARWIN_ALIAS(setregid);
int setreuid(uid_t, uid_t) __DARWIN_ALIAS(setreuid);
-void swab(const void * __restrict, void * __restrict, ssize_t);
+void swab(const void * __restrict _LIBC_SIZE(__nbytes), void * __restrict _LIBC_SIZE(__nbytes), ssize_t __nbytes);
void sync(void);
int truncate(const char *, off_t);
useconds_t ualarm(useconds_t, useconds_t);
@@ -609,7 +613,7 @@ pid_t vfork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
int fsync(int) __DARWIN_ALIAS_C(fsync);
int ftruncate(int, off_t);
-int getlogin_r(char *, size_t);
+int getlogin_r(char *_LIBC_COUNT(__namelen), size_t __namelen);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 199506L */
@@ -623,8 +627,8 @@ __END_DECLS
#if __DARWIN_C_LEVEL >= 200112L
__BEGIN_DECLS
int fchown(int, uid_t, gid_t);
-int gethostname(char *, size_t);
-ssize_t readlink(const char * __restrict, char * __restrict, size_t);
+int gethostname(char *_LIBC_COUNT(__namelen), size_t __namelen);
+ssize_t readlink(const char * __restrict, char *_LIBC_COUNT(__bufsize) __restrict, size_t __bufsize);
int setegid(gid_t);
int seteuid(uid_t);
int symlink(const char *, const char *);
@@ -644,64 +648,64 @@ __END_DECLS
__BEGIN_DECLS
void _Exit(int) __dead2;
-int accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t);
+int accessx_np(const struct accessx_descriptor *_LIBC_SIZE(__sz), size_t __sz, int *, uid_t);
int acct(const char *);
-int add_profil(char *, size_t, unsigned long, unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int add_profil(char *_LIBC_COUNT(__bufsiz), size_t __bufsiz, unsigned long, unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
void endusershell(void);
-int execvP(const char * __file, const char * __searchpath, char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-char *fflagstostr(unsigned long);
-int getdomainname(char *, int);
-int getgrouplist(const char *, int, int *, int *);
+int execvP(const char * __file, const char * __searchpath, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+char *_LIBC_CSTR fflagstostr(unsigned long);
+int getdomainname(char *_LIBC_COUNT(__namelen), int __namelen);
+int getgrouplist(const char *, int, int *_LIBC_COUNT(*__ngroups), int *__ngroups);
__END_DECLS
#include <gethostuuid.h>
__BEGIN_DECLS
mode_t getmode(const void *, mode_t);
int getpeereid(int, uid_t *, gid_t *);
int getsgroups_np(int *, uuid_t);
-char *getusershell(void);
+char *_LIBC_CSTR getusershell(void);
int getwgroups_np(int *, uuid_t);
int initgroups(const char *, int);
int issetugid(void);
-char *mkdtemp(char *);
+char *_LIBC_CSTR mkdtemp(char *_LIBC_CSTR);
int mknod(const char *, mode_t, dev_t);
int mkpath_np(const char *path, mode_t omode) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0); /* returns errno */
int mkpathat_np(int dfd, const char *path, mode_t omode) /* returns errno */
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
-int mkstemp(char *);
-int mkstemps(char *, int);
-char *mktemp(char *);
-int mkostemp(char *path, int oflags)
+int mkstemp(char *_LIBC_CSTR);
+int mkstemps(char *_LIBC_CSTR, int);
+char *_LIBC_CSTR mktemp(char *_LIBC_CSTR);
+int mkostemp(char *_LIBC_CSTR path, int oflags)
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
-int mkostemps(char *path, int slen, int oflags)
+int mkostemps(char *_LIBC_CSTR path, int slen, int oflags)
__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
/* Non-portable mkstemp that uses open_dprotected_np */
-int mkstemp_dprotected_np(char *path, int dpclass, int dpflags)
+int mkstemp_dprotected_np(char *_LIBC_CSTR path, int dpclass, int dpflags)
__OSX_UNAVAILABLE __IOS_AVAILABLE(10.0)
__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
-char *mkdtempat_np(int dfd, char *path)
+char *_LIBC_CSTR mkdtempat_np(int dfd, char *_LIBC_CSTR path)
__OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
__TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
-int mkstempsat_np(int dfd, char *path, int slen)
+int mkstempsat_np(int dfd, char *_LIBC_CSTR path, int slen)
__OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
__TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
-int mkostempsat_np(int dfd, char *path, int slen, int oflags)
+int mkostempsat_np(int dfd, char *_LIBC_CSTR path, int slen, int oflags)
__OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
__TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
int nfssvc(int, void *);
-int profil(char *, size_t, unsigned long, unsigned int);
+int profil(char *_LIBC_COUNT(__bufsiz), size_t __bufsiz, unsigned long, unsigned int);
__deprecated_msg("Use of per-thread security contexts is error-prone and discouraged.")
int pthread_setugid_np(uid_t, gid_t);
-int pthread_getugid_np( uid_t *, gid_t *);
+int pthread_getugid_np(uid_t *, gid_t *);
int reboot(int);
int revoke(const char *);
-__deprecated int rcmd(char **, int, const char *, const char *, const char *, int *);
-__deprecated int rcmd_af(char **, int, const char *, const char *, const char *, int *,
+__deprecated int rcmd(char *_LIBC_CSTR *, int, const char *, const char *, const char *, int *);
+__deprecated int rcmd_af(char *_LIBC_CSTR *, int, const char *, const char *, const char *, int *,
int);
__deprecated int rresvport(int *);
__deprecated int rresvport_af(int *, int);
@@ -709,10 +713,10 @@ __deprecated int iruserok(unsigned long, int, const char *, const char *);
__deprecated int iruserok_sa(const void *, int, int, const char *, const char *);
__deprecated int ruserok(const char *, int, const char *, const char *);
-int setdomainname(const char *, int);
+int setdomainname(const char *_LIBC_COUNT(__namelen), int __namelen);
int setgroups(int, const gid_t *);
void sethostid(long);
-int sethostname(const char *, int);
+int sethostname(const char *_LIBC_COUNT(__namelen), int __namelen);
#if __DARWIN_UNIX03
void setkey(const char *) __DARWIN_ALIAS(setkey);
#else /* !__DARWIN_UNIX03 */
@@ -725,12 +729,12 @@ int setruid(uid_t);
int setsgroups_np(int, const uuid_t);
void setusershell(void);
int setwgroups_np(int, const uuid_t);
-int strtofflags(char **, unsigned long *, unsigned long *);
+int strtofflags(char *_LIBC_CSTR *, unsigned long *, unsigned long *);
int swapon(const char *);
int ttyslot(void);
int undelete(const char *);
int unwhiteout(const char *);
-void *valloc(size_t);
+void *_LIBC_SIZE_OR_NULL(__size) valloc(size_t __size); /* __attribute__((malloc, alloc_size(1))) */
__WATCHOS_PROHIBITED __TVOS_PROHIBITED
__OS_AVAILABILITY_MSG(ios,deprecated=10.0,"syscall(2) is unsupported; "
@@ -740,27 +744,27 @@ __OS_AVAILABILITY_MSG(macosx,deprecated=10.12,"syscall(2) is unsupported; "
int syscall(int, ...);
extern char *suboptarg; /* getsubopt(3) external variable */
-int getsubopt(char **, char * const *, char **);
+int getsubopt(char *_LIBC_CSTR *, char *_LIBC_CSTR const *_LIBC_NULL_TERMINATED, char *_LIBC_CSTR *);
/* HFS & HFS Plus semantics system calls go here */
#ifdef __LP64__
-int fgetattrlist(int,void*,void*,size_t,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
-int fsetattrlist(int,void*,void*,size_t,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
-int getattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(getattrlist);
-int setattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(setattrlist);
+int fgetattrlist(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int fsetattrlist(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int getattrlist(const char*,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned int) __DARWIN_ALIAS(getattrlist);
+int setattrlist(const char*,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned int) __DARWIN_ALIAS(setattrlist);
int exchangedata(const char*,const char*,unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int getdirentriesattr(int,void*,void*,size_t,unsigned int*,unsigned int*,unsigned int*,unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int getdirentriesattr(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned int*,unsigned int*,unsigned int*,unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
#else /* __LP64__ */
-int fgetattrlist(int,void*,void*,size_t,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
-int fsetattrlist(int,void*,void*,size_t,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
-int getattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(getattrlist);
-int setattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(setattrlist);
+int fgetattrlist(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int fsetattrlist(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int getattrlist(const char*,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned long) __DARWIN_ALIAS(getattrlist);
+int setattrlist(const char*,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned long) __DARWIN_ALIAS(setattrlist);
int exchangedata(const char*,const char*,unsigned long)
__OSX_DEPRECATED(10.0, 10.13, "use renamex_np with the RENAME_SWAP flag")
__IOS_DEPRECATED(2.0, 11.0, "use renamex_np with the RENAME_SWAP flag")
__WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int getdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int getdirentriesattr(int,void*,void *_LIBC_SIZE(__attrBufSize),size_t __attrBufSize,unsigned long*,unsigned long*,unsigned long*,unsigned long) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
#endif /* __LP64__ */
@@ -768,8 +772,8 @@ struct fssearchblock;
struct searchstate;
int searchfs(const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate *) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
-int fsctl(const char *,unsigned long,void*,unsigned int);
-int ffsctl(int,unsigned long,void*,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int fsctl(const char *,unsigned long,void *_LIBC_UNSAFE_INDEXABLE,unsigned int);
+int ffsctl(int,unsigned long,void *_LIBC_UNSAFE_INDEXABLE,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
#define SYNC_VOLUME_FULLSYNC 0x01 /* Flush data and metadata to platter, not just to disk cache */
#define SYNC_VOLUME_WAIT 0x02 /* Wait for sync to complete */
lib/libc/include/any-macos-any/utime.h
@@ -58,9 +58,12 @@
#ifndef _UTIME_H_
#define _UTIME_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_time_t.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
struct utimbuf {
time_t actime; /* Access time */
time_t modtime; /* Modification time */
lib/libc/include/any-macos-any/utmpx.h
@@ -60,6 +60,7 @@
#ifndef _UTMPX_H_
#define _UTMPX_H_
+#include <_bounds.h>
#include <_types.h>
#include <sys/time.h>
#include <sys/cdefs.h>
@@ -70,6 +71,8 @@
#include <sys/_types/_uid_t.h>
#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */
+_LIBC_SINGLE_BY_DEFAULT()
+
#define _PATH_UTMPX "/var/run/utmpx"
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
lib/libc/include/any-macos-any/wordexp.h
@@ -47,13 +47,16 @@ WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
#define _WORDEXP_H
#include <sys/cdefs.h>
+#include <_bounds.h>
#include <_types.h>
#include <sys/_types/_size_t.h>
#include <Availability.h>
+_LIBC_SINGLE_BY_DEFAULT()
+
typedef struct {
size_t we_wordc;
- char **we_wordv;
+ char *_LIBC_CSTR *_LIBC_COUNT(we_wordc) we_wordv;
size_t we_offs;
} wordexp_t;