libc: update macOS headers to SDK 15.5

This commit is contained in:
Linus Groh 2025-05-31 13:48:50 +01:00 committed by Alex Rønne Petersen
parent 1a08c83eb3
commit c907866d55
107 changed files with 1994 additions and 967 deletions

View File

@ -1 +1 @@
{"MinimalDisplayName":"15.2"}
{"MinimalDisplayName":"15.5"}

View File

@ -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 ]
...

View File

@ -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

View File

@ -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,26 +135,39 @@
#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_BRIDGEOS
#ifndef __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION
#define __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION 100000
#endif
#ifndef __API_TO_BE_DEPRECATED_DRIVERKIT
#define __API_TO_BE_DEPRECATED_DRIVERKIT 100000
#endif
@ -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__ */

View File

@ -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__ */

View File

@ -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__ */

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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__ */

View File

@ -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_ */

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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_ */

View File

@ -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_ */

View File

@ -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);

View File

@ -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_ */

View File

@ -25,6 +25,9 @@
#define __PRINTF_H_
#include <sys/cdefs.h>
#include <_bounds.h>
_LIBC_SINGLE_BY_DEFAULT()
__BEGIN_DECLS

View File

@ -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 */

View File

@ -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

View File

@ -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 */

View File

@ -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);
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 *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);
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

View File

@ -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 */

View File

@ -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);

View File

@ -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)))

View File

@ -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 */

View File

@ -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 */

View File

@ -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.
*/

View File

@ -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_ */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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__ */

View File

@ -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
/*

View File

@ -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)

View File

@ -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) \

View File

@ -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 */

View File

@ -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);

View File

@ -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

View File

@ -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. */

View File

@ -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. */

View File

@ -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__ */

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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);

View File

@ -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
**

View File

@ -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_ */

View File

@ -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 ;
/*

View File

@ -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,21 +1335,29 @@ 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
#ifndef __OPEN_SOURCE__
#endif /* __OPEN_SOURCE__ */
#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__
/* Known values for the tool field above. */
#define TOOL_CLANG 1
#define TOOL_SWIFT 2

View File

@ -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
*/

View File

@ -73,8 +73,30 @@
#define ARM_PAGEIN_STATE 27
/* 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 29 /* This must be updated to 1 more than the highest numerical state flavor */
#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

View File

@ -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()

View File

@ -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

View File

@ -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];

View File

@ -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.
*/

View File

@ -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).

View File

@ -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 */

View File

@ -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 */

View File

@ -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)

View File

@ -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

View File

@ -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__ */

View File

@ -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;

View File

@ -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 */

View File

@ -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__

View File

@ -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

View File

@ -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__ */

View File

@ -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 */

View File

@ -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,

View File

@ -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

View File

@ -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];

View File

@ -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,26 +4966,6 @@ 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) {
return x.x + x.y;
}
static inline SIMD_CFUNC float simd_reduce_add(simd_float3 x) {
return x.x + x.y + x.z;
}
static inline SIMD_CFUNC float simd_reduce_add(simd_float4 x) {
return simd_reduce_add(x.lo + x.hi);
}
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);
}
static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long2 x) {
return x.x + x.y;
}
@ -5018,6 +4998,50 @@ 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 _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 float simd_reduce_add(simd_float2 x) {
return x.x + x.y;
}
static inline SIMD_CFUNC float simd_reduce_add(simd_float3 x) {
return x.x + x.y + x.z;
}
static inline SIMD_CFUNC float simd_reduce_add(simd_float4 x) {
return simd_reduce_add(x.lo + x.hi);
}
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);
}
static inline SIMD_CFUNC double simd_reduce_add(simd_double2 x) {
return x.x + x.y;
}

View File

@ -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

View File

@ -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 */

View File

@ -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:

View File

@ -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_ */

View File

@ -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 */

View File

@ -462,4 +462,5 @@ int unmount(const char *, int);
int getvfsbyname(const char *, struct vfsconf *);
__END_DECLS
#endif /* !_SYS_MOUNT_H_ */

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -124,6 +124,8 @@
/* range: -20 - 20 */
/* (PRIO_MIN - PRIO_MAX) */
#endif /* __DARWIN_UNIX03 */
#endif /* !_ANSI_SOURCE */
#endif /* !_SYS_SYSLIMITS_H_ */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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)

View File

@ -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;

View File

@ -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))

View File

@ -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.
*/

View File

@ -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

View File

@ -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_ */

View File

@ -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

View File

@ -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);

Some files were not shown because too many files have changed in this diff Show More